There are two versions of your purchases. One is your own purchase register — every bill you entered, because you received the goods and you paid for them. The other is GSTR-2B, which is built from what your suppliers reported. Your input tax credit follows the second one. A bill that exists only in your books is credit you recorded and may not get.
Why the two disagree
Not usually because anyone is dishonest. A supplier files late, or files against a slightly wrong GSTIN, or types an invoice number differently from the one printed on your copy, or reports a different taxable value because a discount was applied at their end and not at yours. Any of those puts a bill in one list and not the other.
Doing it by eye stops working quickly
With a dozen purchase bills a month you can read both lists side by side. At a hundred you cannot, and the failure is quiet — nothing looks wrong, the total is simply larger than the credit you are entitled to, and you find out much later.
What matching actually involves
- Take the period's 2B and the same period's purchase bills.
- Pair them up — supplier by supplier, invoice by invoice.
- Separate three groups: pairs that agree, pairs where the tax differs, and bills that appear on only one side.
- Total the tax on the pairs that agree. That is the part nobody will argue with.
How BizGST Pro does it
Download the GSTR-2B file from the GST portal and import it on the GSTR-2B Recon screen. It reads the portal's own JSON, and a CSV if that is what you have. Auto-match then pairs each supplier invoice against your purchase bills, and the result splits into four states: matched, tax variance, not in your books, and — in a separate list underneath — your bills that do not appear in 2B at all. That last list is the one that costs money.
The field that decides how well matching works
Auto-match compares the supplier's invoice number against the Vendor's Bill No on your purchase bill, ignoring spaces, dashes and slashes. If that field is empty it falls back to matching on value and date, which is a weaker signal. Entering the vendor's own bill number when you record a purchase is the single thing that makes reconciliation work, and it takes a second at the time.
Anything left over can be paired by hand
Rows that auto-match could not place carry a dropdown to link them to a specific bill. Once linked, the tax difference is computed and the row is classified like any other — matched if the tax agrees, tax variance if it does not.
Where the answer goes
The matched total appears on the GSTR-3B screen beside the ITC your own books claim, with the difference named. That is deliberate: a reconciliation that ends on its own screen is one somebody has to carry across by hand, and the hand-carrying is where it gets skipped. What the product does not do is substitute one figure for the other — which number you file is a decision with consequences, and it belongs to you and your accountant.
The same data, read forwards
Once a few months of 2B have been imported, the Supplier ITC Risk screen groups every 2B row by supplier and scores each one on how often their invoices matched your books. Suppliers land in a green, yellow or red band. It is the same reconciliation looked at the other way round — not what went wrong last month, but who is likely to cost you credit next month, which is useful before you place the order rather than after.
What this does not cover
The import reads the B2B section of 2B. Other sections the portal may include are not parsed, so treat this as a B2B purchase reconciliation rather than a complete reading of the file. And nothing here connects to the GST portal — you download 2B yourself and import it, because BizGST Pro holds no GSP licence.
Rules are not in scope here
When credit may be claimed, by when, and what happens if a supplier never files — those are set by rules that change, and we will not quote them from memory. The GST portal and your accountant are the sources. What is above is about knowing which of your bills your suppliers actually reported, which you need either way.