Not tax advice. Computation tools only. Have a professional check your work before filing.
openaccountants/skills/india-einvoice.md

Use this skill with your AI agent

View on GitHub

Paste this skill into your AI agent's context, or save the file to your project. Works with any AI agent that reads markdown.

india-einvoice.md346 lines12.3 KB
v10India
Not yet verified by an accountantContact accountant
1---
2name: india-einvoice
3description: >
4 Use this skill whenever asked about India GST e-invoicing, Invoice Registration Portal (IRP), IRN generation, e-invoice JSON schema, NIC portal, GST INV-01 format, e-invoice threshold, B2B invoice reporting under GST, QR code on invoices, GSTR-1 auto-population, e-way bill integration with e-invoice, or any question about generating, validating, or troubleshooting Indian e-invoices. Also trigger when advising on e-invoice compliance for businesses crossing Rs 5 crore turnover, configuring ERP/billing software for IRP integration, or handling IRP rejections. ALWAYS read this skill before touching any India e-invoice work.
5version: 1.0
6jurisdiction: IN
7category: invoicing
8depends_on:
9 - einvoice-workflow-base
10---
11 
12# India GST E-Invoice Skill v1.0
13 
14---
15 
16## Section 1 -- Quick Reference
17 
18| Field | Value |
19|---|---|
20| Country | India (Republic of India) |
21| Currency | INR (Indian Rupee) |
22| E-Invoicing System | Invoice Registration Portal (IRP) under GST |
23| Governing Body | Goods and Services Tax Network (GSTN) / Central Board of Indirect Taxes and Customs (CBIC) |
24| Key Legislation | CGST Act 2017, Rule 48(4)/(5) of CGST Rules 2017, Notification 10/2023-CT |
25| Schema Standard | GST INV-01 JSON (proprietary schema, not UBL) |
26| Current Threshold | Aggregate Annual Turnover (AATO) > Rs 5 crore in any FY since 2017-18 |
27| Implementation Start | 1 October 2020 (phased rollout by turnover) |
28| Current Status | Fully operational; mandatory for AATO > Rs 5 crore since 1 August 2023 |
29| Approved IRPs (2026) | NIC (primary), Cygnet, Clear, IRIS, BDO, EY |
30| Filing Portal | einvoice1.gst.gov.in (production); einv-apisandbox.nic.in (sandbox) |
31 
32### Turnover Phase-In Timeline
33 
34| Turnover Threshold | Mandatory From |
35|---|---|
36| > Rs 500 crore | 1 October 2020 |
37| > Rs 100 crore | 1 January 2021 |
38| > Rs 50 crore | 1 April 2021 |
39| > Rs 20 crore | 1 April 2022 |
40| > Rs 10 crore | 1 October 2022 |
41| > Rs 5 crore | 1 August 2023 |
42 
43---
44 
45## Section 2 -- Mandate Scope
46 
47### Who Must Comply
48 
49- Any GST-registered taxpayer whose **aggregate annual turnover (AATO)** exceeded Rs 5 crore in **any financial year from FY 2017-18 onwards**
50- Once the threshold is crossed in any past year, the obligation is **permanent** even if current-year turnover drops below Rs 5 crore
51- Covers: B2B supply invoices, B2B credit notes, B2B debit notes, exports, supplies to SEZ units
52 
53### Document Types Covered
54 
55| Document | IRP Document Type Code |
56|---|---|
57| Tax Invoice | INV |
58| Credit Note | CRN |
59| Debit Note | DBN |
60 
61### Exempted Categories
62 
63- B2C invoices (not reportable to IRP)
64- SEZ units themselves (when issuing)
65- Insurance companies, banking companies, financial institutions, NBFCs
66- Goods transport agencies (GTA)
67- Passenger transport services
68- Cinema ticket admissions
69 
70### Time Limit for Reporting
71 
72| Taxpayer AATO | Reporting Deadline |
73|---|---|
74| > Rs 100 crore | Within 7 days of invoice date |
75| > Rs 10 crore | Within 30 days of invoice date (from 1 April 2025) |
76| Up to Rs 10 crore | No specific time limit (expected to extend) |
77 
78After the deadline expires, the IRP permanently rejects IRN generation for that document.
79 
80---
81 
82## Section 3 -- Technical Format
83 
84### Schema Specification
85 
86| Aspect | Detail |
87|---|---|
88| Format | JSON (not XML) |
89| Schema Name | GST INV-01 |
90| Current API Version | v1.04 |
91| Character Encoding | UTF-8 |
92| Date Format | DD/MM/YYYY |
93| Decimal Precision | 2 decimal places for amounts |
94 
95### JSON Structure (Top-Level Objects)
96 
97```json
98{
99 "Version": "1.1",
100 "TranDtls": { },
101 "DocDtls": { },
102 "SellerDtls": { },
103 "BuyerDtls": { },
104 "DispDtls": { },
105 "ShipDtls": { },
106 "ItemList": [ ],
107 "ValDtls": { },
108 "PayDtls": { },
109 "RefDtls": { },
110 "AddlDocDtls": [ ],
111 "ExpDtls": { },
112 "EwbDtls": { }
113}
114```
115 
116### IRN Generation Algorithm
117 
118The IRN is a **64-character SHA-256 hash** computed by the IRP from four fields:
1191. Supplier GSTIN
1202. Financial Year (derived from invoice date)
1213. Document Type Code
1224. Document Number
123 
124The taxpayer does NOT generate the IRN — the IRP returns it after successful validation.
125 
126---
127 
128## Section 4 -- Mandatory Fields
129 
130### Transaction Details (TranDtls)
131 
132| Field Path | Description | Values |
133|---|---|---|
134| TranDtls.TaxSch | Tax scheme | Always "GST" |
135| TranDtls.SupTyp | Supply type | B2B, SEZWP, SEZWOP, EXPWP, EXPWOP, DEXP |
136| TranDtls.RegRev | Reverse charge | Y / N |
137| TranDtls.IgstOnIntra | IGST on intra-state | Y / N |
138 
139### Document Details (DocDtls)
140 
141| Field Path | Description | Constraints |
142|---|---|---|
143| DocDtls.Typ | Document type | INV, CRN, DBN |
144| DocDtls.No | Document number | Max 16 chars, alphanumeric + / - |
145| DocDtls.Dt | Document date | DD/MM/YYYY, cannot be future date |
146 
147### Seller Details (SellerDtls)
148 
149| Field Path | Description |
150|---|---|
151| SellerDtls.Gstin | 15-char GSTIN |
152| SellerDtls.LglNm | Legal name (as per PAN) |
153| SellerDtls.Addr1 | Address line 1 |
154| SellerDtls.Loc | City/Location |
155| SellerDtls.Pin | 6-digit PIN code |
156| SellerDtls.Stcd | State code (01-37) |
157 
158### Buyer Details (BuyerDtls)
159 
160| Field Path | Description |
161|---|---|
162| BuyerDtls.Gstin | Buyer GSTIN (or URP for unregistered) |
163| BuyerDtls.LglNm | Legal name |
164| BuyerDtls.Pos | Place of supply (state code) |
165| BuyerDtls.Addr1 | Address line 1 |
166| BuyerDtls.Loc | Location |
167| BuyerDtls.Pin | PIN code |
168| BuyerDtls.Stcd | State code |
169 
170### Item Details (ItemList[])
171 
172| Field Path | Description |
173|---|---|
174| SlNo | Serial number (1-based) |
175| PrdDesc | Product description |
176| IsServc | Is service (Y/N) |
177| HsnCd | HSN/SAC code (min 4 digits; 8 digits if AATO > Rs 5 Cr) |
178| Qty | Quantity |
179| Unit | Unit of measurement (UQC code) |
180| UnitPrice | Unit price |
181| TotAmt | Total amount (Qty × UnitPrice) |
182| AssAmt | Assessable amount (after discount) |
183| GstRt | GST rate (IGST or CGST+SGST combined rate) |
184| IgstAmt / CgstAmt / SgstAmt | Tax amounts |
185| TotItemVal | Total item value including tax |
186 
187### Value Details (ValDtls)
188 
189| Field Path | Description |
190|---|---|
191| ValDtls.AssVal | Total assessable value |
192| ValDtls.IgstVal | Total IGST |
193| ValDtls.CgstVal | Total CGST |
194| ValDtls.SgstVal | Total SGST/UTGST |
195| ValDtls.TotInvVal | Total invoice value (INR) |
196 
197---
198 
199## Section 5 -- Transmission Method
200 
201### API Integration (Recommended)
202 
203| Parameter | Value |
204|---|---|
205| Production Base URL | https://einvapi.gst.gov.in |
206| Sandbox Base URL | https://einv-apisandbox.nic.in |
207| Auth Endpoint | /eivital/v1.04/auth |
208| Invoice Generation | POST /eivital/v1.04/Invoice |
209| Cancel IRN | POST /eivital/v1.04/Invoice/Cancel |
210| Get Invoice by IRN | GET /eivital/v1.04/Invoice/irn/{irn} |
211 
212### Authentication
213 
214| Header | Description |
215|---|---|
216| client-id | Issued by IRP on registration |
217| client-secret | Issued by IRP on registration |
218| user_name | Taxpayer's IRP portal username |
219| Gstin | Taxpayer's GSTIN |
220| AuthToken | Session token (valid 6 hours / 360 minutes) |
221 
222Auth token must be refreshed after 6 hours. Use `ForceRefreshAccessToken: true` within last 10 minutes of token life.
223 
224### Alternative Submission Methods
225 
2261. **GSP/ASP route** — GST Suvidha Provider acts as middleware (recommended for 50+ invoices/day)
2272. **Bulk upload** — JSON file upload via IRP web portal (small-volume fallback)
2283. **Offline tool** — Excel-to-JSON converter on IRP portal (emergency/testing only)
229 
230---
231 
232## Section 6 -- Validation Rules
233 
234### IRP Pre-Checks (Real-Time)
235 
2361. GSTIN validity — both seller and buyer must be active GSTINs
2372. Duplicate check — combination of seller GSTIN + doc type + doc number + FY must be unique
2383. Date validation — invoice date cannot be future; cannot exceed time limit
2394. HSN validation — must exist in master; 8-digit for goods if AATO > Rs 5 crore
2405. Mathematical validation — line item totals must sum to document totals (tolerance: Rs 1)
2416. State code / PIN code consistency
2427. Tax rate validation — GST rate must be a valid rate (0, 0.1, 0.25, 1, 1.5, 3, 5, 6, 7.5, 12, 14, 18, 28)
243 
244### Common Rejection Reasons
245 
246| Error Code | Description | Fix |
247|---|---|---|
248| 2150 | Duplicate IRN | Invoice already reported — check if IRN exists |
249| 2163 | Document date exceeds time limit | Cannot fix; issue fresh invoice with new number |
250| 2174 | GSTIN not enabled for e-invoicing | Verify IRP registration |
251| 2283 | HSN code invalid | Update to valid 4/6/8 digit HSN |
252| 2269 | Item value mismatch | Recalculate: TotAmt = Qty × UnitPrice |
253| 2287 | Total invoice value mismatch | Verify ValDtls.TotInvVal = sum of all components |
254 
255---
256 
257## Section 7 -- Tax Computation Rules
258 
259### Tax Amount Calculation
260 
261- **Intra-state supply**: Split into CGST + SGST (each = half of applicable GST rate)
262- **Inter-state supply**: Full IGST (= full applicable GST rate)
263- Place of supply (BuyerDtls.Pos) determines intra vs inter-state
264 
265### Rounding Rules
266 
267- All amounts rounded to 2 decimal places
268- Rounding tolerance at document level: Rs 1 (IRP accepts ±1 difference between sum of line items and document total)
269- Round each line item independently, then sum
270 
271### Multi-Rate Invoice
272 
273- Each line item carries its own GstRt
274- ValDtls aggregates all IGST/CGST/SGST across items
275- No restriction on mixing rates within a single invoice
276 
277### Discount Handling
278 
279- Discount applied at item level: AssAmt = TotAmt - Discount
280- Tax calculated on AssAmt (assessable amount), not gross amount
281 
282---
283 
284## Section 8 -- Archiving Requirements
285 
286| Requirement | Detail |
287|---|---|
288| Retention Period | Minimum 6 years from due date of annual return (GSTR-9) for the relevant FY; 8 years recommended |
289| Format | Original JSON submitted + signed JSON returned by IRP (with IRN and QR) |
290| Digital Signature | IRP signs the returned payload with its private key; retain the signed response |
291| QR Code | Must appear on printed/PDF invoice; contains IRN, invoice date, supplier GSTIN, buyer GSTIN, invoice value, number of line items, HSN codes, unique hash |
292| Storage Medium | No specific medium mandated; must be producible on demand during audit |
293| GSTR-1 Linkage | IRP auto-pushes e-invoice data to GSTR-1; retain confirmation of auto-population |
294 
295---
296 
297## Section 9 -- Penalties for Non-Compliance
298 
299| Offence | Penalty | Legal Basis |
300|---|---|---|
301| Issuing invoice without valid IRN when required | Rs 10,000 per invoice OR 100% of tax involved, whichever is higher | Section 122(1)(i) CGST Act |
302| Issuing incorrect or false invoice | Up to Rs 25,000 per invoice | Section 122(3) CGST Act |
303| Fake invoicing (invoice without actual supply) | 100% of tax evaded or ITC availed (min Rs 10,000) | Section 122(1)(ii) CGST Act |
304| General penalty (no specific clause) | Up to Rs 25,000 | Section 125 CGST Act |
305| Buyer consequence — ITC denial | Buyer cannot claim Input Tax Credit on invoice without valid IRN | Rule 48(5) CGST Rules |
306| Repeated default | GSTIN suspension possible | Section 29(2) CGST Act |
307 
308### Cascading Impact
309 
310An invoice without IRN is not a valid tax invoice under Rule 48(5). The buyer's ITC claim is denied, which creates commercial pressure on the supplier to comply.
311 
312---
313 
314## Section 10 -- Interaction with Tax Skills
315 
316### GSTR-1 Auto-Population
317 
318- IRP pushes validated e-invoice data to GSTR-1 the next day
319- Supplier does NOT need to manually enter these invoices in GSTR-1
320- If discrepancies exist between e-invoice and manually entered GSTR-1 data, the e-invoice data prevails
321 
322### E-Way Bill Integration
323 
324- If supply value > Rs 50,000 and goods are being transported, e-way bill can be generated in the same API call
325- Set EwbDtls fields (TransId, TransName, Distance, TransDocNo, TransDocDt, VehNo, VehType)
326- Single API call generates both IRN and EWB number
327 
328### GSTR-2B / ITC Matching
329 
330- Buyer's GSTR-2B auto-populated from supplier's e-invoices
331- Facilitates ITC matching and reconciliation
332- Discrepancies flagged automatically in GSTR-2B
333 
334### Annual Return (GSTR-9)
335 
336- E-invoice data feeds into annual return reconciliation
337- Auditors can cross-verify GSTR-9 figures against IRP-reported data
338 
339---
340 
341## Disclaimer
342 
343This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a CA, CPA, or equivalent licensed practitioner in your jurisdiction) before filing or acting upon.
344 
345The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com).
346 

Run this skill, then get an accountant to check it

After running the full skill pack in your AI agent, sign up and upload your worksheet. We'll connect you with a trusted accountant in our network who can review your numbers before you file.

Verification status

Research-verified

Drafted from authoritative sources (tax authority sites, Big-4 summaries). Awaiting credentialed sign-off.

Needs section-by-section practitioner review to reach accountant-verified.

Section review progress

0/34

About

Use this skill whenever asked about India GST e-invoicing, Invoice Registration Portal (IRP), IRN generation, e-invoice JSON schema, NIC portal, GST INV-01 format, e-invoice threshold, B2B invoice reporting under GST, QR code on invoices, GSTR-1 auto-population, e-way bill integration with e-invoice, or any question about generating, validating, or troubleshooting Indian e-invoices. Also trigger when advising on e-invoice compliance for businesses crossing Rs 5 crore turnover, configuring ERP/billing software for IRP integration, or handling IRP rejections. ALWAYS read this skill before touching any India e-invoice work.

INty-2025

Use this skill

This skill is open source and free to use in any AI agent. Copy it, download it, or clone the repo. If you find an error, report an issue — a licensed accountant will review.

9 of 16 in the IN workflow: