Skip to content

NIC Error Codes

Applies to: e-Invoice · e-Way Bill · Which modules do I have?

Purpose

Interpret a numbered rejection from the government systems, and — critically — distinguish the ones you can fix from the ones no software can.

Audience

Support teams, tax operations, integration developers.

Prerequisites

Reference

These errors originate at NIC, not at Complifly and not usually at the GSP. Neither Complifly nor your provider can override a rejection, reopen a closed window, or release a consumed document number.

e-Invoice codes

Code Meaning Fixed by Statutory Action
2150 Duplicate reference number — one already exists for this supplier, document type and number you Yes — Rule 48(4), CGST Rules The number is consumed permanently, even if the earlier one was cancelled. Issue under a new number. If your ERP series restarted, fix that first or you will keep colliding
2163 Invalid registration number — not in the valid 15-character format you No Correct the registration number in the master data. This is a format fault, not a status one
2164 Registration inactive or cancelled — well formed, but no longer active statute Yes — Section 29, CGST Act You cannot register a document to a cancelled counterparty. Contact the counterparty. No software change helps
2166 Classification code invalid — the HSN or SAC is not one NIC recognises you Yes — Notification 78/2020 Correct the code in the item master. Verify against the official master, not by guessing a shorter code
2172 Document date is in the future you Yes — Section 31, CGST Act Check the document date and, commonly, the time zone or clock on the sending system
2174 Supply type contradicts Place of Supply you Yes — Sections 10 to 13, IGST Act A tax position. The correction belongs in the ERP, and the tax lead should confirm which of the two is wrong
2178 Tax calculation mismatch — amounts do not match what NIC computes you No Compare the values sent against NIC's arithmetic. Usually rounding, a wrong rate, or a mis-mapped amount
2180 Reporting window expired — the document is older than your turnover band allows statute Yes — GST Council reporting limit Not recoverable. No configuration, escalation or support action reopens the window. Consult the tax lead on the lawful alternative
2195 Document number contains invalid characters you Yes — Rule 46(b), CGST Rules Correct the numbering format in the ERP. See also the validation entry for disallowed leading characters

e-Way Bill codes

Code Meaning Fixed by Statutory Action
4002 Distance exceeds the accepted maximum you Yes — Rule 138(10), CGST Rules Check the distance. A wrong postal code is the usual cause; a genuinely longer movement needs a different arrangement
4010 Vehicle number format invalid you No Correct the registration number format. Spacing and separators are the usual fault
4015 Bill already cancelled you No The bill you are acting on is already cancelled. Check its status before acting; the action is not available

The three that behave differently

Most of the table is ordinary data correction. These three are not, and they generate most of the escalations:

2150 — duplicate. The number is consumed at NIC permanently. Cancelling does not release it. There is no amendment mechanism in GST: if the original was wrong, the instrument is a credit or debit note, not a re-issue of the same number. When this appears at volume, the cause is almost always an ERP numbering series that restarted or is shared between two systems.

2164 — cancelled counterparty registration. Nothing in your control changes this. The counterparty's registration status is theirs. The only actions available are commercial: contact them, and decide whether to supply.

2180 — window expired. The most expensive error in the set, because it is discovered late and cannot be undone. Complifly enforces the window at ingest specifically to surface this on the day rather than at generation — a document quarantined at ingest for this reason is the system working, not failing.

Codes not listed here

The full NIC code set is larger than this table and changes over time. For a code not listed:

  1. Capture the code, the exact message, the document number and the request identifier.
  2. Check whether it is a data fault the document itself explains.
  3. Escalate with all four pieces of information.

Validation

Check Pass condition
The document is identified Document number and request identifier captured
The classification is read You know whether it is yours, statutory, or support's
The right person is engaged Data faults to operations; tax positions to the tax lead; statutory constraints to neither
Volume is checked If the same code appears repeatedly, the systemic cause is identified rather than instances handled one by one
The fix is verified The corrected document generates successfully

Troubleshooting

Symptom Cause Action
2150 at volume shortly after go-live ERP numbering restarted, or two systems share a series Fix the series before sending anything else
2150 on a document never sent The same number was used in a previous year, or by another system Numbers are consumed per supplier, type and year
2164 on a long-standing customer Their registration was cancelled or suspended after you last checked Cached verification ages. Re-check before high-value supplies
2166 on a code that looks correct A valid-length code that is not in the official master Verify against the master; length alone is not validity
2172 on a document dated today Time-zone or clock difference on the sending system Check time synchronisation
2174 disputed by the business It is a tax position, not a mapping fault Route to the tax lead
2178 on every document A systematic rounding or rate-mapping fault Fix the mapping or the rate master, not the documents
2180 on a batch of historical documents Loading a backlog outside the window Expected. Agree the approach with the tax lead before loading a backlog
4002 on a normal domestic movement Wrong postal code producing an absurd distance Correct the postal code
4015 when trying to cancel Already cancelled Check status before acting