What a GSTR-1 JSON is
Typing hundreds of B2CS rows or invoices into the GST portal by hand is slow and error-prone. Instead, the portal accepts a JSON file prepared by the GST offline tool or by software, and loads all of it into your GSTR-1 at once.
JSON is a plain-text format of names and values. You can open the file in any text editor; you just should not edit it by hand unless you know the format, because a single missing comma makes the whole file invalid.
The sections inside the file
The top of the file identifies the return: your GSTIN (gstin) and the return period (fp, for example 102026 for October 2026). After that come the tables, each under a short name:
| Key in JSON | GSTR-1 table | Contains |
|---|---|---|
b2b | 4A, 4B, 6B, 6C | Invoices to registered buyers, grouped by buyer GSTIN, with invoice number, date, value, place of supply and items by rate. |
b2cl | 5 | Large inter-state invoices to unregistered buyers above the B2CL limit, reported invoice-wise. |
b2cs | 7 | All other sales to unregistered buyers, one row per place of supply and rate, with type (intra/inter), taxable value and tax. |
cdnr | 9B | Credit and debit notes issued to registered buyers. |
nil | 8 | Nil-rated, exempt and non-GST supplies, split into intra/inter-state and B2B/B2C. |
hsn | 12 | Summary by HSN code and rate, with quantity, unit and tax heads. |
doc_issue | 13 | Document series issued during the month: invoices, credit notes, with from/to numbers and cancellations. |
supeco | 14 | Supplies made through e-commerce operators, one entry per operator GSTIN. |
State codes are always two digits (07 for Delhi, 27 for Maharashtra, 33 for Tamil Nadu). Amounts are numbers with up to two decimals, and rates are plain numbers such as 18.
How to upload the JSON on the GST portal
- Log in to the GST portal and open Services → Returns → Returns Dashboard.
- Select the financial year and return period, then click Search.
- In the GSTR-1 tile, choose Prepare Offline.
- On the Upload tab, click Choose File and select your JSON.
- Wait for the status to change from In Progress to Processed (usually a few minutes, longer near the due date).
- Go back to the dashboard, choose Prepare Online and check the summary of each table.
- Generate the GSTR-1 summary, review it, then file with DSC or EVC.
Uploading a JSON adds to or replaces data already saved for the same period. If you upload twice, entries that match what is already saved (the same invoice number, or the same state and rate in B2CS) are updated, and anything new is added on top. Check the summary after every upload.
Common upload errors and fixes
| What you see | Usual cause | Fix |
|---|---|---|
| Status "Processed with Error" | Some rows were rejected; the rest were saved. | Click Generate error report, download it, fix only the listed rows and upload them again. |
| Invalid GSTIN of recipient | Typo in a buyer's GSTIN, or a GSTIN that is cancelled. | Correct it from the order details. If the buyer is not registered, report the sale in B2CS instead. |
| Place of supply invalid | State name instead of code, or an old code (for example Daman & Diu after it merged into code 26). | Use the current two-digit state code. |
| Intra-state supply with IGST (or the reverse) | Place of supply is your own state but IGST was charged, or vice versa. | Move the tax to the correct head; the total tax does not change. |
| File does not upload at all | File is not valid JSON, or was edited and saved with the wrong encoding. | Generate a fresh file instead of editing; do not open and resave it in Excel. |
| Return period mismatch | The fp in the file is a different month from the one selected. | Select the right period on the dashboard, or regenerate the file for it. |
After filing
GSTR-1 for a period cannot be revised once filed. Mistakes are corrected in a later month's return through the amendment tables (for example 9A for invoices, 10 for B2CS, 14A for Table 14). Keep the JSON file, the marketplace reports it came from and the filed summary together for the month; they are your audit trail.
Frequently asked questions
Can I open a GSTR-1 JSON in Excel?
You can view it with a JSON viewer or text editor. Avoid opening and saving it in Excel, which can change its structure and break the upload.
Why does my uploaded B2CS total differ from the file?
Most often because an earlier upload or online entry for the same period is still saved. The portal combines what is already there with your new file. Delete the old data for that table, or check the summary carefully.
Is the JSON from the GST offline tool different from software-generated JSON?
The format is the same. The portal does not care which tool made the file, only that it follows the published schema.
Generate a portal-ready GSTR-1 JSON from Amazon, Flipkart and Meesho reports. Open GST E-commerce →
Sources and further reading
This guide explains the law and portal procedures as they stood on the date shown above. Rates, forms and due dates change; check the official sources before filing. It is general information, not professional advice for your particular case.