LHDN MyInvois API (Malaysia)

Send e-invoices to the LHDN MyInvois API through Complyance: set up a Malaysian company, prepare its GETS invoice data and check the result of submission. Start with a workspace that includes Malaysia.

Malaysia e-invoicing uses MyInvois, the system of LHDN, Malaysia’s Inland Revenue Board. In Complyance, first onboard the company, then send its invoice data in GETS through Unify. Test in the MyInvois sandbox before sending production documents, then follow the go-live checklist.

How Complyance connects to MyInvois

Complyance submits documents to MyInvois as the company’s intermediary. LHDN lets a taxpayer authorise an intermediary system to sign in on its behalf, and the permissions the taxpayer grants apply to that intermediary; see LHDN’s Login as Intermediary System. So the company adds Complyance as an intermediary in the MyInvois portal, once in the sandbox (preprod) portal and once in production. You do not register an ERP system in MyInvois or share a client ID and secret. Onboard a Malaysian company has the steps.

The life of a Malaysian e-invoice

  1. You send the document. Unify checks it against LHDN’s requirements and answers 200 or 422. LHDN does not accept a document issued more than 72 hours before it is submitted; LHDN’s FAQ says to keep the issue date and time within 72 hours before submission.
  2. Complyance submits it to MyInvois. LHDN validates it and marks it Valid or Invalid. The document’s status follows: final_valid when LHDN marks it valid, final_invalid when LHDN marks it invalid. See Malaysia validation rules.
  3. For 72 hours after it is marked valid, the document can still be cancelled or rejected. The issuer can cancel it, and the buyer can reject it and ask the issuer to cancel it. Both are allowed only within 72 hours of the time LHDN marked the document valid, and a rejected document stays valid until the issuer cancels it. See LHDN’s Cancel Document and Reject Document.
  4. After 72 hours the document is final. Correct it with a credit note, debit note or refund note that refers to it.

Unify has no request to cancel a document. To cancel one within the 72 hours, cancel it in the MyInvois portal.

Sales to consumers

A sale to a consumer who does not ask for an e-invoice can be recorded as a receipt. Send it with the is_receipt modifier: Unify stores it in the B2C Vault instead of submitting it to LHDN on its own. The B2C Vault then combines the month’s receipts into a consolidated e-invoice and submits it to LHDN. Malaysia examples has a receipt request.

What to check before sending

Use the Malaysia field reference for the document type you are sending. The required data can differ between a tax invoice and a credit or debit note. Submit the values from the source document; do not fill missing amounts or identifiers with guesses.

After a successful request, follow the document until isTerminal is true before treating it as validated by LHDN.