How to fix excel to json error in GSTR-1 offline tool: troubleshooting guide

Excel to JSON errors in the GSTR-1 offline utility happen when the tool encounters strict formatting mismatches in dates, invoice numbers, sheet tab names, or local Java configurations. You can resolve the failure by setting date cells to DD-MM-YYYY text, removing unapproved symbols from invoice strings, and keeping the official workbook structure untouched. Once the spreadsheet conforms to portal specifications, the utility generates a valid JSON file without crashing.

Few compliance hurdles are as frustrating as preparing hundreds of outward invoices in a spreadsheet, opening the official GSTR-1 offline utility, and watching it fail with a blank screen, a red error banner, or a frozen progress wheel. During the monthly return window between the 1st and the 11th, an unexpected conversion halt stalls return filing and blocks recipient credit flow in GSTR-2B.

The GSTN returns offline utility runs local validation checks before parsing table rows into a structured JSON payload. Unlike standard office software, the utility does not tolerate minor variations. If a single date uses slash separators, if an invoice number contains a space, or if an Excel macro changed a hidden sheet label, the conversion engine halts. Identifying the exact structural discrepancy allows you to correct the file and finish filing quickly.

If you also handle inward credit verification, read our technical breakdown of GSTR-2B JSON to Excel converter tools and review the steps for resolving common GSTR-2B reconciliation errors and fixes.

Statutory standards for outward supply data

The requirement to furnish outward supply details originates from Section 37 of the Central Goods and Services Tax Act read with Rule 59 of the CGST Rules. Rule 59 prescribes Form GSTR-1 as the electronic mechanism for declaring invoice-wise details of supplies to registered dealers, inter-state unregistered supplies above statutory thresholds, credit notes, and consolidated retail summaries.

To enforce data integrity across millions of returns, the GST Council and GSTN publish strict schema constraints. According to the GSTN Form GSTR-1 user guide, every data field in the offline workbook maps directly to database tables on the common portal. When an accountant exports raw ledgers from ERP software into Excel, formatting transformations frequently breach these structural rules, triggering immediate syntax rejections during JSON compilation.

Utility version check: Always confirm you are operating the latest release of the Returns Offline Tool from the official portal download section. Older utility versions lack schema updates for Table 12 HSN reporting and amended B2C Large thresholds notified under CBIC Notification No. 12/2024-Central Tax. Attempting to generate JSON files using obsolete utilities causes silent compilation errors.

Root causes of Excel to JSON conversion failures

When the offline utility refuses to convert an Excel workbook into JSON, the underlying breakdown almost always traces back to one of five specific technical triggers:

  1. Date formatting conflicts: The utility parser expects date entries in strict text format: DD-MM-YYYY (for example, 08-10-2026). If Excel stores the cell as a numerical serial number, or if the format displays as YYYY-MM-DD or DD/MM/YYYY, the import parser fails.
  2. Disallowed characters in invoice numbers: Under Rule 46 of the CGST Rules, tax invoice numbers must not exceed 16 characters. Permitted characters include letters, digits, hyphens, and forward slashes. Spaces, hash symbols, underline characters, periods, and commas cause immediate parsing rejections.
  3. Worksheet corruption and altered tab names: The official GSTN Excel template relies on exact tab names such as b2b, b2cl, cdnr, and hsn. If an accountant renames a tab, adds supplementary calculation sheets, changes column header wording, or unprotects locked rows, the software cannot locate required data vectors.
  4. Missing mandatory columns or ghost rows: Deleting a column that your business does not use (such as Cess or Reverse Charge) destroys the tabular schema. Similarly, pressing the space bar in empty cells below your last invoice creates invisible ghost records that fail schema validation.
  5. Java Runtime Environment (JRE) and system architecture conflicts: The offline utility executable combines web technologies with a local background server. If your Windows installation runs 64-bit architecture while holding a broken 32-bit Java installation, the background service crashes when reading large Excel workbooks into memory.

Step-by-step diagnostic checklist to fix Excel data

Before launching the utility, walk through this systematic inspection protocol in Microsoft Excel or your spreadsheet software to clean the data payload:

Open template → Format dates as text → Strip special characters → Clear blank ghost rows → Run utility import
  1. Open your workbook and inspect the invoice date column across all active worksheets (b2b, b2cl, cdnr). Select the date cells, set the number format to Text, and confirm that dates follow the pattern DD-MM-YYYY using hyphens.
  2. Check invoice numbers. Use Excel search to find spaces (Ctrl + F then space) or special characters like #, @, and &. Replace spaces with hyphens or slashes, and ensure no invoice identifier exceeds 16 characters.
  3. Verify 15-character GSTIN strings. Check that recipient GSTINs contain no trailing spaces. The first two digits must match the state code, followed by the 10-character PAN, entity code, Z, and check digit.
  4. Standardise Place of Supply (POS). The POS column requires the two-digit state code combined with the state name as formatted in the official template (for instance, 27-Maharashtra). Entering only the state name or only the two-digit code causes import rejection.
  5. Eliminate empty ghost rows. Press Ctrl + End on each sheet. If the cursor jumps hundreds of rows below your last invoice, select all empty rows below your real data, right-click, choose Delete, and save the workbook.
  6. Keep column headers intact. Download a clean copy of the official GSTR1_Excel_Workbook_Template-v3.1.8.xlsx from the GST portal, and paste your values as plain text (Paste Special > Values) into the clean sheet rather than modifying your ERP export directly.

Worked example: reconciling invalid Excel entries

To see how small data entry habits break the offline tool, examine the five invoice rows below from a wholesale distributor based in Pune, Maharashtra:

Invoice noDate in sheetRecipient GSTINTaxable valueStatusDefect and fix
INV 1042 12/10/2026 27AAACG1234A1Z5 ₹1,20,000 Rejection Space in invoice number; slashes in date. Change to INV-1042 and 12-10-2026.
MH/2026/089 05-10-2026 27AAACH9876B1Z2 ₹85,000 Clean Alphanumeric with slash; compliant DD-MM-YYYY text date. Passes validation.
BILL#401 2026-10-04 24AABCS5555C1Z1 ₹2,10,000 Rejection Hash symbol disallowed; ISO date format rejected. Change to BILL-401 and 04-10-2026.
RET/092 09-10-2026 27AAACK1111D1Z9 ₹45,000.555 Rejection Three decimal places in value. Round tax and taxable figures to two decimals.
EXP-502 11-10-2026 29AAACL2222E1Z8 ₹3,40,000 Clean Compliant numbering, valid date text, and correct two-decimal value.

In this batch of five transactions, three records fail the offline utility checks:

  • Invoice INV 1042 halts JSON generation because the space between INV and 1042 violates Rule 46 character constraints, while the date format 12/10/2026 breaks the text parsing regular expression.
  • Invoice BILL#401 fails because the hash symbol is not recognized as a valid separator, and the date 2026-10-04 is stored in reverse chronological order.
  • Invoice RET/092 crashes the compilation engine because the taxable value has three decimal positions (₹45,000.555). The GST portal specification restricts monetary fields to two decimal places.

Resolving local Java and operating system errors

When your Excel data is pristine but the offline utility still produces fatal JavaScript crashes or refuses to open the file selection dialog, the issue lies in your local execution environment:

Local port blockage: The GSTR-1 offline utility runs a local web service on your machine. If corporate antivirus software, proxy servers, or competing background tasks block local loopback ports, the interface cannot pass data between Excel and the JSON generator. Running the utility as Administrator resolves most local permission blocks.

Follow these technical checks to stabilize your operating environment:

  • Check Windows architecture. If your computer runs 64-bit Windows, uninstall older 32-bit Java versions and install the current 64-bit Java Runtime Environment. Set your system environment path variable to point to the correct Java directory.
  • Clear application cache. Close the tool, open your browser settings, and clear temporary files. Some offline tool builds store cached data in your user AppData folder. Clearing these remnants eliminates stale calculation states.
  • Run as Administrator. Right-click the GSTR-1 Offline Tool desktop icon and select Run as administrator to ensure file write permissions are granted when creating output JSON files.
  • Avoid network folders. Do not import Excel files directly from cloud-synced folders such as OneDrive, Google Drive, or shared network drives. Copy the Excel template to a local path (such as C:\GSTData\) before executing the import.

Fixing portal validation errors after uploading JSON

Generating the JSON file locally is only the first step. When you upload that file to the GST portal via Returns Dashboard > Form GSTR-1 > Prepare Offline, the portal performs secondary server-side validations:

“If the upload of invoice details is processed with error after uploading it to the GST Portal, then the status will change to Processed with Error and the Error Report column will display a link to Generate error report. This error file is downloaded in JSON format and can be opened in the Returns Offline tool to correct the errors.”
Source: GSTN Returns Offline Tool User Manual

Common portal upload rejections include:

  1. Schema validation failures occur when the JSON file was produced by outdated third-party software missing newly added portal attributes. The file is rejected entirely without partial saves.
  2. Duplicate invoice numbers trigger rejections across periods. The offline tool checks duplicates within the active sheet, but the GST portal validates across the entire financial year. If invoice INV-101 was already reported in July, uploading it again in October triggers an error report.
  3. Inactive recipient GSTIN status causes errors. If a buyer cancelled their registration on 15 September and you report an invoice dated 02 October, the portal marks that specific record as invalid.
  4. Reverse charge flag mismatches occur when reverse charge is marked as Yes on supply types where reverse charge is statutorily impermissible, causing line-item rejection during portal processing.

To correct portal upload errors, wait 10 to 15 minutes for the portal to generate the error report zip file. Download the zip archive, open the GSTR-1 offline tool, navigate to Open Downloaded Error file from GST portal, correct the highlighted fields in red, generate a fresh JSON file, and re-upload to the portal.

Working with large data volumes and the 5 MB threshold

The GST portal restricts single JSON uploads to a maximum file size of 5 MB. A 5 MB JSON file accommodates approximately 15,000 to 19,000 invoice lines depending on rate-level details. If your business issues tens of thousands of consumer or B2B bills each month, generating a single massive JSON file will cause upload rejections.

To handle high invoice volumes cleanly:

  • Split your source sales records into monthly batches of 5,000 to 10,000 invoices per Excel workbook.
  • Import each batch separately into the Returns Offline Tool and click Generate File.
  • Save each generated payload with distinct identifiers (such as GSTR1_Oct2026_Batch1.json and GSTR1_Oct2026_Batch2.json).
  • Upload the JSON files one after another on the portal. The portal aggregates outward records across successive uploads without overwriting previous entries, provided invoice numbers are distinct.

Related guides

Frequently asked questions

Why does the GSTR-1 offline tool fail to generate a JSON file from Excel?

The utility stops when it meets date format mismatches, altered worksheet tab names, unsupported special characters in invoice numbers, blank rows, or architecture conflicts between 32-bit and 64-bit Java runtime environments.

What exact date format is required in the GSTR-1 Excel template?

The offline tool accepts only text dates in DD-MM-YYYY format, such as 04-10-2026. Dates formatted as YYYY-MM-DD or containing slash separators cause validation failures during Excel import.

What characters are legally permitted in GST invoice numbers?

Under Rule 46 of the CGST Rules, an invoice number can contain up to 16 alphanumeric characters, with only forward slashes and hyphens allowed as special symbols. Spaces and symbols like hash or ampersand cause utility errors.

What should you do if the generated JSON file exceeds 5 MB?

The GST portal rejects JSON files larger than 5 MB. Split your sales records into batches, import each batch into the offline utility, generate separate JSON files, and upload them sequentially to the portal.

Verify your purchase register against GSTR-2B

While outward sales are compiled through Form GSTR-1, claiming input tax credit requires matching your purchase register against GSTR-2B. Your GSTR-2B and purchase register files are read in your browser and never uploaded to any server.

Reconcile GSTR-2B →

Related guides: GSTR-2B JSON to Excel converter tools: safety and accuracy, common GSTR-2B reconciliation errors and how to fix each, and explore our library of GST guides.

Last checked: 18 October 2026. Sources: CBIC CGST Rule 59, CBIC Notification 12/2024-Central Tax, GSTN Form GSTR-1 User Guide, GSTN Returns Offline Tool User Manual.