Looking for a business loan
Thank you for your interest, our team will get back to you shortly
Thank you for your response
Thank you for your response
Our representative will get in touch with you shortly.
One-click communication
Send einvoices to all your customers over email
Always on
99.99% uptime with multi-GSP redundancies in place
Data import
API, SFTP with any ERP, standard govt template, custom mapper
A GST taxpayer often encounters JSON file and JSON errors while filing GST returns. The use of JSON file is going to be more frequent under the e-invoicing system. Invoice JSON and e-Invoice JSON are not the same.
Pro Tip: Get up and running with e-Invoicing in 3 minutes Request a free demo
Latest Update
26th December 2022
The CBIC has clarified that there is no proposal before the GST Council and no plans of the government to implement the next phase of e-invoicing for those businesses with turnover over Rs.5 crore from 1st January 2023.
11th October 2022
The GST Council may implement the next phase of e-invoicing for businesses with an annual turnover of more than Rs.5 crore from 1st January 2023. The system may get extended to businesses with a turnover of over Rs.1 crore by the end of the next fiscal year.
1st August 2022
The e-Invoicing system for B2B transactions has now been extended to those with an annual aggregate turnover of more than Rs.10 crore up to Rs.20 crore starting from 1st October 2022, vide notification no. 17/2022.
It is a JAVA-based computer file. It is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute-value pairs and array data types. It is in an easy to read and write format. The JSON format is often used for transmitting structured data between a server and web application. Thus, it serves as an alternative to XML.
Below are the e-invoice JSON objects:
Sr.No | Section | Contents |
1 | Header | Contains Tax Scheme, Version, Invoice Reference No., etc. |
2 | Transaction | Contains Transaction Category and Type |
3 | Document | Contains Document Type, Number, Date, etc. |
4 | Seller | Contains Seller GSTIN, Trade Name, Address, etc. |
5 | Buyer | Contains Buyer GSTIN, Trade Name, Address, etc. |
6 | Dispatch | Contains Dispatch GSTIN, Trade Name, Address, etc. |
7 | Ship To | Contains Ship to GSTIN, Trade Name, Address, etc. |
8 | Item | Contains Details of Line Items |
9 | Document | Contains all Total Values of the Document |
10 | Payment | Contains Payment Details and Conditions |
11 | Reference | Contains References Related to Invoice |
Some of the major areas where JSON validations come up are:
1 | Generation of IRN | Only the following documents are considered for IRN generation: -Invoice -Debit note -Credit note |
2 | Category of transactions | E-invoice request should be made only for below category of transactions: -Business-to-Business(B2B) invoices -Business-to-Government (B2G) invoices -Business-to-Export invoices -Reverse Charges invoices -Supplies through e-commerce operator |
3 | Reverse Charge | It is allowed only for B2B invoice |
4 | Request for the IRN/e-Invoice | -It can be made only by the supplier or e-commerce operator on behalf of the supplier -Duplicate IRN requests are not considered -IRN can be regenerated for cancelled e-invoice -IRN can be generated on a combination of supplier GSTIN, FY, document type and number. |
5 | Number of Items | Maximum number of items should not exceed 1,000, which later has been increased to 10,000 |
The JSON file is used under GST for submitting invoice information on various government portals for GST compliance. It includes filing of GST returns and generation of e-way bills. In its latest application, it will be used for generating an e-invoice.
JSON syntax is very easy to use and is one of the best tools for sharing data of any size because it stores data in arrays and makes data transfer easier and faster. Thus, a JSON file is used for uploading invoice data for GST return filing in GSTR-1 and generation of e-way bill. Under the e-invoicing system, the seller will have to upload the JSON invoice data onto the IRP. Thereafter, the IRP shall send back the signed JSON to the seller.
A taxpayer has to raise a normal invoice on his accounting software by providing all the necessary details as per e-invoice schema such as billing name and address, GSTIN of the supplier, transaction value, tax amount, etc. After creating an invoice the taxpayer must report this with IRP by uploading in JSON file. Let us understand the invoice extraction options and routes available to upload invoice data with IRP. Ultimately by either of the options or routes, a JSON file will be uploaded on IRP.
Invoice Extraction Options:
Routes to approach IRP:
The government has released two types of e-invoice format. One is only with mandatory fields and the other one is with both mandatory and optional fields. Below is the template with only mandatory fields: There are two types of JSON that deal with e-invoicing. One is Request JSON and the second one is Response JSON. A taxpayer uploads his details into IRP through Request JSON and the IRP, in turn, provides validation errors, status and other information through Response JSON. The JSON format of an Invoice is given below:
{
“TaxSch”:”GST”,
“Version”:”1.0”,
“Irn”:””,
"TranDtls": {
"Catg": "B2B",
"RegRev": "RG",
"Typ": "REG",
"EcmTrnSel": false,
"EcmTrn": "N",
"EcmGstin": null
},
"DocDtls": {
"Typ": "INV",
"No": "sadsd",
"Dt": "2019-11-25",
"OrgInvNo": null
},
"ExpDtls": {
"ExpCat": null,
"WthPay": null,
"ShipBNo": null,
"ShipBDt": "2019-11-25",
"Port": null,
"InvForCur": 0,
"ForCur": "BDT",
"CntCode": "BD"
},
"SellerDtls": {
"Gstin": "37BZNPM9430M1kl",
"TrdNm": "TAN TEST NIC",
"Bno": "TEST2",
"Bnm": "TEST1",
"Flno": "3RD FLOOR",
"Loc": "GANDHINAGAR",
"Dst": null,
"Pin": 518001,
"Stcd": 37,
"Ph": null,
"Em": null
},
"BuyerDtls": {
"Gstin": "37BZNPM9430M1kl",
"TrdNm": "TAN TEST NIC",
"Bno": "TEST2",
"Bnm": "TEST1",
"Flno": "3RD FLOOR",
"Loc": "GANDHINAGAR",
"Dst": null,
"Pin": 518001,
"Stcd": 37,
"Ph": null,
"Em": null
},
"DispDtls": {
"Gstin": "37BZNPM9430M1kl",
"TrdNm": "TAN TEST NIC",
"Bno": "TEST2",
"Bnm": "TEST1",
"Flno": "3RD FLOOR",
"Loc": "GANDHINAGAR",
"Dst": null,
"Pin": 518001,
"Stcd": 37,
"Ph": null,
"Em": null
},
"ShipDtls": {
"Gstin": "37BZNPM9430M1kl",
"TrdNm": "TAN TEST NIC",
"Bno": "TEST2",
"Bnm": "TEST1",
"Flno": "3RD FLOOR",
"Loc": "GANDHINAGAR",
"Dst": null,
"Pin": 518001,
"Stcd": 37,
"Ph": null,
"Em": null
},
"ValDtls": {
"AssVal": 100.00,
"CgstVal": 1.50,
"SgstVal": 1.50,
"IgstVal": 0.00,
"CesVal": 15.00,
"StCesVal": 36.00,
"CesNonAdVal": 0.00,
"Disc": 0, "OthChrg": 0,
"TotInvVal": 154.00,
},
"RefDtls": {
"InvRmk": null,
"InvStDt": "2019
-11
-25",
"InvEndDt": "2019
-11
-25",
"PrecInvNo": null,
"PrecInvDt": "2019
-11
-25",
"RecAdvRef": null,
"TendRef": null,
"ContrRef": null,
"ExtRef": null,
"ProjRef": null,
"PORef": null
},
"PayDtls": {
"Nam": null,
"Mode": null,
"FinInsBr": null,
"PayTerm": null,
"PayInstr": null,
"CrTrn": null,
"DirDr": null,
"CrDay": null,
"BalAmt": null,
"PayDueDt": null,
"AcctDet": null
},
"ItemsList":”Item” [{
"PrdNm": "dfasf",
"PrdDesc": "dfdfsdf",
"HsnCd": "10",
“BarCde”:””,
"Qty": 10,
“FreeQty”:0,
"Unit": "bag",
"UnitPrice": 10,
"TotAmt": 0,
"CgstRt": 1.500,
"SgstRt": 0,
"IgstRt": 0,
"CesRt": 15.000,
"CesNonAdVal": 0,
"StateCes": 36.000,
"TotItemVal": 100,
"Discount": 0,
"OthChrg": 0,
“AssAmt”:0
}]
}