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:
| Prefix | LHDN validator | What it checks |
|---|---|---|
| CF | Core Fields | Required fields and their format |
| ERR | Taxpayer | Supplier and buyer TIN, ID and general TIN rules |
| CV | Code | Values taken from LHDN code tables (units, states, classifications) |
| DC | Currency | Currency codes and exchange rates |
| DR | Referenced Documents | The original invoice a note points to |
| DS | Signature | Digital signature on signed documents |
| DV | Duplicate Document | The 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.
| Code | LHDN validator | What it means |
|---|---|---|
| ERR236 | Taxpayer | General public TIN on a line that is not classification 004 |
| CV317 | Code | State code 17 used on a Malaysian address |
| ERR250 and ERR245 | Not in LHDN's reference yet | Consolidated e-invoice carries a real buyer |
| ERR237 | Taxpayer | Named buyer filed with the general public TIN |
| ERR219 | Not in LHDN's reference yet | Foreign supplier on a self-billed document has the wrong TIN |
| DR308 | Referenced Documents | The note's buyer is not the buyer on the original invoice |
| DR319 | Referenced Documents | The referenced document does not exist |
| DR313 | Referenced Documents | The referenced document's number does not match its UUID |
| DR303 | Referenced Documents | The referenced document is invalid or cancelled |
| CV302 | Code | A unit or other code is not on LHDN's code list |
How to fix any rejection
- Read the code and the field path. Together they say which field broke which rule.
- Open the code's page below, or LHDN's guidance for that code, and correct the field.
- Submit the corrected document as a new e-invoice. Do not cancel the rejected one: it was never validated.
- 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?
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.