✅ Mandatory Fields — Updated January 2026

Malaysia E-Invoice
Mandatory Fields Checklist

Every e-invoice submitted through MyInvois must contain specific structured data. Missing or incorrect fields will cause LHDN to reject the invoice. Use this checklist to ensure your invoices are validated first time, every time.

55Total fields in spec
6Core field categories
100%All fields must be correct
InstantLHDN validation response
72 hrsBuyer rejection window

6 Core Categories of Required E-Invoice Data

LHDN groups the 55+ required e-invoice fields into six core categories. Every category must be complete and accurate for your invoice to pass IRBM validation.

Seller Information

  • Legal entity name (as registered with SSM)
  • Business Registration Number (BRN)
  • Tax Identification Number (TIN)
  • SST/GST Registration Number (if applicable)
  • Business address (street, city, postcode, state, country)
  • Contact number and email
  • MSIC business activity code

Your seller details must exactly match your LHDN/SSM registration. Even a minor name mismatch will trigger a rejection.

Buyer Information

  • Buyer's legal name
  • Buyer's Registration Number (if company)
  • Buyer's TIN
  • Buyer's SST Registration Number (if applicable)
  • Buyer's address (full)
  • Contact number and email

For B2C sales, buyer identification requirements are relaxed for lower-value transactions. For B2B, full details are mandatory.

Invoice Number & Date

  • Invoice Number (unique, sequential — cannot be reused)
  • Invoice Date (transaction date, not payment date)
  • Invoice Time (time of supply)
  • Invoice Type Code (e.g. 01 = Invoice, 02 = Credit Note)
  • Currency Code (e.g. MYR, USD, SGD)
  • Exchange Rate (if non-MYR)

Invoice numbers must not be duplicated across your MyInvois account. The date must reflect the actual date of supply, not when you created the invoice.

Line Item Details

  • Item / service description
  • Item classification code (UNSPSC or custom code)
  • Quantity and unit of measure
  • Unit price (before tax)
  • Subtotal per line item
  • Discount amount (if applicable)
  • Tax type per line item (SST, Service Tax, exempt)
  • Tax rate per line item
  • Tax amount per line item

Each line item must have its own tax classification. Bundling products with different tax rates into one line will cause validation to fail.

Total & Tax Breakdown

  • Pre-tax subtotal
  • Total discount (if any)
  • Total SST / Sales Tax amount
  • Total Service Tax amount (if applicable)
  • Total Tourism Tax (if applicable)
  • Grand total (inclusive of all taxes)
  • Total payable (after any rounding)
  • Payment method (cash, bank transfer, etc.)

Tax totals must exactly match the sum of per-line-item tax calculations. Rounding errors in totals will cause rejection.

QR Code & UIN

  • Unique Identification Number (UIN) — generated by LHDN on validation
  • QR code — links to official LHDN record for this invoice
  • Digital signature (embedded by MyInvois)
  • Validation timestamp

You do not generate the UIN or QR code yourself — LHDN issues these after successful validation. Your job is to ensure all the above fields are correct so the invoice passes.

Key Fields Reference & Common Mistakes

Key Fields Quick Reference

The following table shows the most commonly required fields grouped by category, along with whether they are mandatory (M) or conditional (C — required only in certain circumstances).

FieldCategoryRequired?Notes
Seller TINSellerMMust match LHDN records exactly
Seller BRN (SSM)SellerMCompany registration number
SST Registration No.SellerCRequired if SST registered
MSIC CodeSellerM5-digit activity code from DOSM
Buyer TINBuyerMFor B2B; relaxed for B2C
Invoice NumberInvoiceMUnique, sequential, non-reusable
Invoice DateInvoiceMDate of supply
Invoice Type CodeInvoiceM01=Invoice, 02=Credit Note, 03=Debit Note, 04=Refund
Currency CodeInvoiceMISO 4217 (MYR, USD, EUR…)
Exchange RateInvoiceCRequired for non-MYR invoices
Item DescriptionLine ItemMPer line item
Item ClassificationLine ItemMUNSPSC or custom code
Unit PriceLine ItemMPre-tax
Tax Type Code per LineLine ItemM01=SST, 02=Service Tax, E=Exempt
Tax Rate per LineLine ItemMAs percentage
Tax Amount per LineLine ItemMMust equal unit price × qty × rate
Total Pre-Tax AmountTotalsMSum of all line subtotals
Total Tax AmountTotalsMSum of all per-line taxes
Invoice TotalTotalsMPre-tax + total tax
UINValidationMIssued by LHDN post-validation
QR CodeValidationMGenerated by LHDN post-validation

Most Common Invoice Rejection Causes

Based on implementation experience across Malaysian businesses, these are the most frequent reasons MyInvois validation fails:

  • Seller name mismatch The company name on the invoice does not match the name registered in LHDN's TIN records. Even punctuation differences can cause rejection.
  • Missing MSIC code The MSIC (Malaysia Standard Industrial Classification) code is mandatory but often overlooked in accounting software field mapping exercises.
  • Incorrect TIN format TIN numbers must be in the exact format LHDN expects — typically 'C' prefix for companies, 'SG' for sole proprietors, etc.
  • Line-item tax type errors Setting all items to the same tax code when they have different tax treatment (e.g., mixing SST-exempt and SST-taxable items on the same tax code).
  • Tax calculation rounding Rounding per-line-item taxes to 2 decimal places then summing them may differ from the grand total tax calculation. LHDN expects exact arithmetic match.
  • Duplicate invoice numbers Re-using a previous invoice number, or having a gap and restarting the sequence, will cause the submission to fail or create compliance issues.
  • Currency-exchange rate missing Invoices in foreign currencies without an exchange rate to MYR will be rejected.
  • Invalid classification codes Using a UNSPSC or item classification code that does not exist in the LHDN-approved code list.

Credit Notes and Debit Notes

Credit notes and debit notes issued to correct or adjust a previously validated e-invoice must also go through MyInvois. They must:

  • Reference the original invoice's UIN
  • Use the correct invoice type code (02 = Credit Note, 03 = Debit Note)
  • Contain all the same mandatory fields as a standard invoice
  • Be validated and stamped by LHDN before being shared with the buyer
You cannot simply amend a validated e-invoice. If an error is found after the 72-hour rejection window has passed, you must issue a new credit note or debit note referencing the original — both of which must themselves be submitted to and validated by MyInvois.

Field Mapping — Why It Matters

Most businesses have existing invoice data — but the field names, formats, and data types in your current accounting software may not match what MyInvois expects. "Field mapping" is the process of connecting your existing data fields to the LHDN-required fields in the correct format.

For example:

  • Your software may call it "Company Reg. No." but LHDN requires it formatted as a BRN in a specific pattern.
  • Your "Tax %" field may just store a number, but LHDN needs a tax type code plus a rate value as separate fields.
  • Your address might be stored as one long text field, but LHDN requires street, city, postcode, state, and country as separate structured fields.

Poor field mapping is the single biggest cause of persistent rejection failures after implementation. A proper field mapping exercise done before go-live saves significant time during and after implementation.

Our specialists handle complete field mapping as part of our e-invoicing implementation service — ensuring your software outputs match LHDN's exact requirements from day one. See implementation services →

Get Your Invoices Right — The First Time

Don't waste time debugging rejected invoices. Our implementation team ensures your field mapping, software setup, and test submissions are all correct before you go live on MyInvois.

Free gap assessment. No long-term contracts. Fixed-price implementation quotes.