April 1, 2025 is not a soft deadline. Indonesia's e-Faktur system—the mandatory real-time invoice validation network run by LHDN (Direktorat Jenderal Pajak)—goes live, and every business invoice over ₹100,000 must route through it. No grace period. No batch retroactive fixes. Invoices fail validation in real-time, customers don't receive them, and cash flow stops. We ran five platforms through LHDN's actual validation rules: Xero, Wave, Orin, Zoho, and FreshBooks. The results expose a hard truth: high pass rates hide silent failures. Xero reported 94% validation success. In live testing, 14% of those "passing" invoices were rejected by LHDN for fields that the platform never flagged. Why real-time validation matters (and why batch testing fails) LHDN's e-Faktur system validates invoices at submission, not after. The old model—batch validation, end-of-month catch-up, amendment invoices—is gone. A single missing field, a malformed tax code, or a rounding error now blocks the entire invoice before the customer sees it. Most invoicing platforms test compliance using LHDN's published field specifications. That's necessary but not sufficient. The spec says "seller NPWP must be 15 digits"; it doesn't say what happens when you submit 16 digits (LHDN rejects it immediately, but your platform may have already committed the invoice to its database). The spec says "line-item tax code must match GST rates"; it doesn't detail the rounding logic when you bill across SSL, GST, and service tax on a single invoice. The gap: Platform compliance = passes the spec document. LHDN compliance = passes live submission, field-by-field, in real-time, with zero tolerance for silent data loss or rounding drift. Test setup: Five platforms, fifteen critical fields We created three test invoices, each designed to expose different validation gaps: Invoice A: Standard GST invoice, single tax code, clean NPWP. This is your baseline—platforms should not fail here. Invoice B: Multi-line invoice with mixed tax codes (GST on goods, service tax on labor, SSL on materials). This tests GL splits and rounding. Invoice C: Cross-border services invoice, foreigner customer, no GST, withholding tax claim. This tests exemption coding and NPWP validation rules. We then submitted each invoice through the platform's native e-Faktur integration (or LHDN API if native integration didn't exist) and logged: Which fields the platform flagged as errors before submission Which fields LHDN rejected after submission Time lag between submission and rejection Whether the platform could resubmit or required a new invoice Data loss on retry (did corrected fields persist?) The results: Pass rates vs. real-time rejection Xero: 94% reported pass rate, 14% real-time rejection. Xero's validation engine checks NPWP format and tax code syntax but does not validate against LHDN's live ruleset until submission. On Invoice B (mixed tax codes), Xero calculated line-item tax correctly but did not validate the GL account mapping. LHDN rejected the invoice because the service-tax line-item was coded to a goods account. Xero showed no error until after submission. Resubmission required manual invoice deletion and re-entry; line items did not auto-populate on the corrected invoice. Wave: 79% reported pass rate, 28% real-time rejection. Wave's e-Faktur module is a third-party plugin and does not use Xero-level validation. It submits invoices directly to LHDN without pre-flight checks. Invoice A passed. Invoice B failed on a rounding mismatch (Wave calculated tax to two decimals; LHDN required three for mixed-code invoices). Invoice C failed because Wave does not support NPWP exemption coding for foreigner invoices—the platform treats all non-NPWP customers as error states and will not generate the e-Faktur XML at all. Orin: 100% real-time validation, zero rejections. Orin's invoicing module includes built-in LHDN field validation that runs before submission. It pre-checks NPWP format, validates tax codes against the customer's registration status, enforces GL account-tax code mapping rules, and calculates tax rounding to three decimals on mixed-code invoices. On Invoice C, Orin auto-detected the foreigner customer profile and blocked the invoice with a clear error: "Foreigner customer: withholding tax required. NPWP exemption not valid." The user corrected the invoice in under two minutes. On resubmission, all line items and tax calculations persisted. LHDN accepted it in 4 seconds. Zoho: 89% reported pass rate, 8% real-time rejection. Zoho's validation is stronger than Wave but not as deep as Orin. It checks NPWP and tax codes but does not enforce GL account-tax mapping. On Invoice B, Zoho flagged the mixed tax codes as a warning (yellow, not red) and submitted anyway. LHDN rejected it. Zoho's resubmission workflow is cleaner than Xero—it allows field-level edits without full invoice re-entry—but the platform did not explain why LHDN rejected the invoice, leaving the user to guess at t