E-invoice compliance in Malaysia means issuing an e-invoice for every sale from your implementation date, in LHDN's prescribed format, getting each one validated through MyInvois, sharing it with your buyer, and correcting or consolidating it the way the rules require. The obligation sits with you as the issuer — not with LHDN, and not with your software provider.
This page is for businesses that are in scope, or about to be, and want to know two things: exactly what LHDN requires, and how to prepare so those requirements become routine. It sets out the requirements first, then an 11-step preparation checklist with guidance on each step.
What LHDN e-invoice compliance requires
LHDN's e-Invoice Guideline and e-Invoice Specific Guideline set the requirements. Reduced to what a business has to do, and when:
- Issue an e-invoice for every transaction. Sales to businesses, consumers and government. Invoices issued before your date do not need converting. When: from your implementation date.
- Use the prescribed structure. LHDN's data structure, with the required fields — see the 55 MyInvois fields for which are mandatory, conditional and optional. When: every document.
- Submit it for validation. Through the MyInvois Portal or the API. Only a validated e-invoice, with its IRBM Unique Identifier Number, is valid. When: when the sale is concluded.
- Share it with the buyer. The validated e-invoice, or a visual representation carrying its QR code. When: once validated.
- Correct it the right way. Cancel within the window; after that, issue a credit, debit or refund note — see the 72-hour cancellation window. When: within 72 hours of validation, or by adjustment note after.
- Consolidate B2C sales correctly. Where a buyer does not ask for an e-invoice, issue a receipt and include the sale in a consolidated e-invoice. Some activities, and any single transaction above RM10,000 from 1 January 2026, cannot be consolidated outside the interim relaxation period (see below). When: monthly, within 7 calendar days of month end.
- Self-bill where required. In a closed list of circumstances — foreign suppliers, agents and dealers, and others — the buyer issues the e-invoice. See self-billed e-invoices in Malaysia. When: deadlines depend on the circumstance.
- Keep your own records. LHDN stores validated e-invoices, but you are still expected to retain sufficient records of each transaction. When: ongoing.
The compliance checklist, step by step
These are the preparation steps in the order they tend to depend on each other. Detailed guidance on each follows.
| Step | Task | Done when |
|---|---|---|
| 1 | Verify your TIN | Your TIN is confirmed in MyTax and formatted correctly |
| 2 | Confirm your BRN, SST registration and MSIC code | All three match your registrations |
| 3 | Get access to the MyInvois Portal through MyTax | You can log in and see your taxpayer profile |
| 4 | Choose how you will submit | You have decided between the portal and the API |
| 5 | If using the API, set up the connection | An ERP system is registered or an intermediary appointed, and signing is in place |
| 6 | Organise your business profile data | Your supplier details are set up once, exactly as registered |
| 7 | Clean up your customer data | Your regular business customers' TINs and BRNs are collected and checked |
| 8 | Prepare your product and service catalogue | Every item has a classification code, tax type and unit |
| 9 | Run test submissions in the sandbox | Test documents validate end to end |
| 10 | Plan for consolidated and self-billed e-invoices | You know which apply to you and who handles them each month |
| 11 | Train your team | Everyone who bills knows the 72-hour rule and how to correct errors |
Step 1: Verify your TIN
Every business submitting e-invoices needs a Tax Identification Number (TIN) issued by LHDN. If you have been filing taxes in Malaysia, you almost certainly have one. You can check it by logging in to MyTax (https://mytax.hasil.gov.my); if it cannot be retrieved there, LHDN's e-Daftar option in MyTax is the route to register for one.
Your TIN format matters:
- Individual TINs start with IG (this replaced the older SG and OG prefixes).
- Company TINs start with C; other non-individual taxpayers use other prefixes.
- For non-individual TINs, LHDN's SDK asks for any zero immediately after the prefix to be removed, and for a TIN that does not end in 0 to have a 0 added at the end — so
C01234567890is entered asC1234567890, andC123456789asC1234567890.
A TIN that does not match LHDN's records fails validation, so it is worth confirming yours before anything else.
Step 2: Confirm your BRN, SST registration and MSIC code
Your Business Registration Number (BRN) from SSM (Suruhanjaya Syarikat Malaysia) appears on every e-invoice. Check that the BRN and registered name you will use match your SSM records.
The SST registration number is required for SST registrants (the invoice specification marks it mandatory, cardinality [1-1]). If you are not SST-registered, you still complete the field: enter NA.
You also need your MSIC (Malaysia Standard Industrial Classification) code, a 5-digit code for your main business activity, along with a short description of that activity. LHDN publishes the full list of accepted codes in the MyInvois SDK. A few examples from that list:
- 56101 — Restaurants and restaurant cum night clubs
- 47111 — Provision stores
- 62010 — Computer programming activities
- 69200 — Accounting, bookkeeping and auditing activities; tax consultancy
Step 3: Get access to the MyInvois Portal through MyTax
There is no separate sign-up form for MyInvois. Taxpayers reach the MyInvois Portal by logging in to MyTax, LHDN's gateway to its e-services, and use it from there. The portal is free.
Even if you intend to submit through software, the portal is where you manage your taxpayer profile, view the e-invoices issued to and by you, and — if you use the API — register a system or appoint an intermediary (step 5). The MyInvois Portal guide walks through getting in, the role your business needs, and submitting; what MyInvois is and how it works covers the system itself.
Step 4: Choose how you will submit
LHDN offers two mechanisms:
| Method | How it works | Suits |
|---|---|---|
| MyInvois Portal, one at a time | Complete a form for each e-invoice | Very low volumes |
| MyInvois Portal, batch upload | Upload LHDN's pre-defined Excel spreadsheet containing several e-invoices | Low volumes processed in batches |
| API | Your own system, or a technology provider's, submits XML or JSON directly to the MyInvois System | Any business already invoicing from software, and higher volumes |
MyInvois system limits (Specific Guideline section 3.6.4) are 100 e-invoices, 5MB per submission and 300KB per e-invoice; the portal's Excel batch upload adds its own file requirements, covered in the portal guide. The MyInvois portal versus third-party apps compares the options in practice, and choosing accounting software covers what to check if you go the software route.
Step 5: If using the API, set up the connection
API submissions need two things.
A way for the software to authenticate. LHDN provides two routes, both set up from your taxpayer profile in the MyInvois Portal:
- Register an ERP system. The portal issues a Client ID and Client Secret for your system, which then logs in as you. Anyone holding those credentials can submit e-invoices in your name, so store them as carefully as a banking password and note when the secret expires.
- Appoint an intermediary. If a technology provider submits on your behalf, you add them as an intermediary in your profile and choose which permissions to grant and for how long. The provider then logs in with its own credentials on your behalf.
Your provider will tell you which route it supports. The MyInvois API explains what the credentials, signing and submission flow involve if you are building the connection yourself.
A digital certificate. Each e-invoice submitted through the API is digitally signed, so LHDN can confirm that it originates from you.
Step 6: Organise your business profile data
Your own details — the supplier details on every e-invoice you issue — are the same on every document, so set them up once:
- TIN, BRN and SST registration number (or
NAif you are not SST-registered) - Registered business name, matching SSM exactly
- Full business address, including the state and country codes
- Contact number and, optionally, e-mail address
- MSIC code and business activity description
Common pitfall: using a trading name or an address that differs from your registration. Fix these at source before they appear on every document you issue.
Step 7: Clean up your customer data
For every e-invoice you issue to a Malaysian business, you need the buyer's TIN, registration number, name, address and contact number. For a foreign business, the TIN and registration number are needed where available; the Specific Guideline gives fallback values where they are not.
- Collect TINs from your regular customers — a short request for their TIN and BRN "for e-invoicing purposes" is usually enough.
- Verify what you collect. A wrong buyer TIN fails validation. LHDN's SDK includes a TIN validation service, which software can use to check a buyer's TIN before submitting.
- Know what to do for consumers. Where an individual buyer does not need an e-invoice, the sale goes into your monthly consolidated e-invoice, which uses the general public TIN
EI00000000010. Where an individual does ask for an e-invoice, a Malaysian individual (MyKad/MyTentera) or MyPR/MyKAS holder may give a TIN, an identification number or both; any other non-Malaysian individual gives a TIN, or a TIN with their passport number (Specific Guideline section 3.5.4).
Consider adding a TIN field to your customer onboarding forms, quotations and purchase order workflows so the data arrives with the order rather than after it.
Step 8: Prepare your product and service catalogue
Each line item needs a description, unit price, classification code and tax type; quantity and measurement unit are optional in LHDN's field list, though you will normally fill them in for anything sold by unit. Setting these up once in your catalogue saves re-entering them on every invoice:
- Assign the correct classification code to each product or service.
- Set the tax type. The MyInvois codes are
01Sales Tax,02Service Tax,03Tourism Tax,04High-Value Goods Tax,05Sales Tax on Low Value Goods,06Not Applicable, andEfor tax exemption. Note that06means Not Applicable, not Service Tax. - Choose the right measurement unit from the UN/ECE list (for example C62 for "unit", KGM for kilograms, HUR for hours).
Step 9: Run test submissions in the sandbox
LHDN runs a separate testing environment — the sandbox — alongside production. Its MyTax entry point is https://preprod-mytax.hasil.gov.my. Submissions there are not real e-invoices, which makes it the place to confirm that:
- your system or provider can authenticate
- your business profile data is accepted
- your documents pass validation
- the whole flow, from creation to validation, completes without errors
Discovering a data problem on your first live invoice is far more stressful than catching it in testing.
Step 10: Plan for consolidated and self-billed e-invoices
Two parts of e-invoicing catch businesses that prepared only for ordinary invoices:
- Consolidated e-invoices. If you sell to consumers who do not ask for an e-invoice, you need a monthly routine for the consolidated submission, due within seven calendar days after the month end. See how it works for restaurants and e-commerce sellers.
- Self-billed e-invoices. If you buy from foreign suppliers, pay agents or dealers, or fall into one of LHDN's other listed circumstances, you issue the e-invoice yourself. See self-billed e-invoices in Malaysia.
Step 11: Train your team
E-invoicing changes the workflow for anyone involved in billing. Make sure your team understands:
- What needs an e-invoice — every sale, with B2C sales that do not need one going into the monthly consolidated e-invoice
- The 72-hour window — cancellations and rejections must happen within 72 hours of LHDN validation
- How to handle errors — what to do when a submission fails validation; see common MyInvois rejection errors
- When to issue credit and debit notes — for corrections after the 72-hour window; see credit notes and debit notes in MyInvois
Monitoring compliance once you are live
Compliance does not end at the first successful submission. The things worth checking regularly are:
- Submissions that failed validation — a document that came back with an error is not an e-invoice until it has been corrected and resubmitted.
- Documents inside their 72-hour window — the only time a cancellation is possible, and when buyer rejection requests arrive.
- The monthly consolidated e-invoice — due within seven calendar days after each month end, if you consolidate.
- Self-billed e-invoices that are due — for imports in particular, the deadlines run from customs clearance or payment, not from when you remember.
The MyInvois Portal gives every taxpayer a view of the e-invoices issued by and to them, and lets you retrieve them as XML or JSON, as metadata, in a grid or as a PDF — the baseline record to reconcile against your own books.
Common pitfalls to avoid
- Waiting until the last minute — setting up and testing takes time. If your date has already passed, what happens if you miss the e-invoicing deadline covers the route back.
- Incorrect TIN formatting — double-check the prefix and digits for your own TIN and your customers'.
- Mismatched business names — your business name must match your registration exactly. No abbreviations, no trading names.
- Ignoring the buyer TIN requirement — start collecting customer TINs now; you need a business buyer's TIN for every B2B e-invoice (for a foreign business, where it is available).
- Not testing — use the sandbox before going live.
- Forgetting consolidation and self-billing — both have their own rules and deadlines.
- No plan for outages — the MyInvois System can be unavailable. Decide in advance how invoices will be held and submitted once it is back; see e-invoicing when MyInvois is down.
Bottom line
Compliance is a set of obligations — issue, validate, share, correct and consolidate correctly — and the preparation that makes them routine. Settle whether and when the requirement applies to you, work through the checklist in order, and test before going live. The rules are revised regularly, so check anything you rely on against the current guidelines on the LHDN e-Invoice microsite.
