Skip to content
← All guides

LHDN e-invoice rejection codes: what they mean and how to fix them

Updated 18 October 2026

Short answer

A rejection means LHDN's MyInvois validators refused the document, so it never became an e-invoice. LHDN returns an error code such as ERR236 or CV317, a sentence explaining it, and the path of the field at fault. Fix that field and submit a corrected document. A rejected document was never validated, so there is nothing to cancel.

What a rejection is

Every document sent to MyInvois runs through a series of LHDN validators: structure, core fields, taxpayer details, codes, currency, referenced documents and duplicates. If any validator fails, the document comes back Invalid with the reasons. It is not an e-invoice, it has no validated QR code, and the buyer cannot use it.

A rejection is different from a failed submission. A rejected document reached LHDN and broke a rule, so sending it again unchanged fails again. A failed submission never got through, usually because of a network or LHDN outage, and a retry usually succeeds.

How to read LHDN's error

Each finding in LHDN's response carries an error code, a sentence in English (and often in Malay), and the property path of the field, for example the buyer's state code or line 2's classification. The letters at the front of the code tell you which validator refused the document:

PrefixLHDN validatorWhat it checks
CFCore FieldsRequired fields and their format
ERRTaxpayerSupplier and buyer TIN, ID and general TIN rules
CVCodeValues taken from LHDN code tables (units, states, classifications)
DCCurrencyCurrency codes and exchange rates
DRReferenced DocumentsThe original invoice a note points to
DSSignatureDigital signature on signed documents
DVDuplicate DocumentThe same document sent twice

Common rejection codes

These are the codes envoice has a curated explanation for, built from real rejections. Each links to a page with LHDN's own wording, the cause and the fix.

CodeLHDN validatorWhat it means
ERR236TaxpayerGeneral public TIN on a line that is not classification 004
CV317CodeState code 17 used on a Malaysian address
ERR250 and ERR245Not in LHDN's reference yetConsolidated e-invoice carries a real buyer
ERR237TaxpayerNamed buyer filed with the general public TIN
ERR219Not in LHDN's reference yetForeign supplier on a self-billed document has the wrong TIN
DR308Referenced DocumentsThe note's buyer is not the buyer on the original invoice
DR319Referenced DocumentsThe referenced document does not exist
DR313Referenced DocumentsThe referenced document's number does not match its UUID
DR303Referenced DocumentsThe referenced document is invalid or cancelled
CV302CodeA unit or other code is not on LHDN's code list

How to fix any rejection

  1. Read the code and the field path. Together they say which field broke which rule.
  2. Open the code's page below, or LHDN's guidance for that code, and correct the field.
  3. Submit the corrected document as a new e-invoice. Do not cancel the rejected one: it was never validated.
  4. If the same mistake came from your POS, store or catalogue, fix it there too so the next sale does not repeat it.

How envoice handles it

When LHDN rejects a document, envoice shows a Rejection reason box on it. Each line names the field at fault, explains the cause in plain language, gives the fix where envoice knows it, and quotes LHDN's own sentence with a link to LHDN's guidance for that code. The explanation is shown in English or Bahasa Melayu.

Click Fix & resubmit to open the invoice form prefilled from the rejected document, correct the field, and submit it as a new e-invoice. The shop owner also gets one email when a document is rejected, so a rejection is not discovered weeks later. See Why was my document rejected?

Try envoice free, no credit card

Frequently asked questions

What is an LHDN rejection code?

It is the code LHDN's MyInvois validators return when a document breaks a rule, such as ERR236 or CV317. The letters name the validator and the number names the rule.

Do I need to cancel a rejected e-invoice?

No. A rejected document was never validated, so it is not an e-invoice and there is nothing to cancel. Fix the field and submit a corrected document.

What is the difference between rejected and failed?

Rejected means LHDN received the document and refused it under a validation rule, so it must be fixed. Failed means it never got through, usually because of a network or LHDN outage, and a retry usually works.

Where does LHDN explain its error codes?

In the MyInvois SDK, under Document Validation Rules, LHDN publishes a page per validator with common error codes, likely causes and recommended resolutions.

Does envoice explain rejections in Bahasa Melayu?

Yes. envoice shows the cause and the fix in plain language in English or Bahasa Melayu, next to LHDN's own sentence and a link to LHDN's guidance for the code.

Sources