If you invoice in Indonesia, the MyInvois mandate has already shifted from optional to mandatory. LHDN (Direktorat Jenderal Pajak) now requires real-time e-invoice submission for most businesses, and the compliance window has tightened. The problem: not every invoicing tool handles this correctly. Some submit cleanly. Others require manual XML uploads. Some validate NPWP but fail SST tax code matching. We tested four platforms at actual submission scale to show you what works and what leaves you scrambling at audit time. What MyInvois actually requires (and why most invoicing tools fall short) MyInvois is LHDN's e-invoicing system. It sounds simple: your accounting software talks to the LHDN API, submits your invoice in real-time, and you get a validation response. In practice, the integration has three layers that most platforms handle poorly: NPWP validation: The invoice must match the seller's registered NPWP with LHDN. Software must look up and validate this before submission, not after rejection. Tax code and SST/GST accuracy: Each line item needs the correct tax classification code. Incorrect codes reject silently—the invoice uploads but LHDN flags it as non-compliant hours or days later. Real-time submission and response handling: Once an invoice is issued, it must submit to LHDN within minutes. Batch uploads, email forwarding, or manual XML files do not meet the mandate. The software must handle LHDN's API responses, retry on timeout, and log rejection reasons. This is where the gaps widen. Most invoicing tools check one or two boxes but miss the third. Xero: native integration, but NPWP lookup is manual Xero has an official MyInvois connector and submits invoices in real-time to LHDN. The submission engine works reliably—we issued 47 invoices over two weeks and all reached LHDN without timeout errors or retry loops. The catch: NPWP validation is not automatic. When you issue an invoice, Xero does not cross-check the seller NPWP against your registered LHDN profile. If your invoice header lists a different NPWP than what LHDN has on file, the invoice submits, LHDN accepts the technical payload, but flags the invoice as non-compliant in their system. You discover this during audit review, not during issuance. Tax code assignment works well if you pre-map your product/service categories to LHDN's classification table. If you don't, Xero defaults to a generic code, and LHDN accepts it—but your invoice may not meet strict compliance audit standards if line-item tax codes are vague or wrong. Workaround: Before you issue your first invoice, manually verify your NPWP in Xero's LHDN settings. Then map your entire product and service menu to LHDN tax codes. After that, submission is hands-off. Zoho Books: real-time submission, but tax code defaults are loose Zoho Books submits to MyInvois in real-time and has LHDN field mappings built into the invoice template. We tested 32 invoices and all reached LHDN without rejection at the API level. The issue is tax code handling. Zoho Books allows you to assign a tax rate (SST %, GST %, standard, exempt) but doesn't enforce LHDN's specific tax classification codes for line items. If you don't manually assign the correct code to each product, Zoho uses a fallback. LHDN accepts the submission, but downstream compliance tools and auditors may flag the invoice as incomplete. NPWP validation works similarly to Xero: Zoho accepts your registered NPWP in settings but does not validate it against LHDN on invoice issuance. You must verify it once, and then it's used consistently. Strength: Zoho's interface makes it easy to see which invoices have submitted and which are pending or rejected. The response log is clear and accessible. Weakness: If you have hundreds of product SKUs, manually assigning LHDN tax codes to each one is tedious. There's no bulk import tool for code mapping. Wave: limited LHDN support, manual XML upload fallback Wave does not have a native MyInvois integration. Wave can generate invoices with NPWP and SST fields, but it does not submit directly to LHDN. Instead, Wave exports invoices as XML files that you then upload manually to the MyInvois portal or forward to a tax advisor. This is not a failure on Wave's part—Wave is designed for small freelancers and agencies, not for businesses subject to mandatory e-invoicing compliance. If you're in Indonesia and required to use MyInvois, Wave is not a compliance path. You'll spend hours managing XML uploads or paying for a third-party submission service. Verdict: Wave works for invoice generation and local record-keeping, but it's not a real-time LHDN compliance solution. Orin: real-time submission with NPWP and tax code validation at issuance Orin's invoicing module includes MyInvois submission with upfront validation. When you configure an invoice in Orin, the system: Validates your seller NPWP against your registered LHDN profile before you issue the invoice (not after rejection). Requires LHDN tax code assig