tax-guide 24 April 2026 · 6 min read

How to File GSTR-1 Step-by-Step (2026) — Without a CA

The exact click-by-click flow for filing GSTR-1 on gst.gov.in, from JSON download to challan. Written for Indian SMBs who want to stop paying a CA for routine months.

GSTR-1 is your outward supplies return — every invoice you issued last month, organised by customer type, rate, and HSN code. Most small businesses pay their CA ₹500–2,000 a month just to copy invoice data into the GST portal. That’s fine for complex filings, but for a routine month with clean data, you can do it yourself in under 15 minutes.

This is the step-by-step flow, starting from the end of the month, assuming you’ve already used 21bill (or equivalent) to record invoices during the month.

Before you start — what you need

  • Your GSTIN’s login at gst.gov.in
  • DSC or EVC — digital signature, or OTP-based electronic verification
  • The month’s GSTR-1 JSON from your billing tool — we’ll show how to get this from 21bill in Step 1

If you haven’t recorded your invoices in a structured system yet, that’s step zero — you can’t file from loose PDFs.

Stage 1 — Get your GSTR-1 JSON

In 21bill:

  1. Log in → sidebar → Reports.
  2. Pick the month you’re filing for (e.g., March 2026 gets filed by the 11th of April).
  3. Click Download GSTR-1 JSON.
  4. The file downloads as GSTR1_<GSTIN>_<MMYYYY>.json — don’t rename it.

The JSON contains five sections the portal needs:

  • b2b — invoices to customers with a GSTIN
  • b2cs — invoices to customers without GSTIN, aggregated by state and rate
  • cdnr — credit/debit notes issued against registered buyers
  • hsn — HSN summary (aggregated taxable value per HSN code + rate)
  • docs — document summary (invoice number ranges, cancelled count)

This is the exact shape the GST portal accepts. No CSV conversion, no manual re-entry.

Don’t have 21bill yet? The same JSON structure is documented in the GSTR-1 schema — any billing tool that produces that shape works. But you’ll want to compare the options first to understand what you’re getting.

Stage 2 — Upload to the GST portal

Sign in at gst.gov.in with your GSTIN username + password.

  1. Top nav → ServicesReturnsReturns Dashboard.
  2. Pick the financial year and return filing period (month).
  3. Under Details of outward supplies of goods or services GSTR-1, click Prepare Offline.
  4. On the offline page, click Upload and pick the JSON you downloaded from 21bill.
  5. The portal processes it — this takes 30 seconds to 2 minutes.
  6. Once processed, the portal shows a summary of invoices imported. Verify:
    • Total taxable value matches what you expect
    • Invoice count matches
    • HSN summary has all HSN codes from the month

If any row is highlighted in red, fix the source invoice in 21bill, re-download the JSON, and re-upload. Fixes for common errors:

  • Invalid GSTIN on B2B invoice → check the buyer’s GSTIN on the customer record; regex must be ^[0-9]{2}[A-Z0-9]{10}[A-Z0-9]{3}$
  • Place of supply missing → every invoice needs a state code (2 digits); look up your buyer’s state
  • HSN code missing → products with turnover ≥ ₹5 Cr need 6-digit HSN; use our HSN directory to find the right code

Stage 3 — Preview + submit

Still on the returns dashboard:

  1. Click Preview. The portal renders the full GSTR-1 as a PDF.
  2. Scroll through every table. Mistakes show up best here — a customer you forgot to add, a rate that looks wrong.
  3. If something’s off: fix in 21bill → re-download JSON → re-upload (it replaces the previous data — nothing cumulative).
  4. Once clean, click Submit.
  5. The portal locks the return. You can’t edit after this — amendments go in the next month’s GSTR-1 via the amendment tables.

Stage 4 — File with signature

One more step. Submit ≠ filed.

  1. After Submit, click File GSTR-1.
  2. Choose File with DSC (if you have a digital signature certificate) or File with EVC (OTP to registered mobile + email).
  3. Confirm. The portal returns an Acknowledgment Reference Number (ARN) — save it. This is the proof that you filed.

Download the filed return as PDF for your records. You’re done.

Stage 5 — Pay GST (via GSTR-3B)

GSTR-1 doesn’t collect payment. That’s GSTR-3B, due by the 20th of the same month (vs 11th for GSTR-1). For GSTR-3B:

  1. Same portal → Returns → Returns Dashboard → pick month.
  2. Prepare Online or upload 21bill’s GSTR-3B JSON (same flow).
  3. GSTR-3B is the summary + payment return: total taxable, total CGST/SGST/IGST, ITC from purchases, net payable.
  4. Create a challan for the net payable amount.
  5. Pay via NEFT / RTGS / internet banking.
  6. File with DSC or EVC.

Detailed walkthrough coming in a separate post. For now, read the summary on our GST software page.

Common mistakes that cause filing pain

1. Mixing up invoice dates. GSTR-1 is by invoice date, not payment date. If you issued INV-001 on March 31st, it files in March’s GSTR-1 even if you got paid in April.

2. Forgetting credit notes. Every credit note you issued during the month goes in CDNR. Skipping these = over-reported GST = overpayment.

3. Wrong HSN summary. If your billing tool doesn’t emit the HSN summary table correctly, the portal rejects the whole JSON. See our GST invoice format rules for the HSN-digit requirements by turnover.

4. Filing after the due date. Late fee: ₹50/day (₹25 CGST + ₹25 SGST), capped at ₹10,000. For nil returns, ₹20/day. Doesn’t sound like much — adds up fast across 12 months.

5. Missing the reverse-charge flag. Some transactions are taxed on reverse charge (buyer pays GST instead of seller — e.g., legal services, GTA transport). Mark these correctly; our legal services HSN page covers the RCM rules.

When you still need a CA

  • Annual return (GSTR-9) — this is complex; keep the CA for this one.
  • Amendments for prior periods — requires careful reconciliation.
  • Turnover transitions — crossing ₹5 Cr turnover triggers e-invoicing + HSN-6-digit requirements.
  • Scrutiny notices — never respond to one alone.

For the other 11 months a year, filing yourself is fine — the portal’s error messages are actually helpful now.

Using 21bill to get here

21bill was built specifically for this flow:

  • Invoices enter correct data at source (GSTIN regex, rate whitelist, mandatory fields)
  • Purchases module captures ITC properly so GSTR-3B nets correctly
  • Monthly JSON downloads are logged with SHA-256 hash + user + timestamp — if there’s ever a scrutiny query, you have proof of what you filed
  • /reports/filings gives a pre-filing preview so you catch issues before uploading

21bill is invite-only — request access if you’d like to evaluate it for your filing workflow.


Related reading:

Invitation only — request access

21bill is a closed-tenant billing platform for Indian SMBs. Each organisation is onboarded directly by our team — contact us to request access.

Request access

Keep reading