Indonesia's Directorate General of Taxes (LHDN) is making e-Faktur issuance mandatory for all registered businesses by Q2 2025. Unlike the previous phased rollout, non-compliance now means automatic invoice rejection—and that includes any NPWP (Nomor Pokok Wajib Pajak, Indonesia's tax ID) mismatch between your invoice and the LHDN registry. If your software doesn't validate NPWP in real-time or generates invalid XML, you'll find out the hard way: rejected batches, cash flow delays, and audit friction. The time to test is now, not April. Why NPWP mismatches matter more than you think An NPWP mismatch sounds like a data entry problem. It's not. When you submit an e-Faktur to LHDN, the system cross-checks the seller's NPWP, buyer's NPWP (if registered), and the invoice serial number against the live registry. If the NPWP doesn't match a registered entity or the format is wrong, the entire batch fails—not just that invoice. We've seen teams submit 50 invoices only to have the batch rejected because one buyer's NPWP was mistyped or belonged to a company that deregistered. The penalty isn't just a resubmission delay; it's also audit exposure and VAT settlement complications if the invoices aren't formally recognized by LHDN. Real-time NPWP validation is the only way to catch these before submission. Batch validation after the fact costs days. Audit your invoicing software: five critical checks 1. Does it validate NPWP format and registry status in real-time? Your software should reject or warn you about an NPWP the moment you enter it—not after you've created 20 invoices. Check whether your platform: Validates the 15-digit NPWP format (eight digits for entity ID, six for branch ID, one for check digit) Checks the LHDN registry via API (not just format checks) Flags NPWPs that belong to deregistered companies Lets you override for edge cases (resellers, new registrations) with a documented exception log Xero's Indonesia module does real-time NPWP validation if you've enabled the LHDN integration, but only in certain regions; Zoho Books requires manual LHDN sync; Wave doesn't support NPWP validation at all; Orin's invoicing module validates NPWP against your uploaded registry and flags mismatches before submission. If your software only warns after XML generation, you're already late. 2. Does it generate valid e-Faktur XML? E-Faktur is an XML structure. LHDN won't accept invoices exported as PDF or custom formats—only valid, signed XML files. Test whether your software: Exports e-Faktur XML that passes LHDN schema validation (use the free validator on faktur.pajak.go.id ) Includes all mandatory fields: seller NPWP, buyer NPWP (if registered), invoice date, amount, tax code, serial number Generates the correct tax code mapping for your goods or services (not all businesses use the same codes) Includes digital signatures (if required for your classification) Create a dummy invoice in your software right now, export it as XML, and run it through the LHDN validator. If it fails, you have a bigger problem than you thought. 3. Does it enforce serial number sequencing? E-Faktur requires unbroken serial number sequences per month. If you skip a serial or submit out of order, the batch fails. Check whether your software: Auto-generates sequential serial numbers and prevents gaps Locks past months' serial ranges (so you can't retroactively add an invoice to March after you've moved to April) Allows multiple series (e.g., one for retainers, one for project invoices) without breaking the sequence Warns you if you manually override a serial number Zoho Books handles serial sequencing well; Xero requires careful configuration; Wave doesn't. If your software treats invoice numbers like accounting entry numbers (flexible, manual), you'll have to build a workaround or accept rejection risk. 4. Does it map tax codes correctly for your industry? Indonesia's tax code structure depends on what you sell. A software developer's tax code differs from a retailer's; cross-border services have their own rules. Your invoicing software should: Let you pre-configure tax codes for each product or service type Show the tax code on every invoice line (not hidden in a config table) Allow exceptions for invoices that don't fit the standard rule Warn if you're using a code that LHDN has deprecated Many platforms ship with generic tax code templates that don't match your business. Xero and Orin let you customize; QuickBooks Online has limited flexibility for Indonesia-specific codes. 5. What's the API latency between your CRM, invoicing system, and LHDN submission? If you're pulling customer data from a CRM to generate invoices, latency matters. An NPWP update in your CRM may not reach your invoicing software for 15 minutes or more. If your software then submits to LHDN, the registry check is stale. Test: How long it takes for a contact update in your CRM to sync to your invoicing tool Whether NPWP validation happens after the sync completes or before