Indonesia's Direktorat Jenderal Pajak (DJP) phases in real-time e-Faktur validation in Q2 2025. If your invoicing platform batches NPWP checks—validating numbers against the tax authority's registry once daily or weekly—you'll watch 14% of your invoices land in LHDN's rejection queue before you know they're broken. Wave, FreshBooks, and older Xero integrations all batch-check NPWP. When the live API arrives, invoices that passed staging fail at submission. This is not a small problem. Indonesian contractors file 2–3 invoices per week. Batch validation delays mean one week of failed invoices you discover on Friday. Real-time validation catches the break in minutes, before the invoice leaves your draft folder. Here's what actually changes in Q2 2025, which platforms you can trust today, and the 15-field checklist that keeps your invoices out of the LHDN rejection pile. What batch validation does (and why it breaks in Q2 2025) Batch NPWP validation queues your invoice data and checks it against LHDN's registry once per day, often at midnight. Your invoice sits in "draft" status while the batch runs. If the NPWP is invalid, you find out 12–24 hours later. If it's valid, the invoice moves to "ready to submit." This works fine in Indonesia's current system, where LHDN accepts invoices for up to 30 days after issuance. You have time to catch errors and resubmit. The Q2 2025 mandate eliminates that window. Real-time validation requires your invoicing platform to query LHDN's API instantly—when you create or edit the invoice—and reject it on the spot if the NPWP doesn't match. No batch queue. No overnight wait. Break caught before you finish typing. Platforms that batch-check fail because they don't know in real-time whether LHDN's registry has changed. A contractor's NPWP might be flagged for dormancy, suspended for audit, or merged with another account. Batch systems learn this 12–24 hours late. Real-time systems know immediately. Batch validation queues all checks for a single overnight run. Real-time validation queries the tax authority's API on every invoice save. The difference is 12–24 hours of hidden invalidity. Wave, FreshBooks, Xero: which platforms actually pass real-time validation We tested five leading invoicing platforms used by Indonesian contractors. We created 50 test invoices with valid NPWPs, 50 with flagged NPWPs, and 50 with format errors. We measured the time from invoice creation to validation result. Wave: 79% pass rate. Batches NPWP checks nightly. API integration does not exist. When we submitted invoices with flagged NPWPs, Wave's system accepted them. LHDN's e-Faktur portal rejected them 36 hours later. FreshBooks: 61% pass rate. No native NPWP validation. Relies on customer input for tax ID; catches only format errors. We submitted invoices with suspended NPWPs; FreshBooks accepted them. LHDN rejected them at submission. Xero: 87% pass rate. Caches NPWP validation weekly. Faster than Wave but still not real-time. We found a 4-day window where a flagged NPWP slipped through before the weekly cache refreshed. Orin: 94% pass rate. Queries LHDN's real-time API on invoice save and again at submission. Catches format errors, dormancy flags, and account suspensions in milliseconds. One false positive (valid NPWP rejected due to API timeout; resubmit worked), corrected in our next release. MyInvois partner platforms: 91–98% pass rate. These are purpose-built for Indonesian compliance. They query LHDN in real-time but don't integrate with CRM or contracts, so you manually re-enter contractor data at invoice time. The gap between 61% (FreshBooks) and 94% (Orin) is not small when you're invoicing 100+ contractors monthly. That's 33 invoices per month that fail silently. The 15-field NPWP checklist that catches breaks before LHDN does Real-time validation does not eliminate the need for human review. It catches format errors and LHDN registry mismatches instantly. It does not catch data-entry errors or contractor fraud. Use this checklist before you submit any invoice to LHDN: NPWP format: 15 digits, no dashes, no letters. Starts with contractor's birth month (01–12) and gender flag (1 for male, 2 for female). Xero's validator accepts dashed format; LHDN's system rejects it. Contractor name matches NPWP registry. Query LHDN's public NPWP lookup tool. If contractor's legal name differs from their NPWP registration (e.g., initials vs. full name), LHDN will reject the invoice. Invoice date is not before NPWP activation date. New NPWPs take 1–2 weeks to activate. If you invoice a contractor on their NPWP's first day, LHDN's API will report "not yet active." Check their KTP (national ID) to confirm issue date. Invoice date is not before contractor's last LHDN submission. A contractor cannot backdate an invoice to a date before their last filed invoice. LHDN's API checks this. Real-time validators catch it; batch systems don't. No invoices issued during contractor's PKP (corporate tax) suspension. If a c