Managing hundreds of supplier invoices one by one on the GST portal is a real problem — and GSTN has finally addressed it.
The IMS Offline Tool, an Excel-based utility now available on the GST portal, lets recipient taxpayers action invoices in bulk — offline — without sitting on the portal for hours. Whether you're accepting, rejecting, or marking invoices pending, the tool handles it all, then syncs back to the portal through a JSON upload.
This guide covers everything from downloading the tool to uploading your JSON file — including the validation rules that trip people up.
Key Takeaways
The Invoice Management System was rolled out on the GST portal from the October 2024 tax period onwards.
The system gives recipient taxpayers direct control over invoices that their suppliers upload through GSTR-1, GSTR-1A, or IFF. For each invoice, the recipient can Accept it, Reject it, mark it Pending, or take No Action. These choices directly affect what flows into GSTR-2B and, by extension, what ITC gets claimed.
Before the IMS Offline Tool arrived, all of this had to be done on the portal itself — invoice by invoice. For businesses with large volumes of inward supplies, that was time-consuming. The offline tool changes that.
Businesses dealing with dozens — or hundreds — of supplier invoices every month know the pain of portal-based reconciliation.
The offline tool shifts that work to Excel, which most finance teams are already comfortable with. You download the data, work through it at your own pace, add remarks where needed, validate the sheet, generate a JSON file, and upload it back. The whole cycle can happen without staying logged into the portal throughout.
That said, the tool doesn't relax any rules. Every validation that applies on the live IMS dashboard applies here too.
Getting the tool onto your system takes two minutes.
Step 1: Visit the GST portal at www.gst.gov.in
Step 2: Navigate to Downloads → Offline Tools → IMS Offline Tool
Step 3: The tool downloads as a zip file. Extract it, open file properties, and enable macros before opening the Excel utility. This step is easy to miss — and without macros enabled, the tool won't function.
The file is a Microsoft Excel Macro-Enabled Worksheet (.xlsm). Once macros are enabled and the file is open, you're ready to pull in your invoice data.
Before you can work in the offline tool, you need the invoice data from your portal account.
Step 1: Log in to the GST portal
Step 2: Navigate to Services → Returns → Invoice Management System (IMS) Dashboard → Offline
Step 3: Click on "Generate JSON File to Download" and save the JSON file on your system
This JSON file contains all your current inward supply invoice records. It's the foundation for everything you'll do in the offline tool.
Once you have both the tool and the data file ready, the actual work begins.
Step 1: Import the JSON file Open the Excel utility and click "Open Downloaded IMS JSON File" on the Home sheet. Select the JSON file you downloaded from the portal. Invoice data populates automatically across the relevant worksheets — B2B, B2BA, B2B-DN, B2B-DNA, B2B-CN, B2B-CNA, ECO, and others.
Step 2: Action each invoice For each invoice, select one of the four available actions in the Status column:
You can also add remarks against individual invoices where applicable.
Step 3: Use filters where needed The tool includes filter options to sort invoices by relevant parameters — supplier GSTIN, invoice date, invoice value, and more. One thing to keep in mind: filters clear automatically when you click Validate Sheet, so complete your filtering and actioning before validating.
Step 4: Validate the sheet Click the "Validate Sheet" button after completing all actions. This runs the same business rule checks applied on the live portal. Any records with errors get flagged in the "GST portal validation errors" column in the respective worksheet.
Once validation passes cleanly, the final steps move the data back to the portal.
Step 1: Click "Generate JSON File to Upload" in the Home sheet. This creates the updated JSON file containing your actioned records.
Step 2: Log in to the GST portal and navigate to Services → Returns → Invoice Management System (IMS) Dashboard → Offline
Step 3: Click "Upload JSON" and select the file you just generated
Step 4: After upload, the portal processes the file. Validation can take up to 15 minutes — check back accordingly
One important behaviour to understand: if no changes were made to any records after importing the JSON into the offline tool, the generated JSON file will be empty. An empty upload does nothing.
Errors on upload aren't unusual — especially with large invoice volumes.
When a JSON file fails validation, the portal generates an error file with status "Processed with Error". Here's how to handle it:
The correction loop is straightforward once you've been through it once.
A few operational rules are worth knowing before you start:
Same rules as the live portal — The offline tool doesn't bypass any business logic. Accepted, rejected, pending, and no-action records all follow identical rules to what applies on the IMS dashboard online.
Incremental upload behaviour — Each JSON upload adds records on top of what's already been submitted. For any pre-existing records on the portal against the same GSTIN, the new upload replaces those details. This means uploading a corrected file for the same records is the right fix — not a fresh submission from scratch.
Empty JSON means no changes — If the imported records weren't touched before generating the upload JSON, the file comes out empty. The portal won't process an empty JSON.
Filters clear on validation — Any filters applied in the worksheets are removed automatically when Validate Sheet is clicked. Apply filters, action the visible records, and then validate — don't filter after validating.
A: The IMS Offline Tool works on the invoice data currently available in your IMS Dashboard — which reflects records uploaded by suppliers for the current and applicable tax periods. Actions on invoices flow into GSTR-2B of the relevant period. For very old records, check whether the supplier has re-uploaded or amended them through GSTR-1A before actioning offline.
A: Rejected invoices don't appear in GSTR-2B — which means no ITC flows from them into your returns. If a supplier corrects the invoice and re-uploads it through GSTR-1 or GSTR-1A, it will reappear in IMS for you to action again. Rejection isn't permanent if the underlying invoice gets corrected at the supplier's end.
A: This happens when no changes were made to any records after importing the JSON into the offline tool. The upload JSON only captures records where an action — Accept, Reject, Pending, or No Action — was explicitly selected or changed. Open the file again, action the relevant invoices, validate, and regenerate the JSON.
A: Go to the Upload History section on the IMS Offline page of the portal and generate the error report. Download it, open it in the offline tool using the "Open Downloaded Error JSON File" option, correct the highlighted records, run validation again, generate a fresh JSON, and re-upload. The corrected records get added incrementally to your existing submissions.
A: Yes — directly. The actions you take on invoices through IMS, whether online or via the offline tool, determine what appears in GSTR-2B. Accepted invoices flow in as eligible ITC. Rejected ones stay out. Pending invoices get deferred to the following period's GSTR-2B. The offline tool is just a different interface for the same IMS actions — the downstream effect on GSTR-2B is identical.
Your email address will not be published. Required fields are marked *