BharatTax.co — Knowledge Portal

GST · Reconciliation

Reconciling purchase books against GSTR-2B

Match your purchase register against GSTR-2A and GSTR-2B invoice by invoice, separate genuine mismatches from rounding, and see which ITC is at risk.

A purchase register and a GSTR-2B almost never agree line for line. Some invoices are in the books and not in the return, some are in the return and never booked, and a large number differ by a few paise because the supplier rounded per item and you rounded per bill. Done by eye in a spreadsheet, the rounding noise buries the handful of differences that actually matter.

The reconciliation pairs invoices on identity first, then on exact value, then on the nearest value within a rupee. Anything that differs by less than a rupee is reported as rounding — short, excess, or cancelling out — and kept out of the discrepancy list.

That distinction is not cosmetic. On one real April purchase register, pairing only on an exact taxable amount reported the same bill as both "in books, not in 2A" and "in 2A, not in books" — 103 of 112 apparent gaps were rounding, and nothing else could be seen past them.

What is left is bucketed by what you would do about it, so the output is a worklist rather than a difference report.

What the output tells you

How each paired and unpaired invoice is classified.

Taxable and every tax head agree
Matched — nothing to do
Taxable totals differ
Value mismatch — check the invoice
Taxable agrees, a tax head differs
Rate issue — check the classification
In books, absent from the return
ITC at risk — chase the supplier (the tool flags Rule 36(4))
In the return, absent from books
ITC available but unbooked — book it

Run it on your own data

Purchase and sales registers exported from Tally, Busy, Marg, EasySol are read directly; anything else can be mapped column by column.

Reconcile books vs 2B →

Common questions

Which accounting packages can the purchase register come from?

Exports from Tally, Busy, Marg and EasySol are recognised directly, and a generic importer with column mapping handles anything else that can produce a spreadsheet.

Why are sub-rupee differences treated separately?

Because they are almost always the supplier rounding per item against your rounding per bill, not a real disagreement about the invoice. Reporting them as mismatches hides the differences that need action.

Does it reconcile against GSTR-2A or GSTR-2B?

Both. 2A and 2B answer different questions — what the supplier has filed at all, and what is available to you for the period — so the tool carries them separately and can compare them to each other.

Other reconciliations