Skip to content
Reference

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

Who must comply

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.

  1. 01

    Phase 1 — RM100M+ : live since 1 August 2024

  2. 02

    Phase 2 — RM25M to RM100M : live since 1 January 2025

  3. 03

    Phase 3 — RM500K to RM25M : live from 1 July 2025

  4. 04

    Phase 4 — under RM500K : voluntary from 1 July 2026

How MyInvois works

Three things have to happen for every invoice.

  1. 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.

  2. 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.

  3. 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.

Document types

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.

Where the Bridge fits

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.