Your invoice passes your internal checks. Your accountant approves it. Then LHDN's MyInvois system rejects it without explanation—or worse, accepts it silently and flags it three weeks later during audit season. The problem: LHDN doesn't broadcast its validation rules. Five specific fields cause 70%+ of rejections, but the error messages are vague or missing entirely. This checklist isolates those five fields, shows you exactly what LHDN expects, and gives you a pre-submission validation workflow that stops rejections cold. Field 1: Supplier TIN Format (No spaces, no dashes) LHDN expects your company's Tax Identification Number (TIN) in one exact format: 12 digits, no spaces, no dashes, no hyphens. What gets rejected: 12-345-678-901 (hyphens) 12 345 678 901 (spaces) TIN: 12345678901 (prefix text) 12345678 (only 8 digits; LHDN expects 12) What passes: 123456789012 (exactly 12 digits, no formatting) Many accounting platforms auto-format TIN with dashes for readability. When you export to MyInvois, the dashes stay. Your invoice then fails validation on field entry. Check your invoicing system's TIN field settings: disable auto-formatting, or strip formatting before export. Remediation: Run a batch query on all supplier TINs in your system. Extract the 12-digit string, remove any non-numeric characters, and validate length == 12. Flag anything else for manual correction before next submission batch. Field 2: Document Date vs. Issue Date (Sequence matters) MyInvois requires three dates, and they must be in sequence: Document Date: Invoice creation date Issue Date: Date invoice legally issued (usually same, sometimes later) Due Date: Payment due date (must be after Issue Date) LHDN rejects if: Issue Date is before Document Date (impossible; LHDN flags logic error) Due Date is before or equal to Issue Date (violates payment terms logic) Any date is in the future relative to submission date (pre-dated invoices) This is the second-most-common rejection because many teams batch-create invoices with a Document Date, then issue them days later with a different Issue Date. If your team manually corrects Issue Date in Excel before upload, date logic breaks. Remediation: Enforce a rule in your invoicing system: Issue Date defaults to today's date at save. Document Date should match Issue Date unless you have a legitimate delayed-issue workflow (uncommon). For batch uploads, validate that Document Date ≤ Issue Date ≤ Due Date before touching MyInvois. Field 3: Line Item Amount vs. Quantity × Unit Price (Decimal mismatch) MyInvois performs real-time math on every line item: Line Amount = Quantity × Unit Price Rounding rules matter. LHDN expects: Unit Price: up to 4 decimal places (RM1.2345 is OK; RM1.23456 fails) Line Amount: exactly 2 decimal places for MYR (RM1234.56, not RM1234.5 or RM1234.567) A common failure: your GL shows RM10,234.57, but the line item math (5 × RM2046.914) produces RM10,234.570. LHDN rejects the decimal precision mismatch. Another trap: quantity is 1.5 units (legitimate for material invoices), unit price is RM1000.00. Line Amount = 1500.00. But if your system rounds mid-calculation or truncates, it might show 1499.99. LHDN flags the RM0.01 gap. Remediation: Before export, run a line-by-line audit. For each line: recalculate Line Amount = Quantity × Unit Price with 2 decimal places. Flag any deviation >RM0.01. Correct the source data (adjust unit price or quantity slightly) to match. Use a system that enforces decimal precision on entry , not on export. Field 4: Tax Code Classification (Wrong code for your item type) Malaysia's tax code system (Service Tax Code, Sales and Service Tax code) depends on what you're selling. LHDN's MyInvois validator checks the code against item classification. Common mismatches: Professional service marked as "Goods" (should be "Service") Software license marked with no tax code (should have Service Tax Code) Consulting hours marked as "Standard Rated" when it should be "Exempt" under professional services Mixed invoice with goods (SST) and services (Service Tax) but only one tax code used for all lines MyInvois doesn't always reject on field entry; it silently accepts the invoice but flags it during LHDN's post-submission audit. Three weeks later, you get a correction notice. Remediation: Create a lookup table: Item Type → Correct Tax Code. During invoice creation, enforce this rule. For mixed invoices (goods + services), separate line items by tax treatment and apply the correct code to each. Before batch export, sample 10 random invoices and manually verify tax code matches item description. If your invoicing system lacks this logic, add a manual validation step in spreadsheet form before MyInvois upload. Field 5: Discount, Allowance, Charge Fields (Format and negative sign placement) MyInvois allows line-item discounts, allowances, and additional charges. The format is strict: Discount Amount: Positive number; LHDN subtracts it (not RM-100; use RM100) Allowance Amou