All writing
Indirect Tax4 September 20267 min read

Books Against GSTR-1, 2B and 3B: Where the Reconciliation Breaks

Every GST reconciliation that goes wrong goes wrong in the same place — somebody compared annual totals, and the errors cancelled.

In short
  • Reconcile books with GSTR-1, GSTR-3B and GSTR-2B month by month; annual totals hide errors that cancel.
  • Classify each entry by its GST leg's tax tag, not by the name of the voucher type.
  • The GST control account must tie exactly from its opening balance to the closing balance in Tally.

Every GST reconciliation that goes wrong goes wrong in the same place: somebody compared annual totals.

The books say output tax of ₹1,84,00,000 for the year. GSTR-3B, added up, says ₹1,84,00,000. The reconciliation is signed. And it is worth almost nothing, because the two numbers agreeing across twelve months tells you only that the errors cancelled.

The three-way problem

A GST position is not one comparison, it is a set of them, and each one fails differently.

Books against GSTR-1. GSTR-1 is what you told the department you supplied. If it disagrees with the books, either an invoice was left out of a return or something was reported that was never booked. Both are live exposures, and they do not net off — an omission in June and an excess in October are two separate problems that happen to sum to zero.

Books against GSTR-3B. GSTR-3B is what you actually paid on. The gap between 1 and 3B is its own finding, independent of the books entirely.

Books against GSTR-2B. This is the credit side, and it is where the money is. Input tax credit that appears in your books but not in 2B is credit your client has taken and the department has no record of a supplier declaring.

Compared annuallyCompared by tax periodVariance nilsigned offexcessomissiontwo findings, each with an answer
An excess in one month and an omission in another sum to nil across the year. Compared annually the reconciliation agrees, and both errors are still there.

Do these three month by month and the picture is completely different from the annual view. A variance in a single month is a question with an answer — a missed invoice, a credit note in the wrong period, a supplier who filed late. Twelve variances summed into one number is a question nobody can answer.

Why classification breaks before the reconciliation does

Here is the failure that is hardest to see, because it happens before any comparison runs.

Most tools decide whether a transaction is output or input by looking at the name of the voucher type. A voucher called "Sales" is output. A voucher called "Purchase" is input.

That holds until it does not. Clients rename voucher types. They post a credit note through a journal. They record a reverse charge liability under a voucher class somebody set up in 2019 and named after a branch. The moment the name stops describing the substance, every downstream number is wrong, and it is wrong silently — the reconciliation still produces a clean-looking table.

Classify by what the entry's own GST leg is tagged as, not by what somebody named the voucher.

The tax tag on the leg is what the transaction actually is. It survives renaming, it survives custom voucher classes, and it survives a client who books sales returns as negative purchases.

The control account nobody opens

There is a test that catches things all three return comparisons miss, and it takes one screen.

Take the GST payable or refundable control account. Its opening balance, plus output, less input, less payments, adjusted for TDS credits and reverse charge, has to arrive at the actual closing balance in Tally. Not approximately. Exactly.

When it does not, something has been posted to the control account that is not one of those things — and that is almost always where the interesting problem is hiding. A tax payment posted to expenses. A credit reversed to the wrong head. An opening balance carried over from a period that was later revised.

The same discipline applies to the electronic cash ledger. What the portal says sits in cash, head by head — tax, TDS credit, interest, penalty, fee — should agree with what the books say is there.

Reverse charge, both halves

Reverse charge is two entries, and firms routinely test one of them.

Under sections 9(3) and 9(4) the recipient books a liability and, where eligible, takes the corresponding credit. Testing whether the liability was booked tells you nothing about whether the credit was taken, and testing the credit tells you nothing about whether the liability was ever raised in the first place.

The completeness question — should there have been an RCM liability on this expense at all — is a different test again, and it runs against the expense population, not the returns.

How Audcrix runs it

Audcrix reads the books from Tally and matches them against the returns by tax period, month by month, on one screen.

  • Books against GSTR-1, 2A, 2B and 3B, each period placed separately, so a variance is a cell you can open rather than a number at the foot of a column.
  • Every leg classified by its own tax tag, never by the voucher type's name, so a renamed voucher class does not silently move a figure to the wrong side.
  • The control account is tied — opening, output, input, payments, TDS and reverse charge through to the closing balance actually sitting in Tally.
  • The electronic cash ledger is compared head by head against the books for each month.
  • Returns are read from what has been uploaded for each tax period. Audcrix does not log into the GST portal on your client's behalf, and it does not pretend to have figures it was not given — a period with nothing uploaded is shown as not uploaded, never as matched.

That last point matters more than it sounds. A reconciliation tool that shows a blank cell as green is not saving you time, it is manufacturing assurance. A month with no return uploaded is a gap in the evidence, and it should look like one.


Audcrix is audit and compliance intelligence for Indian CA firms — ledger and voucher scrutiny, TDS, disallowances and GST, all from one synchronisation. See how it works.

Questions this answers

How should the books be reconciled with GSTR-1, 3B and 2B?

By tax period, month by month. Annual totals that agree only show that the errors cancelled: an omission in June and an excess in October sum to zero.

What is the difference between GSTR-1 and GSTR-3B reconciliation?

GSTR-1 is what was reported as supplied; GSTR-3B is what tax was actually paid on. The gap between 1 and 3B is its own finding, independent of the books.

Why reconcile the books with GSTR-2B?

It is the credit side. Input tax credit in the books but not in 2B is credit your client has taken where the department has no record of a supplier declaring it.

How do you check the GST control account?

Opening balance plus output, less input, less payments, adjusted for TDS credits and reverse charge, must arrive exactly at the closing balance in Tally.

Should GST entries be classified by voucher type?

No. Classify by the tax tag on each entry's own GST leg. Voucher types get renamed and credit notes get posted through journals, and the tag survives both.

Where Audcrix runs this

  • GST RecoReconcile Tally books with GSTR-1, 2A, 2B and 3B period by period — register-led outward supply, every leg classified by its own tax tag, and a colour-coded matrix.