Free No Upload

GST Offline Tool
Not Generating JSON

Eight causes, in the order worth checking — written from the accountant threads where this hits every filing month. Start at the top: the first one accounts for most cases.

The short version

If the utility sits on Generate File and never finishes, the cause is almost never the portal and almost never your data being wrong. It is the utility colliding with itself. The first check below fixes most cases in about five minutes; the rest are ordered by how often they turn out to be it.

1. One HSN code under two GST rates

This is the big one, and it explains why the failure looks random. The utility keys the HSN summary table on the code alone. When the same code appears twice under different rates — clothing is the classic case, 5% and 18% under one HSN — the second row collides with the first, and instead of raising a validation error the generator waits.

Fix: split the code by rate in the Excel workbook itself, not inside the utility: 6109_5 and 6109_18. Then import section-wise — B2B first, then B2CS, then HSN as its own file. A single large workbook is what triggers the hang.

2. Running the utility from inside the ZIP

Double-clicking the utility inside the downloaded archive is the second most common cause. It cannot write its temporary files to a read-only path, and it fails silently — the window opens, the buttons work, Generate File does nothing.

Fix: extract the whole folder somewhere like C:\GST\ and run it from there. Every time you update the utility, extract again rather than running it in place.

3. Excel macros are blocked

Validation runs as an Excel macro. If macro security blocks it, the sheet never reaches Validation Successful and Generate File has nothing to write. The error is not shown anywhere useful — the row error points at a cell, not at the macro that never ran.

Fix: Excel → Trust Center → Macro Settings → enable macros, and unblock the file before opening it if Windows marked it as downloaded from the internet.

4. Dates are not in DD-MMM-YYYY

The template accepts 01-Mar-2026. It does not accept 01/03/2026, and the error highlights the row, not the column — so it reads like a data problem rather than a formatting one.

5. Blank rows that still carry formatting

The utility counts formatted-but-empty cells as records. A single empty row below the last invoice, with formatting still attached, is enough to fail the sheet.

Fix: select everything below your last record and delete the rows, not just clear the contents.

6. A stuck run is cached

Once a run fails partway, the partial state is cached and every retry inherits it. This is why "close it and try again" sometimes appears to work and then fails again later.

Fix: clear the utility cache folder between attempts — it sits under %LOCALAPPDATA%\GSTN on current builds, or the GSTR1_JSON folder next to the executable on older ones.

7. The file is simply too large for one pass

Large returns fail more often than small ones even with perfect data. Import and generate section by section, or split by invoice range, then merge.

8. OLE error when generating GSTR-9C

A different failure with a different cause: the 9C utility writes to the registry through OLE and a non-elevated Excel cannot. Run both the Excel utility and the DSC signer as Administrator, and close every other Excel window first — an open workbook holds the OLE registration and the utility silently fails to attach.

When to stop fixing and file online

If all eight checks pass and the file still will not generate, filing GSTR-1 in online mode on the portal is the dependable route: it accepts invoice details natively and needs no JSON upload at all. It is slower for large volumes, but it cannot fail on schema.

Waiting fifteen or twenty minutes and pressing the button again is not a fix. It is the utility occasionally clearing its own stuck state — and the same failure will be there next month.

If you already have a JSON and cannot read it

A different problem with the same origin: the portal gives you a JSON and you need to foot it against the sales register. That file is one line of nested arrays, so open it as a workbook first — GSTR-1 JSON to Excel turns every section into its own sheet with a totals summary, entirely in your browser.

Frequently Asked Questions

Why does Generate File hang and never finish?

In versions 3.2.3 and 3.2.4 the most common cause is one HSN code carrying two GST rates. The utility keys the HSN summary on the code alone, so the second row collides with the first and the generator waits forever instead of raising a validation error. Split the code by rate in the workbook and import section-wise.

Is waiting and retrying a real fix?

No. People report it working after 15–20 minutes, but that is the utility occasionally clearing its own stuck state — the same failure returns next month. Fix the cause, or file the return in online mode.

The JSON was generated but the portal says the file could not be uploaded

That message is about the schema version, not the data. A JSON written by an older utility cannot be accepted by a portal expecting the current version. Do not hand-edit the version string — regenerate in the current utility, or the file will fail deeper in processing after the return period has started.

Do I need to reinstall the utility?

Rarely. Reinstalling clears the cache as a side effect, which is why it appears to help — the same effect is available from check 6 without losing your work. If a reinstall fixes it and the problem returns next month, you fixed the cache, not the cause.

What if none of the eight checks work?

File GSTR-1 in online mode on the portal: it accepts invoice details natively and needs no JSON upload. Slower for large volumes, but it cannot fail on schema.

Related Tools