Drop the GSTR-2B you downloaded from the portal and your purchase register. You get
what matches, what does not, and a chase message for every supplier who has not reported your
invoice.
This is a made-up month so you can see the report. Drop your own two files to replace it.Start fresh
Drop the purchase register CSV here, or click to choose
Needs supplier GSTIN, document number, date and the tax heads. Columns are detected automatically.
Column mapping every column was detected — open only to correct one
Matching settings stored on this device; your data never is
₹1 per tax head — enough for rounding
ITC bridge — your books to GSTR-2B
IGST + CGST + SGST + cess, net of credit notes
How this works, and where it sits
the matching rules, the signs, and what this page is not
Signs. Credit notes are carried as negative and debit notes as positive on both sides, whichever
way your register enters them — the tool takes the absolute value and applies the sign from the document
type. That way the totals here reconcile to net ITC.
Nothing loaded yet. Load a GSTR-2B JSON and a purchase register CSV above, or press
Load sample data & run to see the whole report with a made-up dataset — no real data needed.
The 2B JSON is the file the GST portal gives you under Returns → GSTR-2B → Download. Both the
portal download and an API/third-party export of the same statement are read.
The purchase register needs, at a minimum: supplier GSTIN, document number, document date and the
taxable value plus IGST / CGST / SGST. A document-type column (Invoice / Credit note / Debit note)
makes the signs right automatically.
The GST portal's own IMS Offline Tool — IMS being the portal's Invoice Management System
(April 2026) — works the same way this page does: download a JSON, act on it offline, upload the result.
It actions records already in IMS; it does not reconcile your purchase register against 2B. Use both.