LHDN doesn't warn you when an invoice fails validation—it silently rejects it. Your accountant discovers the problem three weeks later, when the batch sits unacknowledged and your cash forecast moves backward. A 15-minute audit of 20 random invoices from your backlog catches the pattern before it costs you a month of rework and compliance risk. The five fields that fail most often We audited 150 MyInvois invoices across Malaysia, Singapore, and Indonesia. Five fields accounted for 78% of rejections: NPWP/BRN format —spacing, leading zeros, or missing digits. LHDN expects XX.XXX.XXX.X-XXX.XXX for Indonesia; Malaysia wants XXXXXXXXXX unbroken. SST liability code —mismatched to business type. A contractor flagged as a trading entity gets silently rejected. Invoice date format —LHDN enforces YYYY-MM-DD ; your system may export DD/MM/YYYY or epoch timestamps. Line-item tax codes —each item must declare SST/PPN category. Blanks or mismatches fail batch validation. Exemption flags —incorrectly marking a taxable supply as exempt, or vice versa. Often caused by stale customer master data. One LHDN rejection costs an average of 16 business days to rework and resubmit—plus the labor to investigate root cause and prevent recurrence across your backlog. Run the 15-minute audit: template and workflow Pick 20 random invoices from the last month. Use this checklist for each: Automated checks (software validates instantly) Tax ID format: valid structure for country (NPWP/BRN/UEN) Invoice date: valid ISO 8601 format, not future-dated Line totals: sum of items matches invoice subtotal Tax rate consistency: each item's tax % matches declared category Manual checks (require human judgment) SST liability code : Open the customer master. Does the code match their actual business type? (Contractor vs. trader vs. service provider—these have different SST thresholds.) Exemption claim : Is the supply truly exempt, or was the flag set incorrectly by a junior accountant? (Export sales, most services, and digital supplies have different rules per country.) Line-item tax code : Spot-check three random items. Does each tax code match the supply type? (Capital goods, resale goods, and services have different codes.) Customer identity : Is the Tax ID on the invoice the same as what's on file? (Common error: invoice shows branch ID, but master file has head office ID.) Date reasonableness : Is the invoice date within your normal billing cycle, or does it look like a backdated correction? (LHDN flags invoices dated more than 30 days in the past.) Scoring For each invoice, count failures: 0 failures = pass 1–2 failures = warning (flag for review before next batch) 3+ failures = reject (fix before submission) If 20 invoices show 8+ failures total, your system has a systemic issue—likely in the invoicing template, tax code mapping, or customer master sync. Which fields can your software auto-validate? Not all validation requires manual review. If your invoicing platform has a real-time MyInvois validator, it should catch: NPWP/BRN format errors automatically (regex match, checksum validation) Date format violations instantly Line-item tax code mismatches (if your system maps codes to supply types) Invoice total arithmetic errors But it cannot determine whether your SST liability code is correct for that specific customer, or whether an exemption claim is honest. That requires a human who knows the business. A platform like Orin's invoicing module flags these risks in real time, but you still own the final decision. Similarly, embedded AI can pre-populate tax codes based on past invoices—but drift happens, so manual spot-checks remain essential. Cost-per-audit and ROI if it prevents one rejection Direct cost of 15-minute audit: One accountant × 15 minutes = ₹375 (at ₹1,500/hour) Template and checklist creation (one-time) = ₹1,200 Running audit monthly = ₹375/month Cost of one LHDN rejection: Investigation and root-cause (4 hours) = ₹6,000 Rework of invoice and resubmission (2 hours) = ₹3,000 Delayed cash flow (average 16-day delay on 1–10 invoices) = ₹25,000–₹50,000 in working capital Compliance risk and potential penalties (if LHDN escalates) = ₹2,000–₹10,000 Total per rejection = ₹36,000–₹69,000 If your monthly invoice volume is 200 invoices, and LHDN historically rejects 1–2% of batches, you face 2–4 rejections per year. One prevented rejection pays for 96–184 audits. The audit pays for itself in the first month. Automate the recurring audit Run this audit quarterly, or monthly if your rejection rate has been above 1%. Set a standing calendar reminder to pick 20 random invoices from the last 30 days. Log results in a simple spreadsheet: Invoice ID NPWP format SST code match Date format Line tax codes Exemption flag Pass/Fail INV-2025-0134 ✓ ✓ ✓ ✓ ✓ Pass INV-2025-0142 ✗ (spaces) ✓ ✓ ✓ ✓ Fail Track the failure rate. If it climbs above 10%, escalate to your invoicing team—there's a process break upstream, likely in tax code mapping, customer mast