Understanding the e-Invoice Format, JSON Schema, and Template in India
India's e-invoicing system, implemented in phases since October 2020, mandates a standardized digital format for eligible businesses to generate invoices. This system requires taxpayers to upload invoice details to an Invoice Registration Portal (IRP) to obtain a unique Invoice Reference Number (IRN). The article outlines the mandatory and optional fields of the e-invoice schema, detailing both the current July 2020 and older January 2020 specifications, alongside the process of e-invoice authorization.
India's Central Board of Indirect Taxes and Customs (CBIC) released the most recent e-invoice schema on July 30, 2020, with the e-invoicing system becoming operational on October 1, 2020. The government progressively expanded e-invoicing requirements to include businesses with a turnover exceeding Rs. 10 crore, effective October 1, 2022. To determine applicability, taxpayers must review their turnover from any financial year starting 2017-18. A standardized invoice format, featuring both essential and optional fields, is available for eligible taxpayers to use with their existing ERP or billing software. These details are then submitted to an Invoice Registration Portal (IRP), like the NIC's e-invoice portal, to generate a unique Invoice Reference Number (IRN) for each document, transforming it into an e-invoice.
Recent Regulatory Updates for e-Invoicing
Several significant updates have been introduced regarding e-invoicing:
- May 10, 2023: The CBIC announced the sixth phase of e-invoicing, mandating its issuance for taxpayers with an annual turnover of INR 5 crore or more in any financial year from 2017-18, effective August 1, 2023.
- May 6, 2023: The GST Network postponed the implementation of a 7-day time limit for reporting older e-invoices to IRP portals by three months. A new implementation date is yet to be announced.
- April 13, 2023: The GSTN issued an advisory stating that taxpayers with an annual turnover of Rs. 100 crore and above must report tax invoices and credit-debit notes to the IRP within seven days of their issue date, starting May 1, 2023.
- January 30, 2023: Updates to the NIC's e-invoice portal include:
- Users can select '96-Other Country' as the POS state code for items with HSN codes 9965 and 9968 (related to goods transportation services).
- Only documents dated on or after October 1, 2021, are processed on the portal.
- A new error code, 2295, has been added for duplicate requests, supplementing code 2150, indicating an IRN has already been generated and registered by another IRP.
Key Elements and Limitations of e-Invoices
The e-invoice schema incorporates both mandatory and optional fields. Mandatory fields are essential for an invoice to meet the e-invoice standard, while optional fields can be included based on business requirements. Each e-invoice can accommodate a maximum of 1000 line items, which can be extended to 5000 upon special request.
All mandatory fields must be completed for successful e-invoice registration on the IRP. If a mandatory field has no value, it can be reported as 'NIL'. The essential sections include:
- Fundamental information
- Supplier identification
- Recipient identification
- Detailed invoice items
- Total document value
The mandatory annexures typically cover:
- Detailed invoice items
- Total document value specifics.
e-Invoice Authorization Process
After the Invoice Registration Portal (IRP) validates the submitted data, the seller receives a JSON file containing a unique Invoice Reference Number (IRN), a digitally signed e-invoice, and a QR code. This QR code embeds crucial invoice details.
Each GSTIN will have a unique invoice serial number for a given financial year, which the supplier's ERP system must record. The IRP generates the IRN using the supplier's or document creator's GSTIN, the financial year, and the document's unique serial number.
Suppliers are required to link and store the IRN with each invoice. Storing the IRN in the ERP is vital, as an invoice without a valid IRN is not considered a legal document. The e-invoice schema serves as a comprehensive guide, detailing specifications, examples, and explanations for various invoice fields.
Overview of the Official e-Invoice Schema
The e-invoice schema is structured with the following columns:
| S.No. | Defined Columns | Meaning |
|---|---|---|
| 1 | Technical field name | The technical identifier used for the field. |
| 2 | Cardinality | Specifies whether the field is mandatory or optional, and if it can be repeated. |
| 3 | Small description of the field | The name displayed for the field within the e-invoice. |
| 4 | Is it mandatory on invoice | Indicates if the field is optional or mandatory for the invoice. |
| 5 | Technical field specification | Defines limitations such as maximum string length, date format, and decimal places. |
| 6 | Sample values of the field | Provides examples to help users understand the field's expected input. |
| 7 | Explanatory notes of the field | Offers a detailed explanation of the field's meaning and required information. |
Required Fields in the e-Invoice Schema (Dated July 30, 2020)
The latest e-invoice schema, issued in July 2020, specifies 30 mandatory fields:
| Sl. no. | Name of the field | List of Choices/ Specifications/Sample Inputs | Remarks |
|---|---|---|---|
| 1 | Document Type Code | Enumerated List such as INV/CRN/DBN | Specifies the type of document. |
| 2 | Supplier_Legal Name | String Max length: 100 | The supplier's legal name, as per their PAN card. |
| 3 | Supplier_GSTIN | Max length: 15 Must be alphanumeric | The Goods and Services Tax Identification Number (GSTIN) of the supplier generating the e-invoice. |
| 4 | Supplier_Address | Max length: 100 | The building/flat number, road/street, locality, etc., of the supplier. |
| 5 | Supplier_Place | Max length: 50 | The supplier’s location, such as city, town, or village. |
| 6 | Supplier_State_Code | Enumerated list of states | The state must be selected from the most recent list provided by GSTN. |
| 7 | Supplier Pincode | Six digit code | The postal code (locality/district/state) of the supplier’s location. |
| 8 | Document Number | Max length: 16 Sample can be “ Sa/1/2019” | A unique, sequential number for invoice identification within the business context, timeframe, operating systems, and supplier records. No external identification scheme should be used. |
| 9 | Preceeding_Invoice_Reference and date | Max length:16 Sample input is “ Sa/1/2019” and “16/11/2020” | Details of the original invoice being amended by a subsequent document (e.g., debit or credit note). This is for future expansion of e-versions of such documents under GST. |
| 10 | Document Date | String (DD/MM/YYYY) as per the technical field specification | The date of invoice issuance. The format in explanatory notes suggests ‘YYYY-MM-DD’, requiring further clarification. Document period start and end dates must also be specified if selected. |
| 11 | Recipient_ Legal Name | Max length: 100 | The buyer's name, as per their PAN. |
| 12 | Recipient’s GSTIN | Max length: 15 | The buyer's GSTIN must be declared here. |
| 13 | Recipient’s Address | Max length: 100 | The building/flat number, road/street, locality, etc., of the recipient. |
| 14 | Recipient’s State Code | Enumerated list | The state code for the place of supply must be chosen here. |
| 15 | Place_Of_Supply_State_ Code | Enumerated list of states | The state must be selected from the most recent list provided by GSTN. |
| 16 | Pincode | Six digit code | The postal code (locality/district/state) of the buyer, if applicable. |
| 17 | Recipient Place | Max length: 100 | The recipient’s location (city/town/village). |
| 18 | IRN- Invoice Reference Number | Max length: 64 Sample is ‘a5c12dca8 0e7433217…ba4013 750f2046f229’ | This field is initially left blank by the supplier during the registration request. A unique number is generated by GSTN after the e-invoice is uploaded and successfully accepted, then an acknowledgement is sent back. The IRN must be displayed on the e-invoice before its use. |
| 19 | ShippingTo_GSTIN | Max length: 15 | The GSTIN of either the buyer or the person receiving the item. |
| 20 | Shipping To_State, Pincode and State code | Max length: 100 for state, 6 digit pincode and enumerated list for code | The state, postal code, and state code corresponding to the location where the invoiced goods or services were, or are to be, delivered. |
| 21 | Dispatch From_ Name, Address, Place and Pincode | Max length: 100 each and 6 digit for pincode | Details (name, address, city/town/village, and postal code) of the entity from which goods are dispatched. |
| 22 | Is_Service | String (Length: 1) by selecting Y/N | Indicates whether the supply involves services. |
| 23 | Supply Type Code | Enumerated list of codes Sample values can be either of B2B/B2C/ SEZWP/S EZWOP/E XP WP/EXP WOP/DE XP | Code to identify the type of supply, such as business-to-business, business-to-consumer, supply to SEZ/Exports (with or without payment), or deemed export. |
| 24 | Item Description | Max length: 300 The sample value is ‘Mobile’ The schema document refers to this as the ‘identification scheme identifier of the Item classification identifier’ | The common description used for the item in trade. Further clarity may be needed for describing multiple items under the same HSN code. |
| 25 | HSN Code | Max length: 8 | The applicable Harmonised System of Nomenclature (HSN) code for the specific goods or services. |
| 26 | Item_Price | Decimal (12,3) Sample value is ‘50’ | The unit price, excluding GST and before any item price discount. Cannot be negative. |
| 27 | Assessable Value | Decimal (13,2) Sample value is ‘5000’ | The item's price, exclusive of GST, after any item price discount has been applied (Gross price minus Discount equals Net price, if a cash discount is provided). |
| 28 | GST Rate | Decimal (3,2) Sample value is ‘5’ | The Goods and Services Tax (GST) rate, expressed as a percentage, applicable to the invoiced item. |
| 29 | IGST Value, CGST Value and SGST Value Separately | Decimal (11,2) Sample value is ‘650.00’ | The individual Integrated Goods and Services Tax (IGST), Central Goods and Services Tax (CGST), and State Goods and Services Tax (SGST) amounts must be specified for each item. |
| 30 | Total Invoice Value | Decimal (11,2) | The invoice's total amount, including GST. This value must be rounded to a maximum of two decimal places. |
Required Fields in the Older e-Invoice Schema (Dated January 1, 2020)
The earlier e-invoice schema, notified in January 2020, included 50 mandatory fields:
| Sl.No. | Name of the field | List of Choices/Specifications/Sample Inputs | Remarks |
|---|---|---|---|
| 1 | IRN | Max length: 50 Sample: 649b01ft | This unique reference number for the invoice can be generated by the seller or left blank for IRP generation. If generated by the seller, the system validates and registers it. If left blank, the e-invoice system generates one. An invoice is only valid if it has an IRN registered on the e-invoice system. |
| 2 | Invoice_Type_Code | Max length: 10 Can be one of the following: Reg/SEZP/SEZWP/EXP/EXPWP/DEXP | Denotes the type of invoice: Regular, SEZ supplies with payment, SEZ supplies without payment, deemed exports, sale from bonded warehouse, export without payment of tax, or export with payment of tax. |
| 3 | Invoice Number | Max length: 16 Sample input is ‘Sa/1/2019’ | A sequential number required for unique invoice identification within the business's context, timeframe, operating systems, and records. No external identification scheme is to be employed. |
| 4 | Invoice Date | (DD/MM/YYYY) | The date on which the invoice was issued. |
| 5 | Invoice_Period_Start_Date | (DD/MM/YYYY) | No explanation provided in the source. |
| 6 | Invoice_Period_End_Date | (DD/MM/YYYY) | No explanation provided in the source. |
| 7 | Preceeding_Invoice_Reference | Max length:16 Sample input is ‘Sa/1/2019’ | Details of the original invoice being amended by a subsequent document, such as a debit or credit note. This provision supports future expansions for e-versions of such documents under GST. |
| 8 | Preceeding_Invoice_Date | (DD/MM/YYYY) | The date on which the original invoice was issued. |
| 9 | Supplier_Legal_Name | Max length: 100 | The supplier's name as it appears on their PAN card. |
| 10 | Supplier_GSTIN | Max length: 15 Must be alphanumeric | The GSTIN of the supplier who is raising the e-invoice. |
| 11 | Supplier_Address1 | Max length: 100 | The address of the supplier. |
| 12 | Supplier_State | Max length: 50 | The state where the supplier is located. |
| 13 | Supplier_Pincode | Max length: 6 | The postal code of the supplier. |
| 14 | Billing_Name | Max length: 100 | The trade name of the buyer. |
| 15 | Billing_GSTIN | Max length: 15 | The GSTIN of the buyer. |
| 16 | Billing_POS | Max length: 2 | The state code for the place of supply. |
| 17 | Billing_Address1 | Max length: 100 | The locality, district, or state of the buyer to whom the invoice is raised or billed, if applicable. |
| 18 | Billing_State | Max length: 50 | The state of the buyer. |
| 19 | Billing_Pincode | Max length: 6 | The postal code of the buyer. |
| 20 | Payee_Name | Max length: 100 | The name of the person or entity designated to receive payment. |
| 21 | Payer_Financial_Account | Max length: 18 | The account number of the payee. |
| 22 | Mode of Payment | Max length: 6 | Indicates whether the payment method is Cash, Credit, or Direct Transfer. |
| 23 | Financial_Institution_Branch | Max length: 11 | The Indian Financial System Code (IFS code) must be provided here. |
| 24 | Dispatch_From_Details | Information regarding the location from which the goods were dispatched. | |
| 25 | List (items) | A collection of business terms providing specifics about the goods and services included in the invoice. | |
| 26 | Tax_Total | Decimal (10,2) | If a tax currency code is specified, two instances of the tax total are required, but only one with the tax subtotal. |
| 27 | Paid_amount | Decimal (10,2) | The aggregate amount that has been paid in advance, rounded to a maximum of two decimal places. |
| 28 | Amount_due_for_payment | Decimal (10,2) | The outstanding balance that needs to be paid, rounded to a maximum of two decimal places. |
| 29 | Tax_Scheme | Max length: 4 | A mandatory field, typically specifying 'GST'. |
| 30 | Shipping_To_Name | Max length: 60 | Business terms detailing the name associated with the address where invoiced goods and services were, or are to be, delivered. |
| 31 | Shipping_To_GSTIN | Max length: 100 | Business terms detailing the GSTIN associated with the address where invoiced goods and services were, or are to be, delivered. |
| 32 | ShippingTo_Address1 | Max length: 50 | Business terms providing the primary address line for the delivery of invoiced goods and services. |
| 33 | ShippingTo_Pincode | Max length: 50 | Business terms providing the postal code for the delivery address of invoiced goods and services. |
| 34 | ShippintTo_State | Max length: 100 | Business terms providing the state for the delivery address of invoiced goods and services. |
| 35 | Subsupply Type | Max length: 2 | Business terms providing specifics about the type of sub-supply for delivered goods and services. |
| 36 | Transaction Mode | Max length: 2 | Business terms providing specifics about the mode of transaction for delivered goods and services. |
| 37 | Company_Name | Max length: 60 | Details the company name from which goods are dispatched. |
| 38 | Address1 | Max length: 100 | Details the primary address line from which goods are dispatched. |
| 39 | State | Max length: 2 | Details the state from which goods are dispatched. |
| 40 | Pincode | Max length: 6 | Details the postal code from which goods are dispatched. |
| 41 | SLNO | Integer | The serial number for an item, e.g., 1, 2, 3. |
| 42 | Quantity | Decimal (13,3) | The quantity of items (goods or services) charged on the invoice line. |
| 43 | Rate | Decimal (10,2) | The number of item units to which the price applies. |
| 44 | Assessable Value | Decimal (13,2) | The unit price, excluding GST and before any item price discount; cannot be negative. |
| 45 | GST Rate | Decimal (3,2) | The GST rate, expressed as a percentage, applicable to the invoiced item. |
| 46 | Iamt | Decimal (11,2) | The IGST amount per item. |
| 47 | Camt | Decimal (11,2) | The CGST amount per item. |
| 48 | Samt | Decimal (11,2) | The SGST amount per item. |
| 49 | Total Invoice Value | Decimal (11,2) | The invoice's total amount, including GST, rounded to a maximum of two decimal places. |
| 50 | Batch Name | Max length: 20 | Batch number details, important for certain manufacturers. |
Optional fields encompass references to contracts, vendor purchase orders, e-way bill numbers, phone numbers or email IDs, and details of the goods' dispatch location, among others.
The following provides an illustration of an e-invoice, typically generated by ERP software.
The GST portal initially offered two e-invoice templates: one containing only mandatory fields and another with both mandatory and optional fields, both provided in an Excel format.