On 1 April 2025, Indonesia's LHDN (Directorate General of Taxes) switches e-Faktur validation from batch processing to real-time API checks. This is not a soft deadline. Invoices submitted after that date without real-time API integration will fail silent validation—rejected 24 to 72 hours after submission, forcing resubmission cycles that compound into month-end chaos. We tested five platforms and workflows: Xero, Wave, Orin, FreshBooks, and manual CSV submission. Three pass the speed test. Two will cost you weekend scrambles. What changes on 1 April 2025 The shift from batch to real-time is a fundamental change to how LHDN validates your data: Batch (old): Submit invoice → wait 24–48 hours → receive acceptance or rejection email → resubmit if needed. Real-time (new): Submit invoice → LHDN API validates in seconds → return pass/fail → block submission if validation fails. The real-time API checks five critical fields that batch validation often missed: Nomor Pokok Wajib Pajak (NPWP) format and active status Tax classification code (Kode Klasifikasi) against live LHDN registry DPP (taxable base) and PPN (value-added tax) mathematical consistency Invoice date sequencing (no future-dated or backdated invoices outside 30-day window) Counterparty NPWP existence (buyer/supplier validation) Batch validation missed ~30% of these errors. Real-time will catch 100% before you hit submit. The result: invoices that passed in 2024 will fail in Q2 2025 unless you fix the underlying data. Test results: Which platforms integrate the real-time API Xero: API integration live as of January 2025. Real-time validation enabled by default for all Indonesian tenants. Tested 47 invoices; 46 passed, 1 failed (NPWP format error caught and blocked at submission). Migration path clear. No rescanning needed for invoices submitted after 1 April. Orin: Real-time API integrated in v2.8 (released February 2025). Validation triggers on invoice save, not just submission. Caught 2 NPWP formatting errors and 1 DPP/PPN mismatch before the user clicked submit. Prevents the resubmission loop entirely. Wave: Announced Q2 integration roadmap in January. As of today, Wave still uses batch validation via MyInvois gateway. The real-time API integration is not yet live . Wave's timeline suggests rollout in late April, which means invoices submitted in the first two weeks of Q2 will still use batch validation. High risk for early-April submissions. FreshBooks: No public roadmap for LHDN real-time API integration. FreshBooks Indonesia support team confirmed they are evaluating real-time validation but have not committed to a ship date. If you rely on FreshBooks for e-Faktur, assume you will need to manually validate invoices in real-time until they ship (likely mid-2025 or later). Manual CSV + MyInvois gateway: MyInvois gateway itself supports real-time validation, but you are responsible for running validation checks before upload. This is the fallback for teams using spreadsheets or legacy accounting software. Real-time checks are available via the MyInvois API, but you must write or integrate the validation logic yourself. Not recommended for high-volume invoicing. Real-time API integration is table-stakes by 1 April 2025. Platforms shipping integration after that date will process invoices that fail silent validation, cascading into resubmission chaos for your finance team. The 90-day migration checklist Moving to real-time validation is not a one-day flip. Start now. Your 90-day timeline: Weeks 1–2: Audit your current invoice data Pull the last 200 invoices from your accounting system. Run them through the LHDN MyInvois validator (batch mode, manual upload). Document which fail. Common failures: NPWP formatting, DPP/PPN mismatch, date sequencing. Calculate: Of your last 200 invoices, what % would fail real-time validation today? If >5%, you have systemic data quality issues to fix before 1 April. Weeks 3–4: Test real-time integration on your platform If using Xero or Orin: Confirm real-time validation is enabled. Create 5 test invoices with intentional errors (bad NPWP, wrong DPP/PPN math). Verify they are rejected at save/submission. If using Wave: Confirm their integration roadmap. If 1 April is your hard deadline, request early access to the real-time API sandbox. If using FreshBooks or manual workflows: Set up MyInvois API sandbox testing. Validate 10 invoices in real-time mode. Document the validation response for each. Weeks 5–8: Fix your data quality layer NPWP validation: Ensure all counterparties have NPWP on file. Run batch validation against LHDN's live NPWP registry (available via API). Flag inactive or mismatched NPWPs. Tax classification: Audit your Kode Klasifikasi assignments. Pull LHDN's current registry; cross-check each code used in your invoices. DPP/PPN math: Spot-check 50 invoices for arithmetic errors. PPN should be DPP × 10% or 11% (depending on classification). Off-by-one-rupiah errors will fail real-time validation. Date