Skip to content

e-Invoice Module

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

Purpose

Configure IRN generation, cancellation, tracking and printing, and set out plainly which constraints are statutory and therefore not configurable — the source of a large share of avoidable support tickets.

Audience

Implementation consultants and the customer's indirect tax lead.

Prerequisites

  • Module enabled for the relevant registrations
  • GSP Configuration complete, with a passing connection test
  • Master data loaded and validated
  • Document Type Routing reviewed
  • The applicable reporting window confirmed in writing by the tax lead

Steps

1. Confirm which document types produce an IRN

By default INV, CRN and DBN route to IRN. Confirm this matches the customer's document set before anything else — see Document Type Routing.

2. Establish the reporting window

Higher-turnover taxpayers must report an invoice to the registration portal within a limited period of its document date. Complifly enforces this at ingest, deliberately: a stale invoice is isolated at the door rather than sitting in a workbench looking ready and failing when a user presses Generate.

Two consequences to plan for:

  • A historical backlog will quarantine. If the customer intends to load old documents, agree the approach before the load, not after.
  • The window is not recoverable. Once it closes, no configuration, escalation or support action reopens it. The document cannot be registered.

Confirm the applicable window with the tax lead in writing.

3. Decide on automatic generation

AUTO_IRN_ENABLED fires generation the moment a document is ingested. It defaults to off.

Manual — default Automatic
A person reviews before committing No human in the loop
Slower; a queue can build Immediate
Errors caught before a billed call Rejections happen at volume
Suits a new or unproven feed Suits a proven, high-quality feed

Enable it only once validation quality is demonstrated over real volume. Automating generation over a poor feed converts a manageable review queue into a stream of rejections, each of which consumed a billed call.

4. Configure retry behaviour

Retries protect against transient failures — a network blip, a momentarily unavailable provider. They do nothing for a rejection, which is deterministic: retrying a rejected document consumes billed calls to no purpose. See Environment Variables.

5. Configure printing

See Print Configuration. The one check that matters: print a document and scan the QR code from paper.

6. Understand cancellation

Property Detail
Time-limited Cancellation is only possible within the statutory window
The number is not released Cancelling does not free the document number. It remains consumed at the registration portal, permanently
Routed by provenance The cancellation goes to the provider that issued the IRN, not the tenant's current provider
Requires checker authority Only the checker role can cancel, unless segregation has been relaxed

The second row is the one customers most often misunderstand. After cancelling, the corrected document must be issued under a new number. There is no amendment mechanism in GST and no way to reuse the number.

7. Statutory constraints — not configurable

Constraint Consequence
One IRN per supplier, document type and number A repeated number is rejected as a duplicate, permanently
A cancelled number stays consumed Re-issue under a new number
The reporting window cannot be reopened A missed window cannot be recovered
The cancellation window is fixed After it, a credit note is the instrument, not a cancellation
The signed QR must appear on the document Not optional

When a customer asks for one of these to be changed, the answer is an explanation, not a configuration change.

Validation

Check Method Pass condition
Provider connection works Connection test Success
Routing correct Ingest one document of each type Each routes as intended
Validation catches faults Submit a document missing a required field Quarantined, with the field named
Generation works Generate one IRN in the sandbox 64-character IRN, signed QR and acknowledgement stored
Reporting window enforced Submit a document dated outside the window Isolated at ingest, with a clear reason
Duplicate rejected Submit the same number twice Second one rejected
Automatic generation behaves as configured With it on, ingest one document Generates unattended. With it off, it waits
Printing works from paper Print and scan the QR with a phone Scans reliably
Cancellation works Cancel a test IRN in the sandbox Status becomes cancelled; the number remains consumed
Provenance followed After a provider switch in a test tenant, cancel an older document Succeeds
Permissions enforced Sign in as a maker and attempt to generate Refused, when segregation is enforced

Troubleshooting

Symptom Cause Action
Documents quarantined at ingest Validation failure, or outside the reporting window Open the Correction Cockpit; the per-field messages name the fault
A whole historical batch quarantined Outside the reporting window Expected. Agree how historical documents are handled; the window cannot be reopened
Rejected as duplicate The number is already registered, or the ERP series restarted Fix the series. Cancelling does not release a number
Generation fails with a numbered error A registration-portal rule was broken Look it up in NIC Error Codes
Generation fails with no numbered error Provider unreachable, credentials expired, or an unsupported operation Run the connection test; check the capability state
Cancellation refused Outside the cancellation window A credit note is the instrument. Statutory, not configurable
Cancellation fails after a provider switch Old provider's credentials withdrawn too early Restore them while any of its documents remain actionable
Printing fails, generation succeeded Rendering or print configuration, never the government See Print Configuration
QR does not scan from paper Rendered too small or cropped Adjust the template and re-test on paper
Rejections at volume after enabling automatic generation Feed quality insufficient for unattended operation Turn it off, fix the feed, re-enable
A maker cannot generate Segregation enforced. By design See Segregation of Duties