FY 2026-27 guide to configuring GST e-invoicing in your ERP — architecture options, schema mapping, reconciliation controls and common errors.
E-invoicing Integration: Configuration
If your registered business had an aggregate turnover exceeding Rs. 5 crore in any preceding financial year (threshold as per CBIC Notification No. 10/2023-CT, effective 1 August 2023), you are legally required to generate an Invoice Reference Number (IRN) through an authorised Invoice Registration Portal (IRP) before issuing any B2B tax invoice, credit note, or debit note. Missing this step does not merely mean a notice — it means your buyer cannot claim Input Tax Credit (ITC) on that supply, your e-way bill is blocked, and you face a penalty of Rs. 10,000 per invoice under Section 122 of the CGST Act, 2017. This guide walks you through the configuration architecture, schema mapping, reconciliation controls, and the errors that derail integration projects in practice. CBIC continues to progressively lower the threshold; check the latest notification before filing your applicability assessment for FY 2026-27.
The Mechanics: What Happens When an IRN Is Generated
Before you configure anything, your team needs a precise mental model of the data flow — because every configuration decision maps back to one of these steps.
- Your ERP or billing system assembles the invoice data into the GSTN-prescribed JSON schema (version e-invoice schema as published on the sandbox portal at
einvoice1.gst.gov.in). - The JSON is sent — via API — to one of the authorised IRPs: NIC (nic.einvoice1.gst.gov.in), GSTN's own IRP, or a private IRP licensed by GSTN (currently six authorised IRPs operate, including private sector players).
- The IRP validates the JSON against the schema, checks that both seller and buyer GSTINs are active, and verifies that the invoice number has not already been registered.
- On successful validation, the IRP generates the IRN — a 64-character SHA-256 hash of Supplier GSTIN + Invoice Number + Financial Year + Document Type — and digitally signs the JSON using the National Informatics Centre's certificate.
- The signed payload is returned to your system with the IRN and a QR code that encodes ten mandatory fields.
- Simultaneously, the IRP pushes the invoice data to the GST portal for GSTR-1 auto-population (Table 4A/4B) and to the e-way bill portal where transport details can be supplemented to generate an EWB without re-entering invoice data.
The QR code and IRN must appear on the physical or digital invoice copy you deliver to the buyer. There is no retrospective IRN generation — the IRN must exist before the invoice is used in a transaction.
Integration Architecture: Choosing the Right Model
Your architecture choice determines your resilience, cost, and operational complexity. There is no universally correct answer.
Option 1 — Direct API Integration (ERP → IRP)
Your ERP calls the IRP REST API directly using OAuth 2.0 tokens. This eliminates middleware cost, reduces latency, and gives you full control over retry logic.
Best for: Large B2B sellers generating more than 500 invoices per day, companies with strong in-house IT capability, and organisations already running SAP, Oracle, or Microsoft Dynamics with an e-invoicing connector.
Watch out for: Each GSTIN has an API rate limit (currently 25 concurrent sessions per GSTIN per IRP as per NIC documentation — verify current limits on the IRP sandbox). You must code exponential backoff, token refresh, and multi-IRP failover yourself.
Option 2 — GSP / ASP Middleware
A GST Suvidha Provider (GSP) or Application Service Provider (ASP) sits between your ERP and the IRP. Popular middleware vendors handle token lifecycle, retry queues, multi-IRP routing, and a management dashboard.
Best for: Mid-size businesses (50–500 invoices per day) that want managed resilience without building it internally. Also suits multi-entity groups where one middleware instance covers multiple GSTINs.
Cost consideration: ASP/GSP fees typically range from Rs. 0.50 to Rs. 2 per IRN depending on volume bands and SLA tier. At 10,000 invoices per month, budget Rs. 5,000–20,000 per month in middleware cost — small compared to the ITC risk of failures.
Option 3 — Offline / Portal Generation
Download the GSTN Excel tool or use the IRP web portal to generate IRNs manually. Absolutely unsuitable for businesses above 20–30 invoices per month. Use this only during initial sandbox testing or for genuinely occasional one-off B2B invoices.
Step-by-Step Configuration Checklist
Work through these eight steps in sequence. Skipping step 2 or step 3 will cause production failures that take weeks to diagnose.
- Confirm applicability. Pull your aggregate turnover from GSTR-9 / GSTR-9C for the last three financial years. If any year exceeds the notified threshold, you are in scope from the date CBIC specified. Document this assessment with the notification number you relied on.
- Enable e-invoicing on the GST portal. Log in to
gstin.gov.in, go to Services → E-Invoice → Enable, and confirm. This activates your GSTIN for IRP interaction. Without this toggle, your API calls will return a2150error regardless of payload correctness.
- Generate API credentials on the IRP. On your chosen IRP (NIC or private), register, generate a Client ID and Client Secret, and create sub-user credentials for your integration. Store these in your secrets manager — do not hard-code them in ERP configuration files.
- Map ERP document types to GSTN schema types. GSTN recognises three document types:
INV(tax invoice),CRN(credit note),DBN(debit note). Map every ERP transaction type — sales invoice, export invoice, deemed export, SEZ supply, advance receipt adjustment, reverse-charge self-invoice, credit note — to exactly one schema type.
- Configure mandatory JSON fields. The schema has approximately 130 fields, of which around 50 are mandatory. The ones that break most integrations are:
PoS(Place of Supply) — must be the two-digit state code, not the state name.Typ(Supply Type) —B2B,SEZWP,SEZWOP,EXPWP,EXPWOP, orDEXP.RvChrg(Reverse Charge) —YorN; incorrect marking on RCM services (legal fees, security, GTA) causes downstream GSTR-3B errors.UQC(Unit Quantity Code) — must match GSTN's prescribed list exactly (NOS,KGS,MTR, etc.). Free-text units like "Pcs" or "Nos." will reject.
- Configure rounding and tax computation. GSTN validates that
TotInvVal = AssVal + TotTaxVal + OthChrg − Discount, within a tolerance of Rs. 1. If your ERP rounds at the line level differently from what the schema computes at the header level, you will hit2283(value mismatch) errors persistently.
- Build cancellation and amendment workflows. Cancellation is only possible within 24 hours of IRN generation and only if no e-way bill has been linked. After 24 hours, you must issue a credit note through the IRP (a new IRN on a
CRNdocument) — you cannot cancel the original IRN. Build a controlled cancellation form in your ERP so that warehouse and billing staff cannot cancel ad hoc; require a supervisor approval and generate an audit log entry.
- Test in the sandbox environment. NIC's sandbox at
einvoice1.gst.gov.in/einvoicesandboxaccepts test GSTINs and returns test IRNs. Run every document type — including exports, SEZ supplies, credit notes, and RCM self-invoices — with sample data before moving to production. Maintain a test-case register.
Worked Example: IRN Generation for a Mid-Size Manufacturer
Scenario: Precision Parts Pvt. Ltd., a Pune-based auto-component manufacturer with FY 2025-26 turnover of Rs. 48 crore, supplies components to an OEM buyer in Tamil Nadu.
| Invoice field | Value |
|---|---|
| Supplier GSTIN | 27AABCP1234F1Z5 (Maharashtra) |
| Buyer GSTIN | 33AABCD5678G1Z3 (Tamil Nadu) |
| Invoice number | PP/2026-27/001 |
| Taxable value | Rs. 9,80,000 |
| IGST @ 18% | Rs. 1,76,400 |
| Total invoice value | Rs. 11,56,400 |
| Place of Supply | 33 (Tamil Nadu) |
| Supply type | B2B |
| E-way bill required? | Yes (value > Rs. 50,000, inter-state) |
What happens at the IRP:
The ERP compiles the JSON and posts it to the NIC API endpoint at 10:43 AM. The IRP validates both GSTINs as active, confirms that PP/2026-27/001 has not been previously registered under GSTIN 27AABCP1234F1Z5, and verifies that TotInvVal (Rs. 11,56,400) equals AssVal (Rs. 9,80,000) + TotTaxVal (Rs. 1,76,400). Validation passes in approximately 1.2 seconds. The IRP returns the IRN and a signed QR code. The ERP automatically supplements the transport details (vehicle number, distance, consignee state) and generates the e-way bill using the IRN — no re-entry of invoice data.
What the non-compliance would have cost: Had the invoice been issued without an IRN, the OEM's Rs. 1,76,400 ITC claim would be disallowed during GSTR-2B reconciliation, and Precision Parts would face a minimum penalty of Rs. 10,000 per Section 122, plus the commercial fallout of a buyer refusing payment pending ITC confirmation.
Common Configuration Errors and How to Fix Them
These are the errors that appear most frequently in the first 90 days of production, drawn from the IRP error-code documentation.
| Error Code | Description | Root Cause | Fix |
|---|---|---|---|
2150 | e-invoicing not enabled | GST portal toggle not activated | Enable under Services → E-Invoice on GST portal |
2172 | Invalid buyer GSTIN | GSTIN inactive, cancelled, or composition dealer | Add a real-time GSTIN validation API call before invoice creation; block invoice if GSTIN status ≠ Active |
2215 | Duplicate IRN | Invoice number already registered for this GSTIN + FY | Check IRN register before posting; never re-use invoice numbers even after ERP data corrections |
2283 | Value mismatch | Rounding differences between line-level and header-level computation | Enforce header-level tax computation in ERP; suppress line-level rounding |
2294 | Invalid UOM code | Free-text UOM not in GSTN master | Maintain a mapping table of ERP UOM codes to GSTN UQC codes; validate at item master creation |
2296 | Invalid HSN | HSN not in GSTN master or length mismatch (4-digit vs 6-digit vs 8-digit) | Align HSN length to turnover-based requirement; businesses above Rs. 5 crore must use 6-digit HSN minimum |
Critical point on GSTIN validation: Composition dealers, UIN holders (UN agencies), and non-resident taxable persons cannot be buyers in an e-invoice flow in the same way regular dealers are. If your buyer list includes any of these, configure a document-type bypass that flags these invoices as out-of-scope for IRN (with a documented reason) rather than attempting and failing IRP submission.
Special Cases: Configuration Matrix
Document every special scenario in a configuration matrix and test each with sandbox invoices before production.
Exports (With Payment of Tax — EXPWP)
Set Typ = EXPWP, populate ShipBNo (shipping bill number), ShipBDt, and Port fields. PoS must be 96 (outside India). IGST applies; the QR code will indicate an export invoice.
Exports (Without Payment of Tax — EXPWOP)
Set Typ = EXPWOP. Tax columns will be zero. Ensure your ERP does not compute IGST on the document — a non-zero tax value with EXPWOP type will reject with an error.
SEZ Supplies
Typ = SEZWP (with IGST) or SEZWOP (without IGST, under LUT/bond). PoS is the SEZ state code. Confirm from the buyer that their GSTIN is classified as SEZ in the GSTN master — the IRP validates this.
RCM Services (Self-Invoicing)
Under Section 9(3)/9(4) of the CGST Act, the recipient raises a self-invoice for RCM-liable services (GTA at 5%, legal services, security services, etc.). Set RvChrg = Y. The supplier's GSTIN in the JSON will be the unregistered supplier's PAN-based dummy GSTIN or an actual GSTIN if the supplier is registered but the service falls under Section 9(3). Misconfiguring RvChrg on these invoices is one of the most common and costly errors — it results in both incorrect GSTR-3B liability and erroneous ITC claims.
Credit Notes and Debit Notes
Both are now fully in scope for e-invoicing. A credit note (CRN) must reference the original IRN of the invoice being reversed using the PrecDocDt and PrecDocNo fields. Without this linkage, GSTR-1 auto-population will show the credit note but the portal cannot automatically net it against the original invoice. Configure your ERP credit-note flow to carry forward the original IRN at the time of credit-note creation.
Reconciliation Controls: Daily, Monthly, Pre-Filing
Reconciliation is not a month-end activity — it is a daily operational control.
Daily Controls
- IRN count vs. ERP invoice count: Extract all IRNs generated in the last 24 hours from the IRP (use the bulk download API) and match to invoices booked in your ERP. Any invoice in ERP without an IRN is either a configuration gap or a legitimate exemption (B2C, exempt supply) — document it.
- Cancelled IRN log: Verify that every cancelled IRN in the IRP has a corresponding cancellation entry in the ERP. An IRN cancelled at the IRP but still showing as "active" in the ERP creates a ghost invoice that inflates your GSTR-1.
Pre-GSTR-1 Filing (Monthly)
- Download the auto-populated GSTR-1 data from the GST portal (which reflects IRN data pushed by the IRP).
- Compare it to your ERP's sales register at the GSTIN + invoice-number level, not just totals.
- Common gap: export invoices with incorrect
PoS = 96appear in a different GSTR-1 table than expected. Resolve before filing — do not file a mismatched GSTR-1 and hope to amend later. - Credit notes: confirm that
CRNdocuments appear in Table 9B of GSTR-1 with correct linkage to the original invoice.
Monthly Vendor Scorecard (ITC Protection)
Your ITC under Section 16 of the CGST Act is now tightly coupled to your suppliers' e-invoicing compliance. Run a monthly vendor scorecard that tracks:
- IRN presence: What percentage of purchase invoices above the threshold carry a valid, verifiable IRN?
- GSTR-2B match rate: What percentage of your purchases appear in GSTR-2B (auto-populated from supplier GSTR-1)?
- GSTR-1 filing date: Suppliers who file GSTR-1 after the 11th of the following month delay your 2B availability.
For a business with Rs. 50 lakh per month in eligible input purchases at 18% GST, a 10% GSTR-2B mismatch represents Rs. 90,000 of ITC at risk each month — Rs. 10.8 lakh annually. That is a working-capital cost, not an abstract compliance metric.
Master Data Hygiene: The Real Root Cause
Roughly 70% of sustained e-invoicing failures trace back to stale or incorrect master data, not integration bugs. Build this quarterly routine:
- GSTIN status sweep: Pull every active GSTIN in your customer and vendor masters. Use the GSTN public API or GST portal search to verify status (Active / Suspended / Cancelled). Suspended GSTINs will cause IRP validation to fail at the point of invoice creation, halting dispatch.
- HSN-rate cross-check: For every HSN/SAC in your item master, verify the applicable GST rate against the current rate notifications under the CGST Act. HSN rate changes (which do happen after GST Council meetings) that are not reflected in the item master will compute the wrong tax, creating a mismatch at the IRP validation step.
- UOM code alignment: Run a report of all UOM codes in the item master against the GSTN prescribed UQC list. Flag any that do not map. Correct at the item master level — do not create workarounds in the integration layer.
- Address and state code audit: Every billing address in the customer master must carry a valid two-digit state code. Addresses without state codes will cause
PoSderivation to fail silently in some ERP configurations, resulting in wrong IGST/SGST split.
Schedule this hygiene run in the first week of each quarter and assign ownership to a named finance team member — not IT.
Performance and Resilience for High-Volume Sellers
At above 1,000 invoices per day, reliability engineering matters as much as configuration.
- Batch where the IRP allows it: The NIC bulk API accepts up to 1,000 invoices per batch. Where invoice creation is not real-time (e.g., end-of-day billing runs), use batch submission rather than individual calls.
- Exponential backoff: On a
5xxIRP error or a network timeout, retry after 2 seconds, then 4, then 8, capping at 60 seconds and 5 attempts. Alert on-call after 5 failures. - Multi-IRP routing: Configure a primary IRP and a secondary IRP. If the primary returns
503for more than 60 seconds, route to the secondary automatically. All authorised IRPs produce identical IRNs (same hash), so there is no duplication risk. - Monitoring dashboard: Track IRN generation latency (P95 should be under 3 seconds), cancellation rate (abnormally high rates indicate upstream ERP data problems), and daily reconciliation gap as a percentage of total invoices. Alert when the gap exceeds 1%.
Pitfalls to Avoid
- Generating IRNs in bulk at month-end to "catch up" — IRNs must be generated before or at the time of invoice issuance, not retroactively. The IRP timestamp is immutable.
- Treating e-invoicing as an IT project — configuration decisions (RCM flags, export type, place of supply) are tax decisions that require CA involvement, not just developer judgment.
- Ignoring the 24-hour cancellation window — once the window passes, you cannot cancel the original IRN. A credit note is the only remedy, and it generates its own compliance trail.
- Reusing cancelled invoice numbers — GSTN blocks re-registration of a cancelled IRN's invoice number for the same GSTIN + financial year. Renumber and document.
- Assuming B2C invoices are always exempt — if a B2C invoice is later revised to B2B (buyer provides GSTIN post-invoice), you must cancel and re-issue as a B2B invoice with an IRN. Build this amendment path into your workflow.
Key Takeaways
- Threshold for FY 2026-27 is Rs. 5 crore aggregate turnover (Notification No. 10/2023-CT); CBIC may lower it further — verify before each financial year's applicability assessment.
- Architecture choice matters: Direct API for high-volume sellers; GSP/ASP middleware for mid-size; portal generation only for very low volumes during testing.
- The five fields that cause 80% of rejections: Place of Supply state code, Supply Type (
INV/SEZWP/EXPWOP), Reverse Charge flag, UOM code, and value reconciliation at header level. - Cancellation is time-boxed: 24 hours only, and only before an e-way bill is linked. After that, issue a credit note through the IRP.
- Reconcile daily, not monthly: IRN count vs. ERP invoice count every day; pre-GSTR-1 reconciliation at transaction level before filing.
- Master data is the real failure point: Quarterly hygiene sweeps for GSTIN status, HSN-rate alignment, UOM codes, and state codes prevent the majority of sustained integration failures.
- Vendor compliance directly hits your ITC: A 10% GSTR-2B mismatch on Rs. 50 lakh monthly purchases at 18% GST costs Rs. 10.8 lakh per year in deferred or denied ITC — treat the vendor scorecard as a working-capital tool.





