When your business spans Malaysia, Singapore, and Indonesia, your invoicing platform becomes a tax compliance checkpoint. Get the tax code wrong on a single invoice, and you're not just out of pocket—you're exposed to audit flags, rejected submissions, and customer disputes. We tested three platforms that claim to handle all three countries: FreshBooks, Xero, and Wave. We created real invoices with mixed service types, digital goods, and cross-border scenarios. Here's what actually passed compliance rules and where the market leaders fail. The three tax regimes, mapped Before testing platforms, you need to understand what each country requires: Malaysia SST (Service and Sales Tax) 6% on services and digital goods —but only if you exceed RM500K annual turnover and register voluntarily or by threshold Tax exemptions matter: financial services, insurance, education, healthcare are exempt in most cases Cross-border digital services: if you sell to a Malaysian non-resident, SST may not apply; if they're resident, it does Invoice format: must show tax registration number (TRN), tax amount, and service category code Real-time validation: Malaysia's LHDN portal does not yet auto-validate invoices like Indonesia, but audits cross-check against TRN and turnover thresholds Singapore GST (Goods and Services Tax) 8% flat rate —simpler than Malaysia, but zero-rated exports to non-residents require proof of residency Threshold: GST registration required if annual turnover exceeds SGD 1M Invoice must show: GST registration number, tax rate, tax amount, and invoice number in sequence ACRA (Accounting and Corporate Regulatory Authority) audits check invoice number sequences; gaps or duplicates trigger review No real-time validation: but invoice number discontinuities are caught during GST returns Indonesia e-Faktur (Electronic Invoicing) 10% standard VAT —but some goods and services are exempt or zero-rated LHDN real-time validation: invoices must be submitted and approved within 30 days of issue; rejection blocks resubmission of the same number NPWP (tax ID) and customer NPWP both required on the invoice; mismatches or inactive NPWPs trigger instant rejection Invoice number format locked: sequential by month, no gaps allowed; out-of-sequence numbers are rejected outright Proof of delivery: for B2B transactions, Faktur must match shipping documents or customer attestation Testing methodology: three invoicing scenarios We created three test invoices in each platform to stress their tax logic: Scenario 1 (Malaysia SST): A Malaysian web design agency invoicing a local tech startup. Service category: IT consulting. Turnover status: above RM500K (SST-registered). Expected: 6% SST applied, tax code stored, invoice shows TRN and service category. Scenario 2 (Singapore GST): A Singapore logistics firm invoicing a non-resident business in Thailand. Expected: 0% GST (export), invoice flags export status, GST reg number shown, invoice number in sequence. Scenario 3 (Indonesia e-Faktur): An Indonesian software company invoicing a government agency (B2B). Expected: 10% VAT, both NPWPs shown, invoice submitted to LHDN within the platform, sequential numbering enforced, rejection handling built in. FreshBooks: strong on Malaysia, weak on Indonesia SST (Malaysia): FreshBooks correctly lists Malaysia as a jurisdiction and offers SST as a tax type. You can set tax codes per customer (registered vs. unregistered), and the platform calculates 6% for services. TRN field is available and displays on the invoice PDF. Verdict: Pass GST (Singapore): GST is selectable, 8% rate is correct, and invoice numbering is sequential by default. However, there is no explicit field for marking an invoice as zero-rated export; the platform requires you to manually adjust the tax rate to 0% and add a note. ACRA would accept this, but it relies on user discipline rather than system enforcement. Verdict: Pass with friction e-Faktur (Indonesia): This is where FreshBooks breaks down. There is no native LHDN integration—you cannot submit invoices directly to Indonesia's tax authority from FreshBooks. You must export invoices and upload them manually to the LHDN portal. FreshBooks does not validate NPWP format, does not enforce sequential numbering by month, and does not reject invoices that fail LHDN rules. We tested this: an invoice with a malformed NPWP passed validation in FreshBooks but failed at LHDN submission. Verdict: Fail Xero: passes all three, but at compliance cost SST (Malaysia): Xero treats SST as a standard tax type and provides preset tax codes for Malaysia. The platform correctly applies 6% to services and 0% to exempt categories (e.g., financial services if you flag them). TRN field is present. Invoice PDF displays tax registration and amount clearly. Verdict: Pass GST (Singapore): Xero's Singapore setup is robust. GST is 8%, invoice numbering is enforced sequentially, and Xero offers a dropdown to mark invoices as zero-rated exports. The platform st