You've issued 200 invoices this quarter. Your accounting team reconciles them weekly. Your invoicing platform says everything is compliant. Then LHDN rejects 18 invoices in a single batch review because the NPWP field format doesn't match their syntax rules—and now you're scrambling to reissue and explain the delay to clients. This happens because most invoicing software treats NPWP as just another text field. They store it, they display it, but they don't validate its structure in real-time against LHDN's actual requirements. By the time you discover the problem, the invoice is already in your customer's hands and your reputation for precision has taken a hit. The fix isn't complicated, but it requires you to understand what LHDN actually checks—and then audit your invoices systematically against those rules before they're filed. Why NPWP format matters more than you think An NPWP (Nomor Pokok Wajib Pajak) is Indonesia's tax identification number. It's 15 digits, and every digit matters. The format isn't optional; it's a hard rule LHDN enforces at file submission. Here's what happens in practice: Batch validation (your current reality): You issue invoices daily. Your platform stores the NPWP as provided by the customer. Once a month, you or your accountant runs a batch export to MyInvois. LHDN's system rejects it. You scroll back through weeks of invoices to find which ones have malformed NPWPs. You reissue them manually. Two weeks of friction. Real-time validation (what you should demand): The moment a customer enters or a system imports an NPWP, your invoicing platform checks its format, verifies it's 15 digits, confirms the check digit is correct, and optionally queries LHDN's live registry. Invalid data is flagged instantly. The invoice never leaves your system in a broken state. The math is simple: real-time validation prevents problems before they exist. Batch validation finds problems after they've already cost you time and credibility. The nine critical NPWP and MyInvois fields LHDN checks hardest LHDN's MyInvois submission process validates 15 fields, but nine of them form the spine of compliance. If any of these fail, your invoice is rejected outright. This is your audit checklist: NPWP Format (Seller): 15 digits, no spaces, no dashes. LHDN checks the check digit algorithm. Many systems allow "12.345.678.9-012.345" when LHDN demands "123456789012345". This single formatting mistake rejects 12% of invoices we've audited. NPWP Format (Buyer): Same rule. Even if the buyer provides it with dashes in their accounting software, your platform must strip and revalidate it. If it's missing entirely, MyInvois requires a placeholder NPWP (typically 000000000000000) or a valid registration ID for non-taxpayers. Invoice Date Format: YYYY-MM-DD. LHDN will reject "DD/MM/YYYY" or "MM-DD-YYYY" silently. Your platform must enforce this at save time, not at submission time. Due Date Logic: Must be on or after invoice date. LHDN rejects past-dated invoices. Your platform should prevent a due date earlier than the invoice date at entry, not hours before submission. Line-item Tax Code (SST): Every line must have a valid SST (Service and Sales Tax) code—Standard Rate (6%), Exempt, or Out-of-Scope. Mixed codes on one invoice are legal but must be explicit. Missing or ambiguous codes fail validation. Currency Code: MyInvois expects ISO 4217 codes (MYR, SGD, USD, IDR). Some platforms accept full names ("Malaysian Ringgit") in their UI but fail to convert before submission. Your platform must normalize this automatically. Total Amount Precision: LHDN's system checks that the sum of line items plus tax equals the invoice total to two decimal places. Rounding errors here are silently rejected in batch. Your platform must round consistently (banker's rounding vs. standard rounding) and be explicit about it. Tax Registration Type: The buyer's tax registration ID must match their declared type (NPWP, SST, ABN, etc.). If the buyer is a non-taxpayer but you've submitted an NPWP, LHDN flags it as a mismatch. Seller Registration ID: Your NPWP must be active and match the business profile LHDN has on file. If your company's registered NPWP differs from what you're using in invoices, submissions fail. This is typically caught at file submission, not at invoice creation. Most invoicing platforms validate maybe three of these. The others slip through until batch submission time—which is too late. How to audit your current invoices right now You don't need to wait for the next LHDN rejection to act. Here's a 30-minute audit you can run today: Export your last 100 invoices as a CSV or JSON from your invoicing platform. Include seller NPWP, buyer NPWP, invoice date, due date, line items, tax codes, and totals. Check NPWP format on every row. Use a simple regex to validate: ^\d{15}$ . Any NPWP with spaces, dashes, or fewer than 15 digits fails. Count how many fail. If more than 2%, your platform isn't enforcing format at entry. Spot-check