LHDN MyInvois — the complete integration reference for Malaysian businesses.
Lembaga Hasil Dalam Negeri (LHDN) operates MyInvois — Malaysia's mandatory e-invoicing platform. Rollout is in four phases by annual revenue band. This page translates the spec into the practical questions every implementing team actually asks.
8
LHDN UBL 2.1 document types covered
65+
CSV columns accepted by the parser
40
audit-log action types
22
RBAC permission keys
Rollout by annual revenue band.
If your business issues invoices in Malaysia, MyInvois compliance applies to you. The only variable is when — LHDN phases the mandate by revenue tier so the bar lowers progressively.
- 01
Phase 1 — RM100M+ : live since 1 August 2024
- 02
Phase 2 — RM25M to RM100M : live since 1 January 2025
- 03
Phase 3 — RM500K to RM25M : live from 1 July 2025
- 04
Phase 4 — under RM500K : voluntary from 1 July 2026
Three things have to happen for every invoice.
- 01
Validate against the LHDN field spec
Every UBL 2.1 invoice must carry the required structural fields (invoice number, type, date, currency, line items, totals) and the right LHDN reference fields (TIN, MSIC code, tax classification). Failures fail closed — LHDN rejects the document rather than warn.
- 02
Submit to the LHDN API
Authenticate with OAuth2 client_credentials, scope `InvoicingAPI`, and POST the document to the LHDN submission endpoint. The platform returns a UUID immediately and a Long ID once validation completes server-side.
- 03
Track + cancel within LHDN's window
Status flows from new → processing → submitted → approved or rejected. Cancellation is allowed during a 72-hour window after approval; outside that window LHDN returns `OperationPeriodOver` and you have to issue a credit/debit note instead.
The 8 UBL 2.1 document types LHDN accepts.
Every commercial document flowing through MyInvois maps to one of eight type codes. Codes 01–04 are issued by the supplier. Codes 11–14 are self-billed — issued by the recipient on the supplier's behalf, a workflow most tax agents and large procurement teams need.
We run the LHDN side. You keep your system.
MyInvois Bridge sits between your ERP, POS, or accounting platform and the LHDN API. We accept invoices three ways — CSV upload, REST JSON, or manual entry — and handle the rest: UBL 2.1 generation, validation, OAuth2, submission, status polling, cancellation, audit logging. Pre-built for all 8 document types, including the four self-billed variants.
Last updated · May 2026
Independent reference. MyInvois is operated by LHDN. We are not affiliated with LHDN.