You invoice a client in Kuala Lumpur on SST. Next month, you invoice their Singapore office on GST. The following quarter, their Jakarta subsidiary uses PPN. Your invoicing platform sees three different transactions—and one tax code. This is not an edge case. It is the default for any service business, agency, or SaaS founder operating across Southeast Asia. Yet most invoicing tools treat regional tax as a configuration problem, not a structural one. They let you set a global tax rate, or at best, a tax rate per customer. They do not let you set tax rules that respond to the location of the service, the invoice date, the customer's registration status, and the nature of the transaction. We tested Xero, FreshBooks, Wave, and Orin on the one question that matters: can this platform invoice the same service across three countries without manual override on every line item? The three tax systems you actually need to handle Before platform comparison, the rules themselves. Malaysia: Service and Sales Tax (SST) Rate: 6% on services, 6% on goods (as of 2024). Scope: Applies to imported services and digital services supplied to residents. Local B2B services between registered traders can be exempt if documented correctly. The trap: A freelancer invoicing a Malaysian company on a contract signed in KL sees 6% SST. The same freelancer invoicing the client's Singapore subsidiary does not. Your platform must know the invoice location, not just the customer location. Audit trail: MyInvois compliance now requires invoice format that shows tax calculation explicitly. Amended invoices need a clear audit trail linking the original. Singapore: Goods and Services Tax (GST) Rate: 9% (increased from 8% in January 2024). Scope: Applies to supplies of goods and services in Singapore. Overseas services supplied to non-residents may qualify for zero-rating. The trap: If your customer is a Singapore-registered company receiving a service from overseas, you might charge 0% GST if certain conditions are met. Your platform must let you enter the customer's GST registration number and automatically flag zero-rating eligibility. Audit trail: IRAS (Inland Revenue Authority of Singapore) publishes GST ruling guides quarterly. Your system needs version control so you can prove which ruling applied on invoice date. Indonesia: Value Added Tax (PPN) Rate: 11% standard rate; 3% for certain sectors; 0% for exports. Scope: PPN applies to goods and taxable services. Export of services (to non-resident customers) is zero-rated if the NPWP (tax ID) matches the e-Faktur system. The trap: Your platform must validate the customer's NPWP against the e-Faktur registry and automatically flag whether the invoice qualifies for 0%, 3%, or 11%. A single digit error in NPWP should trigger a compliance warning, not silently fail. Audit trail: Indonesia's DJP (tax authority) requires e-Faktur integration. Invoices must be submitted to the e-Faktur system within 30 days. Your platform either integrates directly or exports in a format that will. What each platform does (and doesn't) Xero Xero supports multi-currency and lets you assign a tax type per invoice line. In Malaysia, you can create a custom tax rate for SST. In Singapore, you can set GST to 9%. In Indonesia, you can create a PPN tax rate. The platform does not break here. Where it breaks: Xero assigns tax types to customer locations or line items, not to the combination of customer location + service type + transaction date. If you have a repeating client across three regions, you must manually override the tax on every invoice or create three separate customers (one per region) and use automation rules tied to invoice prefix. Neither is seamless. Audit trail: Xero tracks tax amounts in the invoice PDF and GL posting, but does not store the tax ruling or exemption logic. If you're audited and asked "why was this invoice 0% GST?", Xero shows the rate applied but not the rule that justified it. You need external documentation. Compliance integration: Xero integrates with some regional tax authorities (Australia, UK, New Zealand). For Malaysia, Singapore, and Indonesia, it does not. You export and submit separately. FreshBooks FreshBooks is built for North American small business invoicing. It supports multiple currencies and lets you assign a single tax rate per invoice or customer profile. Where it breaks: FreshBooks does not support conditional tax logic. You cannot say "apply SST if service location is Malaysia, GST if Singapore, PPN if Indonesia." You can set a default tax rate per customer, but overriding it requires manual entry on every invoice. For a recurring client across three countries, this becomes operational overhead that grows with invoice volume. Audit trail: FreshBooks does not offer tax ruling documentation fields. You can add a note to an invoice, but FreshBooks itself does not track why a rate was applied. Compliance integration: None for SEA. You export CSVs and submit to local tax au