GST
Filing GSTR-1 from a JSON file, step by step
By the AgroPay team · Updated 13 September 2026
Typing a month of B2B bills into the GST portal by hand takes an evening and invites mistakes. Uploading a JSON file made by your billing software takes a few minutes. This is how it works, from the file on your computer to a filed GSTR-1.
The portal’s screens change from time to time. If a button is named slightly differently when you log in, look for the same step nearby.
Before you start
- Close the month in your software. Make sure every bill, credit note and cancellation for the month is entered. Anything added after the upload means uploading again.
- Check the B2B bills. Each one needs the buyer’s correct GSTIN. A wrong GSTIN is the most common reason a file comes back with errors.
- Know your due date. Monthly filers file GSTR-1 by the 11th of the next month. Quarterly filers under QRMP use the Invoice Furnishing Facility by the 13th for the first two months. The portal announces any extensions.
Step 1: Export the JSON from your billing software
In AgroPay, open Reports → GST Reports, choose the month and year, and press JSON. The file is saved with a name like GSTR1_092026.json for September 2026. It covers B2B invoices, B2C small (grouped by state and rate), B2C large, credit notes to registered buyers, the HSN summary and nil-rated and exempt supplies.
Other software has its own menu for this. The file format is the same GSTN schema.
Step 2: Upload it on the portal
- Log in at gst.gov.in.
- Go to Returns Dashboard, select the financial year and return filing period, and click Search.
- On the GSTR-1 tile, click Prepare Offline.
- On the Upload tab, choose the JSON file and upload it.
Step 3: Wait for processing and read the status
The portal validates the file in the background, usually within minutes but sometimes longer on busy days near the due date. Check the upload history:
- In progress: wait.
- Processed: the invoices are now in your GSTR-1.
- Processed with errors: some records were rejected. Open the error report, note which bills failed and why, correct them in your billing software, export a fresh JSON and upload again. Records that processed successfully stay in.
Step 4: Check the summary before filing
Open GSTR-1 with Prepare Online and generate the summary. Compare the totals with your own sale register for the month: total taxable value, CGST, SGST, IGST, B2B count and the nil-rated figure. If a number differs, find out why before you file. Once filed, GSTR-1 cannot be revised; corrections go through the amendment route in a later return.
Step 5: File
Tick the declaration, choose the authorised signatory and file with a DSC or with the OTP-based EVC. Save the acknowledgement.
GSTR-3B is separate
GSTR-1 reports your sales. GSTR-3B is where tax is paid, after setting off input credit. Much of GSTR-3B’s liability now comes from what you reported in GSTR-1, so filing GSTR-1 correctly first saves trouble later. AgroPay’s GST screen shows a GSTR-3B summary with input credit set off in the legal order to help you or your CA prepare it, but it does not produce a GSTR-3B file.
Common reasons a file fails
- A buyer GSTIN that is wrong or not active
- A bill number repeated within the financial year
- Uploading a file for a period that has already been filed
- A B2C large bill without its place of supply. Since 1 August 2024, inter-state bills to unregistered buyers above ₹1,00,000 are reported invoice-wise in this table