Guide
Purchase invoice reconciliation against GSTR-2B
Every month, the purchases in your books and the invoices in your GSTR-2B fail to agree, and somebody spends days working out why. Most of that work is mechanical, and a specific part of it is not.
Who this is for: Finance teams and accountants doing monthly GST reconciliation, and CA firms doing it on behalf of several clients.
10 min read · Last reviewed 25 September 2026
This is a guide to the matching work, not to the tax treatment. What you may claim, when, and what to do about a supplier who has not filed are questions for your CA, and the answers change with amendments and circulars. Nothing here should be read as tax advice.
GSTR-2B is the auto-drafted statement of input tax credit generated from what your suppliers have filed. Your purchase register is what your own team recorded. In principle these describe the same transactions. In practice they disagree every month, and the gap has to be explained before a return is filed.
The reconciliation itself is largely mechanical: line up two lists, find what matches, investigate what does not. What makes it expensive is that the two lists are keyed differently, arrive at different times, and are wrong in different ways.
Why the two lists disagree
It is worth separating the causes, because they have completely different remedies and lumping them together is what makes the task feel endless.
| Class | What happened | Who can fix it |
|---|---|---|
| In your books, not in 2B | The supplier has not filed, filed late, or filed against a different GSTIN | Only the supplier — this is a chasing problem |
| In 2B, not in your books | An invoice you never received, never recorded, or recorded in another period | You — this is a data entry and cut-off problem |
| In both, values differ | Rate, taxable value, or tax head recorded differently on each side | Either — needs the two documents compared line by line |
| In both, identifiers differ | Invoice number typed with a prefix, a slash, leading zeros or a different year format | You — and this is almost entirely automatable |
The fourth class is the one worth attacking first. It is not a real disagreement at all: both sides have the same invoice and the strings do not match. Purely mechanical, purely repetitive, and frequently the largest single group by count.
It is a matching problem before it is a tax problem
Invoice numbers are the worst possible join key and they are the one everybody uses. A supplier who writes INV/2026-27/0412 on the invoice may file it as 412, or INV-2026-27-412, or with a branch prefix your copy does not carry. Your team typed what was on the paper. Both are faithful records of the same transaction and a string comparison will never join them.
Which means the reconciliation should not lead with invoice number. A more forgiving approach matches on the combination of supplier GSTIN, taxable value and date proximity first, and treats the invoice number as confirming evidence rather than as the key. That single change usually moves a large share of the monthly exception list into the matched pile.
- Normalise before comparing: strip punctuation and leading zeros, fold case, and compare what is left.
- Match on GSTIN plus taxable value plus a date window, rather than on the invoice string.
- Treat a value agreement to the rupee with a near-miss invoice number as a match needing confirmation, not as a mismatch.
- Keep the original strings on both sides. A normalised key is for matching; the record must still show what each party actually wrote.
What remains after that is the part that genuinely needs judgement: suppliers who have not filed, invoices recorded in the wrong period, and real value differences. That is a much shorter list, and it is a list where a person's time is actually worth spending.
The part software cannot fix
Where a supplier has not filed, no amount of automation closes the gap. The credit is not available because the counterparty has not done something, and the only remedies are commercial: chase them, escalate, or make it a condition of payment.
What software does help with is making that chase systematic rather than heroic. A list of non-filing suppliers, ranked by the value at stake, sent on the same day each month, with the specific invoices attached, is a different activity from remembering to follow up. It is also the point where reconciliation stops being a compliance chore and starts being a working capital conversation.
Whether to withhold payment over an unfiled invoice is a commercial and contractual decision with real supplier-relationship consequences, and in some cases a legal one. That belongs with your CA and your commercial judgement, not with a matching rule.
What automation realistically changes
We are not going to put a percentage on this, because we have not measured it in your business and a number invented here would be worth less than the conversation it replaced. What we can describe is the shape of the change.
- The mechanical classes — identifier differences and straightforward value matches — stop consuming attention, because they are resolved before anyone looks.
- The remaining exceptions arrive already sorted by cause, so the work becomes a set of similar decisions rather than a pile of unlike ones.
- The supplier chase becomes a standing monthly output rather than something that happens when there is time.
- The reconciliation becomes repeatable month to month, which matters more than the hours saved, because it stops being dependent on one person's memory of last month's workarounds.
The honest caveat: this works when your purchase register is reasonably disciplined. If invoices are recorded weeks late or against inconsistent supplier records, reconciliation will surface that rather than solve it. That is genuinely useful information, but it is not the outcome people expect on day one.
See it working
Our invoice example demonstrates the same class of work on the payables side — tolerance checks, duplicate detection and exception routing, with every rule visible and the reason it fired written out. Different documents, same underlying discipline.
See matching logic with its rules on showCommon questions
- What is the difference between GSTR-2A and GSTR-2B?
- GSTR-2A is dynamic and keeps changing as suppliers file, while GSTR-2B is a static statement generated for a period and does not change once issued. Because it is static, 2B is the one you reconcile against for a given month — reconciling against a moving target is what makes the exercise feel impossible to close.
- Why do invoice numbers never match between our books and 2B?
- Because both sides transcribe what they see, and suppliers rarely file the invoice number in exactly the format printed on the document. Prefixes, slashes, leading zeros and financial-year formats all vary. Matching on supplier GSTIN, taxable value and date proximity, with the invoice number as confirming evidence rather than the key, resolves most of these automatically.
- Can reconciliation be fully automated?
- The matching can be very largely automated. The resolution cannot. Where a supplier has not filed, or where two parties genuinely recorded different values, someone has to make a decision or a phone call. A realistic goal is that automation handles the mechanical majority and hands you a short, sorted list of the cases that need a human.
- Do we need to replace Tally to do this properly?
- No. Reconciliation reads from your purchase records and from the downloaded 2B; it does not require changing where those records live. Working alongside Tally is usually faster and less disruptive than migrating, and migration introduces its own reconciliation problem.
Related guides
Three-way matching, and why it breaks in small manufacturing
Matching the purchase order to the goods receipt to the invoice is the oldest control in payables. It is also the one most small factories quietly abandon, and for understandable reasons.
Integrating with Tally without replacing it
Tally holds the books for a very large share of Indian businesses, and it is usually the system people most want to connect and least want to replace. Both of those instincts are right.
If this describes a process you recognise — we are a small company in Vadodara that builds exactly this kind of thing. No obligation and no sales sequence: get in touch or try the automation finder, which will tell you when the answer is not to automate.
+91 93131 52136 · hello@twishivplatforms.com

