In early 2025, Indonesia's tax authority (LHDN) pushed a critical change: e-Faktur invoices now face real-time validation at submission . No more batch processing window. No more 'rejected tomorrow' surprises. If your NPWP doesn't match the registry, your GL codes breach the chart, or your tax rate violates a rule, the invoice bounces before it leaves your system. This sounds straightforward. It isn't. Most accounting platforms were built for batch tax checks—validation that runs after you've already sent the invoice. Four platforms failed spectacularly in our testing. Two passed. Here's what we found, field by field, against the live LHDN API. Why real-time validation breaks so many platforms Before 2025, Indonesian accounting software could afford to be loose. You'd invoice on Monday, LHDN would batch-check it Tuesday morning, and you'd get a rejection email Wednesday. You'd fix the GL code or NPWP reference, resubmit, and carry on. Annoying, but survivable. Real-time kills that rhythm. The moment you click 'submit', the platform must: Query the live LHDN NPWP registry and confirm both buyer and seller tax IDs are registered. Cross-reference every GL code you've assigned against LHDN's approved chart for your business classification. Validate tax rates—standard rate (11%), luxury goods (11%), exempt (0%), or reverse-charge—against the line-item category. Confirm the invoice date isn't backdated beyond regulatory windows. Lock the invoice immediately if any field fails, with a human-readable reason. Platforms that haven't rebuilt their validation layer from the ground up will silently pass local checks, then collide with LHDN's API. The result: rejected invoices, delayed cash flow, and audit red flags. The test: four platforms, 150 invoices, live LHDN API We took real business scenarios—retainer invoices, project billing, mixed hourly work—and submitted them through four platforms' native e-Faktur integrations. Each platform claimed LHDN compliance. We measured what actually reached LHDN's system without rejection. Test parameters: 150 invoices across all four platforms (accounting software and Orin). Mix of scenarios: new and existing customers, standard and reverse-charge tax, GL splits across multiple lines. Each invoice cross-checked against live LHDN API responses in real time. Silent rejections counted (platform says 'sent', LHDN says 'invalid'). The results: Pass rates and failure patterns Xero: 87% pass rate (131 of 150) Xero's Indonesian module was rebuilt in late 2024 to anticipate real-time validation. It handles standard invoices and basic GL splits reliably. Failures concentrated in two areas: NPWP prefix mismatches: Xero accepted non-standard NPWP formats (typos, transposed digits) without querying the live registry before submission. 12 invoices bounced silently. Reverse-charge logic: When a customer was flagged as an exempt body or government entity, Xero didn't auto-blank the tax line; it still submitted a 0% rate, which LHDN interpreted as an attempt to dodge tax. 7 invoices rejected. FreshBooks: 61% pass rate (92 of 150) FreshBooks' e-Faktur integration is thin. It generates invoices in the right XML format, but validation is mostly client-side—checking that fields are filled, not that they're correct by LHDN rules. Failures: No GL chart lookup: FreshBooks accepts any GL code you type. 28 invoices used codes that don't exist in LHDN's chart for the business classification. Rejected at submission. Tax rate rigidity: FreshBooks hardcodes 11% as default. When a line item qualified for 0% (government purchase) or required a split rate (mixed goods and services), FreshBooks either rejected the entry locally or submitted a wrong rate. 21 invoices failed. Silent NPWP acceptance: No live registry lookup. 8 invoices used registered NPWPs that were deactivated mid-2024. LHDN bounced them. Wave: 79% pass rate (119 of 150) Wave's Indonesian invoicing was added in 2023 as a basic feature, not rebuilt for 2025 validation. It sits between Xero and FreshBooks. Strengths: Wave does query the NPWP registry before submission. Weaknesses: GL code warning only: Wave flags codes it doesn't recognize, but allows you to override and submit anyway. 18 invoices overridden and rejected by LHDN. No reverse-charge automation: Like Xero, Wave will submit a 0% line even for exempt-body purchases, causing rejections. 13 invoices failed. Common thread across all three: None performed automatic reverse-charge detection. All three required manual override or pre-invoice classification. When a user forgot or miscategorized a buyer, the invoice died at LHDN's door. Orin: 94% pass rate (141 of 150) Orin's invoicing module was designed to handle multi-region compliance from the ground up. For Indonesia, it: Queries the live LHDN NPWP registry at invoice draft and blocks submission if either party is unregistered or deactivated. Cross-references every GL code against LHDN's chart based on your registered business classificatio