All Workflows

GSTR-1 vs Books Sales Reconciliation

Invoice-by-invoice outward-supply matching against the books register — GSTR-1 reconciliation completed in under 60 seconds per return period.

Live demo Drop your GSTR-1 export and books sales register — Cadel matches every invoice row and flags exceptions in seconds.

The Problem

For most mid-market finance teams in India, reconciling the filed GSTR-1 against the books sales register is a manual, spreadsheet-driven exercise that consumes two to three working days every return period — and still misses the exception class that triggers GST notices.

Two to three days lost every return period

A tax analyst exports the B2B outward supplies table from the GST portal, pulls the sales register from the ERP, and attempts an invoice-by-invoice comparison across six fields — customer GSTIN, invoice number, taxable value, IGST, CGST, SGST, and place of supply — across hundreds of rows. At 200 invoices per period, even an experienced analyst needs the full two days just for the raw comparison, leaving no time for exception investigation.

VLOOKUP fails silently on invoice-number formats

Manual VLOOKUP-based matching breaks when invoice numbers carry leading spaces, inconsistent prefixes, or trailing slashes — common artifacts of Tally or Zoho Books exports. A GSTR-1 entry for INV/2025-26/0142 silently fails to match the books entry for INV/2025/0142, routing both to the "unmatched" pile without flagging the reason. The analyst has to re-examine every unmatched row manually, which can add another full day to the cycle.

Place-of-supply flips are invisible in amount-based checks

A place-of-supply mismatch — where the books record the supply as intra-state (CGST+SGST) while the filed GSTR-1 treats it as inter-state (IGST) — often carries the same total tax rupee amount, making the error invisible to an analyst who compares only amounts. The misclassification means the wrong government received the tax, which is not self-correcting and requires a formal amendment under Section 37(3) of the CGST Act 2017, often with interest under Section 50 at 18% per annum.

Unreported invoices surface months later at GSTR-9

An invoice present in the books sales register but absent from the filed GSTR-1 constitutes an unreported outward supply. If the discrepancy is not caught during the monthly or quarterly reconciliation, it accumulates through the year and surfaces only during GSTR-9 annual return preparation — when the amendment window under Section 37(3) may already have closed and the liability for interest and penalty under Section 73 or 74 has grown materially.

18%

The interest rate per annum under Section 50 of the CGST Act 2017 on tax not paid or short-paid by the due date of the return. For a mid-market company with Rs 50 lakhs of outward supplies per month, a Rs 1 lakh under-reported taxable value generates Rs 18,000 per year in interest exposure alone — before any penalty under Section 73 or 74. Manual GSTR-1 reconciliation that misses even 0.2% of invoices each period creates compounding statutory risk that only systematic GSTR-1 reconciliation can close.

Why It Matters: Regulatory Context

GSTR-1 sits at the intersection of four overlapping CGST / IGST provisions. An error in any one of them triggers a chain reaction: the wrong amount flows into the recipient’s GSTR-2B, their ITC claim is capped or reversed, and a reconciliation mismatch in GSTR-3B follows automatically.

Section 37 · CGST Act 2017

Mandatory outward-supply reporting

Every registered supplier must furnish details of outward supplies in GSTR-1 that agree with the books of account maintained under Section 35. The return is not optional even for nil-tax periods — and any omission of an invoice that appears in the books creates a prima facie discrepancy that the department can examine under Section 61 (scrutiny of returns) without further notice.

Section 16(2)(aa) · CGST Act 2017

ITC capped at supplier’s filed GSTR-1

Since the Finance Act 2021 amendment, a buyer’s Input Tax Credit is restricted to the amount the supplier has reflected in their GSTR-1 and auto-populated in GSTR-2B. If your filed GSTR-1 under-reports taxable value for an invoice, the buyer’s available ITC is correspondingly reduced — a direct cash-flow impact on your customer that can damage commercial relationships and trigger contractual disputes.

Section 5 · IGST Act 2017

Inter-state vs intra-state tax routing

The place of supply determines whether IGST (inter-state, levied by the Centre) or CGST+SGST (intra-state, split between Centre and state) applies. Booking the wrong tax type means the revenue reaches the wrong government. This is not reversible through a credit note — it requires a formal GSTR-1 amendment and, in the case of SGST, coordination with the state tax authority where the supply was actually consumed.

Rule 59 · CGST Rules 2017

Amendment window and GSTR-9 reconciliation

GSTR-1 errors can be corrected via GSTR-1A (effective from 2024) or in any subsequent month’s GSTR-1, but only within the amendment deadline — typically the GSTR-1 for September of the next financial year or the date of filing the annual return under Section 44, whichever is earlier. Errors that miss this window are locked and can only be addressed through voluntary payment with interest, making period-by-period GSTR-1 books reconciliation a statutory control, not a best practice.

What This Workflow Automates

Seven deterministic passes from two Excel uploads to a signed-off reconciliation working paper — in under 60 seconds per return period, with every exception classified, quantified, and linked to the source row.

01

Document ingestion & header validation

Accepts the GSTR-1 Filed extract and the books sales register as .xlsx uploads for the same tax period. Validates that both files carry the required column structure (customer name, customer GSTIN, invoice number, invoice date, place of supply, taxable value, IGST, CGST, SGST) before processing begins — returning a clear error if any required column is absent or misnamed.

02

Automatic document classification

Classifies each uploaded file as either GSTR-1 Filed or Books Register using column-header signals and GSTIN presence. The classification is tolerance-aware: files named generically (e.g., export_feb2026.xlsx) are classified by content, not filename. The workflow rejects ambiguous files and prompts the uploader to confirm classification manually before proceeding.

03

Invoice-level matching on composite key

Matches every GSTR-1 row to its counterpart in the books register using a composite key of customer GSTIN + invoice number, tolerating common formatting differences (leading/trailing whitespace, inconsistent prefix separators, case differences) via normalized key comparison. Records that match on GSTIN but differ on invoice number are flagged as potential typo mismatches rather than silently dropped.

04

Amount-field comparison with Rs 1 tolerance

For each matched pair, compares taxable_value, igst, cgst, and sgst field-by-field. Differences within ±Rs 1 are treated as rounding artefacts and suppressed. Differences beyond Rs 1 are flagged as taxable-value or tax-amount mismatches, with the absolute rupee gap and the resulting tax differential surfaced in the exception queue — ready for a GSTR-1A amendment assessment.

05

Place-of-supply & tax-head check

Compares place_of_supply state codes between the two documents independently of tax amounts, then verifies that the IGST/CGST/SGST split is internally consistent with the declared place of supply under Section 5 of the IGST Act 2017. Any invoice where the tax-head selection conflicts with the declared state code — even if the total tax rupee amount is identical — is routed to the place-of-supply exception bucket.

06

Unmatched-invoice isolation

Collects every GSTR-1 row with no books counterpart into a GSTR-1-only exception bucket (potential revenue-recognition gap or duplicate filing), and every books row with no GSTR-1 counterpart into a books-only exception bucket (unreported outward supply, GST notice risk under Section 37 of the CGST Act 2017). Each unmatched row includes the identifier values used for the lookup so the controller can investigate quickly.

07

Reconciliation working paper & export

Generates a sign-off summary table (total invoices per source, matched count, exception count by type, aggregate taxable-value difference, aggregate tax difference), a line-level Excel diff of every matched and unmatched row, and an exception queue grouped by issue type — ready for controller sign-off, GSTR-9 preparation, or a departmental scrutiny response under Section 61 of the CGST Act.

Edge Cases We Simulate

A battery of synthetic test scenarios that exercise every failure mode encountered in real-world GSTR-1 data. Each scenario produces a deterministic outcome a controller or auditor can verify in seconds.

Clean Match

ScenarioGSTR-1 and books register carry identical GSTIN, invoice number, taxable value (Rs 4,50,000), IGST (Rs 81,000), and place of supply (27-Maharashtra) for every row.
Expected outcomeAll invoices reconcile with zero exceptions; the working paper summary shows a fully matched status ready for controller sign-off.

Taxable Value Under-Reported

What's wrongBooks register records Rs 4,75,000 taxable value and Rs 85,500 IGST; the matching GSTR-1 line shows Rs 4,50,000 and Rs 81,000 — a Rs 25,000 under-reported gap exceeding the Rs 1 tolerance.
Expected outcomeFlagged as a taxable-value mismatch; exception queue shows Rs 25,000 difference and resulting Rs 4,500 IGST shortfall, directing the team to file a GSTR-1A amendment.

Place-of-Supply Flip (IGST vs CGST+SGST)

What's wrongGSTR-1 treats the supply as inter-state (IGST), while the books record it as intra-state (CGST+SGST) — same invoice number and GSTIN, same total tax amount, invisible to an amount-only comparison.
Expected outcomeFlagged as a place-of-supply mismatch; workflow identifies which tax head is incorrectly applied and quantifies the misclassified amount, citing Section 12 or 13 of the IGST Act 2017.

GSTR-1-Only Invoice (Filed but Not Booked)

What's wrongAn invoice appears in the filed GSTR-1 return but has no corresponding entry in the books sales register for the same tax period — a revenue-recognition anomaly flagged under SA 240.
Expected outcomeIsolated in the GSTR-1-only exception bucket; the working paper notes a potential duplicate filing or revenue-recognition gap requiring a journal-entry review.

Books-Only Invoice (Booked but Not Reported)

What's wrongAn invoice is present in the books sales register but absent from the filed GSTR-1 — an unreported outward supply carrying GST notice risk under Section 37 of the CGST Act 2017.
Expected outcomeIsolated in the books-only exception bucket with the taxable value and expected tax liability that must be included in the next GSTR-1 or a GSTR-1A amendment.

Invoice-Number Format Mismatch

What's wrongGSTR-1 records INV/2025-26/0142 while books use INV/2025/0142 for the same transaction — a prefix inconsistency from Tally’s FY-format export that causes a silent no-match in VLOOKUP.
Expected outcomeThe normalized-key matcher detects the GSTIN match and flags the invoice-number difference as a potential typo mismatch rather than routing both rows to the unmatched pile.

Sample Documents & Results

Six seeded Excel files covering all four exception classes. Each pair exercises one failure mode end-to-end, from upload to exception queue.

Clean match pair
Reconciled

Zero-exception baseline

gstr1_filed_clean.xlsx books_register_clean.xlsx
Invoices1INV/2025-26/0142
Taxable value₹4.50Lmatched
Exceptions0clean pass

Baseline pair: customer GSTIN 27ACMEA1234B1Z5 (Acme Corp Ltd), taxable value Rs 4,50,000, IGST Rs 81,000, place-of-supply 27-Maharashtra. Validates the zero-exception clean-match path and confirms inter-state IGST routing is correctly verified.

Taxable-value mismatch
Exception

Under-reporting exception

gstr1_filed_taxable_value_mismatch.xlsx books_register_taxable_value_mismatch.xlsx
Gap₹25,000under-reported
IGST shortfall₹4,500@ 18%
ActionGSTR-1Aamendment

Books show Rs 4,75,000 taxable value against GSTR-1’s Rs 4,50,000 for invoice INV/2025-26/0142. The Rs 25,000 under-reporting and resulting Rs 4,500 IGST shortfall are surfaced in the exception queue with an amendment recommendation.

Place-of-supply flip
Exception

IGST vs CGST+SGST misclassification

gstr1_filed_pos_mismatch_igst_vs_cgst.xlsx books_register_pos_mismatch_igst_vs_cgst.xlsx
Tax-head conflictIGST vs CGST+SGSTsame invoice
Amount deltaRs 0invisible to VLOOKUP
ResolutionPOS correction+ amendment

Total tax amount matches but the tax head is wrong. The workflow catches this class of error — invisible to a purely amount-based comparison — by comparing state codes and tax-head selection independently under Section 12 / 13 of the IGST Act 2017.

Multi-invoice audit trail
Processed

Full reconciliation working paper

All six sample files · four exception classes exercised
Sample files63 GSTR-1 + 3 Books
Exception types4all classes
OutputExcel + PDFworking paper

Running all six sample files in sequence exercises: the zero-exception clean match, the Rs 25,000 taxable-value under-reporting, the IGST vs CGST+SGST flip, and separate GSTR-1-only and books-only invoice scenarios. The output working paper covers all exception types on a single sheet, ready for GSTR-9 preparation or departmental scrutiny response.

Why Automation Wins Here

A GSTR-1 reconciliation that a mid-market tax team completes in two to three working days manually — exporting portal data, aligning columns, writing VLOOKUP formulas, reviewing flagged rows — runs to completion in under 60 seconds on Cadel, with four exception classes caught deterministically on every run.

2–3 days → 60 s
Per-period reconciliation time on a 200-invoice workload
4
Exception classes caught on every run: value mismatch, POS flip, GSTR-1-only, books-only
±Rs 1
Tolerance that eliminates rounding noise while catching real under-reporting
0
Silent misses on place-of-supply flips — the exception class invisible to VLOOKUP

Amendment obligations surfaced before the window closes

Each exception includes the specific difference amount and the relevant statutory provision — GSTR-1A amendment guidance for under-reported taxable value, interest-exposure calculation for the books-only bucket under Section 50 — so the controller can act on the output without additional research. Running the reconciliation monthly instead of quarterly reduces the compounding interest exposure from an 18% annual rate to near zero.

Audit-ready working paper, every period

The reconciliation output — a sign-off summary table plus a line-level Excel diff — provides the documented management review of tax filings required under ICAI SA 500 (Audit Evidence) and satisfies the indirect-tax schedule in Form 3CD under Section 44AB of the Income Tax Act. It also provides the specific invoice-level trail a GST officer would request in a scrutiny notice under Section 61 of the CGST Act, reducing response time from days to the duration of a file retrieval.

Catches what VLOOKUP cannot

Place-of-supply flips that carry the same total tax rupee amount are deterministically identified by comparing state codes and tax-head selection independently — the exception class that a spreadsheet-only process systematically misses. Normalized key matching also catches the invoice-number format differences common in Tally, Zoho Books, and SAP FICO exports, routing them to a typo-mismatch bucket rather than silently dropping both rows into the unmatched pile.

Frequently Asked Questions

The questions tax controllers and finance teams ask most often before deploying GSTR-1 reconciliation software.

Which documents do I upload?

Two files for the same tax period: your GSTR-1 Filed extract (the outward-supplies return as filed on the GST portal) and your books sales register. Both are tabular .xlsx files with one row per invoice — customer name, GSTIN, invoice number and date, place of supply, taxable value, IGST, CGST and SGST. Drop them together; Cadel classifies each automatically using column-header signals.

How does the workflow match an invoice in GSTR-1 to the one in my books?

It matches on the customer GSTIN and invoice number first (the primary keys), then confirms the pair describes the same transaction by checking taxable value, the tax split, the invoice date and the customer name. Invoices that line up on identifier and amounts reconcile cleanly. Invoices that match on GSTIN but differ on invoice number are flagged as potential typo mismatches rather than routed to the unmatched pile, so you can investigate the format difference rather than counting both as missing.

What kinds of exceptions does it flag?

Four deterministic exception classes: taxable-value mismatch (difference beyond ±Rs 1 between GSTR-1 and books), place-of-supply flip (inter-state supply booked as CGST+SGST or vice versa), GSTR-1-only invoices (filed on the portal but absent from books), and books-only invoices (booked in the register but not filed — GST notice risk under Section 37 of the CGST Act 2017). Invoice-number format mismatches and date differences beyond five days are surfaced as secondary flags.

Why does the tax-split check matter?

The place of supply decides the tax type: inter-state supplies attract IGST (levied by the Centre), intra-state supplies attract CGST + SGST (split between Centre and state). If your books split the tax the wrong way for the customer’s state, the total rupee amount on the invoice may still be correct — making the error invisible to any comparison that checks only amounts. But the wrong government has received the tax, which is not self-correcting and requires a formal amendment. Under Section 12 and Section 13 of the IGST Act 2017, the place of supply determines the entitled government, and correcting a misrouted SGST payment requires coordination with the state tax authority.

What is the tolerance on amounts?

Taxable value and each tax head (IGST, CGST, SGST) must agree within ±Rs 1, so genuine rounding from paisa truncation in ERP exports never raises a false break. Anything beyond Rs 1 per invoice is surfaced in the Exceptions view with the field name and the rupee delta so you can see at a glance whether it is a data-entry slip or a real difference requiring a GSTR-1A amendment. Controllers can adjust the tolerance threshold in the workflow settings before running the reconciliation.

How do I resolve a flagged invoice?

Open the Exceptions view and click the row. You see the GSTR-1 entry and the Books entry side by side with the differing field highlighted — GSTIN, taxable value, tax split, or invoice date. Correct whichever side is wrong in your source system (book a missing invoice, fix a GSTIN, re-split the tax, or file a GSTR-1A amendment for an under-reported value) and re-run. The workflow produces a fresh working paper on each run, so the exception count decreases visibly as each break is resolved.

Can I export the results?

Yes. Export the reconciled invoices and the exception list to Excel from the Inbox toolbar. The export preserves the line-level diff alongside an exception queue grouped by issue type (GSTR-1-only, books-only, taxable-value mismatch, place-of-supply mismatch), which corresponds to the reconciliation evidence expected under ICAI SA 500 (Audit Evidence) and is sufficient documentation for the indirect-tax schedule in Form 3CD under Section 44AB of the Income Tax Act.

Is my data used to train models?

No. Your GSTR-1 and books data is processed only to produce this GSTR-1 reconciliation and is never used to train any model. The reconciliation run stores the input files, extracted row data, and exception classifications as an immutable, timestamped audit record accessible only to users in your organization.