How to make the GSTR-1 JSON file and upload it on the GST portal
GSTR-1 is the return of your outward supplies (sales). Typing every invoice on the portal takes hours. With a JSON file you upload all invoices in one go. This guide shows the full path: making the file, uploading it, fixing errors and filing.
What is in GSTR-1
GSTR-1 lists your sales of the period, split into tables. The ones most businesses use:
| Table | What goes in it |
|---|---|
| B2B | Invoices to registered buyers (with their GSTIN) |
| B2C large | Inter-state invoices to unregistered buyers above ₹1 lakh |
| B2C small | All other sales to unregistered buyers, as a summary by state and rate |
| Credit / debit notes | Notes issued to registered and unregistered buyers |
| HSN summary | Quantity and value per HSN / SAC code |
| Documents issued | Invoice number series used, including cancelled ones |
A JSON file is simply all of these tables in the format the GST portal reads.
Due dates
- Monthly filers: 11th of the next month.
- Quarterly filers (QRMP): 13th of the month after the quarter. In the first two months of a quarter you may upload B2B invoices with IFF so that your buyers get the credit earlier.
Always check the portal for the current dates: the government sometimes extends them.
Step 1: check your books before making the file
Most upload errors come from data, not from the file. Before you make the JSON:
- Every registered buyer has a correct 15-character GSTIN and the right state.
- Every item has an HSN / SAC code and a GST rate.
- Cancelled invoices are marked cancelled, not deleted, so the number series has no unexplained gaps.
- Credit notes point to the original invoice.
Step 2: make the JSON file
In LedgerKing open GST Returns (Alt+G), choose the period (whole months) and press Portal JSON. The file is saved on your computer and the screen shows where. Check the totals on the screen against your sales register first: they must match.
Any software that makes GSTR-1 JSON works the same way; only the button name changes.
Step 3: upload on the GST portal
- Log in at gst.gov.in.
- Go to Services → Returns → Returns Dashboard, choose the financial year and the return period, then Search.
- In the GSTR-1 tile choose Prepare Offline.
- On the Upload tab choose your JSON file and upload it.
- Wait until the status says Processed (usually a few minutes, sometimes longer at month end).
Step 4: fix errors (if any)
If the status is Processed with Error, choose Generate error report and download it. It lists each invoice the portal did not accept and why: most often a wrong GSTIN, a wrong place of supply or a missing HSN. Correct the entry in your software, make the JSON again and upload only the corrected invoices (or the whole file again; invoices already accepted are replaced, not doubled).
Step 5: check and file
- Back on the Returns Dashboard, open GSTR-1 with Prepare Online and look at the tables: counts and values must match your books.
- Choose Generate GSTR-1 summary, check it once more.
- File with DSC or EVC (OTP on the registered mobile).
After filing you cannot change GSTR-1. A mistake is corrected in a later month's return through amendment tables.
Common mistakes
- Wrong period: the file is for one month, but the portal is set to another. Check both.
- B2C invoices with a GSTIN: if the buyer is registered, the invoice must go to B2B, otherwise the buyer does not get credit.
- HSN summary not matching the invoice totals: usually an item without HSN or a rounding difference.
- Uploading after filing: once filed, uploads for that period are not accepted.
Make it a monthly habit
Make the JSON a few days before the due date, upload it, read the error report and fix the data while you still remember the sales. Filing on the last day is when the portal is slowest.
Frequently asked questions
Can I upload the GSTR-1 JSON more than once?
Yes, until you file. A later upload replaces invoices with the same number; it does not add them twice. After filing, uploads for that period are closed.
What does "Processed with Error" mean?
Some invoices were not accepted. Download the error report from Prepare Offline, correct those invoices in your software and upload again.
Do I need the government offline tool?
No, if your software makes the JSON file in the portal format. You upload the file directly in Prepare Offline on the GST portal.
Is GSTR-1 JSON the same as GSTR-3B JSON?
No. GSTR-1 lists each sale. GSTR-3B is a summary of tax payable and input tax credit. Both have their own file and their own upload.
You may also like
Start with LedgerKing today
All features free for 30 days. No card needed.
Try free for 30 days