Debit/Credit Note ↔ Invoice Reconciliation
Notes register ↔ invoice register match on GSTIN + invoice number — debit credit note reconciliation in under 30 seconds per period.
| Note No | Type | Ref Invoice No | Supplier GSTIN | Taxable Amt | GST% | Reason |
|---|---|---|---|---|---|---|
| CN-2026-0042 | CN | BF/2526/00871 | 27ACMEA1234B1Z5 | 45,000 | 18% | Quality Rejection |
| CN-2026-0043 | CN | BF/2526/00871 | 27ACMEA1234B1Z5 | 12,000 | 18% | |
| DN-2026-0017 | DN | BF/2526/00871 | 27ACMEA1234B1Z5 | 30,000 | 12% | Price Revision |
The Problem
Accounts payable teams at mid-market manufacturers and traders process dozens of supplier debit credit note adjustments every month-end — and every one must be tied back to a specific purchase invoice before ITC is reversed or incremented.
Two to three days per monthly close
A company managing 50–200 active supplier relationships typically consumes two to three working days per close cycle cross-referencing the notes register against the invoice register in Excel, checking invoice numbers, validating supplier GSTINs, and confirming GST rates row by row. For each of those rows, four independent validations must pass before the note can be posted.
GST rate drift catches no one
A debit note raised at 12% GST against an invoice that carried 18% GST is a silent error in most registers. No formula in a standard Excel export catches the delta. The discrepancy only surfaces during GSTR-3B filing or a departmental audit — by which point interest under Section 50 of the CGST Act at 18% per annum has begun accruing on the short-paid amount.
Cumulative over-credits invisible in isolation
A single note may look within bounds, but three credit notes against one invoice can cumulatively exceed its taxable value. This over-credit violates the value cap implied by Rule 86A of the CGST Rules and can trigger a credit block on the electronic credit ledger, halting all ITC utilisation for the period. Manual row-by-row registers have no running total per invoice.
Orphan notes slip through to posting
When a note's referenced invoice number is missing from the register — because the invoice hasn't arrived yet, was filed under a different number, or was never received — there is no automatic stop in Excel. The note gets posted against a phantom invoice, creating a dangling ITC reversal that an auditor under Section 65 or 66 of the CGST Act will flag immediately.
The manual reconciliation burden per monthly close for a team managing 80–200 active supplier notes. At scale, the process breaks in predictable, consistent ways: wrong invoice references, GST rate drift, cumulative over-credits, missing reason codes — each individually small and individually consequential under the CGST Act, 2017.
Why It Matters: Regulatory Context
Four overlapping provisions in the CGST Act and Rules create mandatory obligations for every credit or debit note reconciliation. Missing any one exposes the company to demand notices, interest, and ITC blocks.
Credit/debit note must be declared in GSTR-1
A supplier issuing a credit note must declare it in the GSTR-1 for the tax period in which it is issued. The recipient must ensure the corresponding ITC reversal or increment is accurately reflected in GSTR-3B. An incorrectly posted note — wrong GST rate, amount exceeding the invoice, or no reason code — directly distorts both returns simultaneously.
Reason code mandatory on every credit note
A credit note issued by a supplier after supply must contain the reason for its issuance — quality rejection, rate revision, short supply, or return. A credit note without a reason code violates Rule 53(1A) and is excluded from the clean matched export until the field is populated. No reason code means no audit trail, and no audit trail means no defensible ITC reversal.
Excess ITC subject to credit ledger block
The proper officer may block ITC in the electronic credit ledger where credit appears to have been availed in excess of entitlement. Over-credited invoices — where cumulative note value exceeds the original invoice's taxable amount — are precisely the fact pattern that triggers Rule 86A scrutiny. The workflow caps cumulative note value at the invoice value and flags any breach before it reaches the return.
Demand notices for incorrect ITC adjustments
A GST rate mismatch between a note and its parent invoice produces an incorrect GSTR-3B liability adjustment. If the discrepancy causes short payment of tax, it attracts a demand notice under Section 73 (non-fraud) or Section 74 (fraud) with interest at 18% per annum under Section 50 from the due date of the period in which the note was booked. One rate delta of 6 percentage points on ₹30,000 creates ₹1,800 of mis-stated tax.
What This Workflow Automates
Seven deterministic passes from two Excel registers to a fully reconciled, exception-tagged output — in under 30 seconds per period, with every match decision traceable to the underlying register data.
Document ingestion & classification
Accepts the Notes Register and Invoice Register as uploaded files (Excel or CSV). Cadel classifies each file automatically from its column headers, routing it to the correct extraction schema without requiring the user to label which is which.
Structured record parsing
Parses every row from both registers into structured records, extracting note_no, note_type (DN/CN), note_date, supplier_gstin, ref_invoice_no, taxable_amount, gst_rate, total_amount, and reason_code from the notes register, and the corresponding invoice fields from the purchase register.
Composite-key matching
Each note is matched to its parent invoice using a composite key of ref_invoice_no + supplier_gstin. Notes for which no matching key exists in the invoice register are immediately classified as Orphan Notes and routed to a dedicated unmatched queue, surfacing the specific invoice number that was not found.
Date sequence validation
For every matched pair, the workflow checks the temporal sequence: note_date must be on or after invoice_date. Any note dated earlier than its referenced invoice is flagged as a Date Sequence Error — an impossible document sequence indicating either a data entry error or a fabricated note predating the underlying supply.
GST rate cross-check
The GST rate on the note is compared to the GST rate recorded on the matched invoice. Any discrepancy of any magnitude raises a GST Rate Mismatch exception, surfacing both the note rate and the invoice rate side-by-side, blocking the note from the auto-posting queue per Section 34 of the CGST Act.
Cumulative value cap check
The workflow calculates the cumulative taxable value of all notes — across both DN and CN types — matched against the same parent invoice, then compares that running total to the invoice's taxable_amount. Any note that would push the cumulative total above the invoice value is flagged as an Over-Credit with the excess amount stated explicitly.
Reason code presence check
The reason_code field is validated for presence. Any note that passes all prior checks but carries a blank reason code is flagged as Reason Code Absent under Rule 53(1A) of the CGST Rules, 2017, assigned an amber status badge, and excluded from the clean matched export pending correction and re-upload.
Edge Cases We Simulate
A battery of synthetic test scenarios that exercise every failure mode present in real-world notes and invoice registers. Each scenario produces a deterministic outcome an auditor or controller can verify in seconds.
Note Predates Invoice
GST Rate Mismatch
Note Amount Exceeds Invoice Value
Orphan Note (Invoice Not Found)
Missing Reason Code
reason_code field is blank — mandatory under Rule 53(1A) of the CGST Rules, 2017.Sample Documents
Two consolidated Excel registers for one period (Feb-2026) demonstrate this workflow end-to-end. Both files share supplier GSTINs and invoice numbers — most notes reconcile cleanly, while six rows deliberately plant each exception class.
invoice_register.xlsx
Every note in the notes register is matched against this file on Invoice No + Supplier GSTIN. Notes referencing invoice numbers absent from this file are flagged as Orphan Notes immediately.
notes_register.xlsx
Exceptions include: note dated before invoice, cumulative over-credit (₹1,30,000 excess), GST rate mismatch (12% vs 18%), GSTIN mismatch, blank reason code, and orphan note ACME/INV/2026/9999 whose invoice is absent from the register.
Sample Results
Running the workflow against the two demo files produced reconciliation of all 61 notes against the 80-invoice register. In the clean scenario, credit note CN-2026-0042 (taxable ₹45,000, total ₹53,100, GST rate 18%, reason code 'Quality Rejection') matched correctly to invoice BF/2526/00871 (taxable ₹3,20,000, invoice total ₹3,77,600, GSTIN 27ACMEA1234B1Z5) and cleared all five validation checks, receiving a green Matched badge and inclusion in the clean export. The 55 clean notes were cleared for ITC reversal posting in a single batch.
In the GST rate mismatch scenario, debit note DN-2026-0017 (taxable ₹30,000, GST rate 12%) matched to the same invoice BF/2526/00871 carrying 18% GST — a 6-percentage-point discrepancy that would produce a GSTR-3B liability adjustment of ₹1,800 in error — and was immediately flagged and blocked from posting. The over-credit scenario demonstrated the cumulative-value check: credit note CN-2026-0044 claimed ₹4,50,000 taxable against an invoice of only ₹3,20,000, producing a flagged excess of ₹1,30,000 — the precise figure that would trigger a Rule 86A credit block. All six exception classes were caught deterministically with zero false negatives on the demo set.
Why Automation Wins Here
Before automation, reconciling 80–120 notes against a 200–400 row invoice register takes two to three working days per close — four sequential checks, done manually, per note row. Cadel completes the same reconciliation in under 30 seconds.
GSTR-3B errors caught before filing
Every GST rate mismatch and over-credit is surfaced before the note reaches GSTR-3B. Eliminating even one 6-percentage-point rate delta per quarter avoids a correction filing and the associated interest exposure under Section 50 of the CGST Act at 18% per annum on the mis-stated tax for the entire period.
Audit-ready two-tab export
The output is an Excel workbook with a clean matched register tab (ready for ITC reversal journal posting) and an exception queue tab (every flagged note with its specific exception class, the relevant rule citation, and both note and invoice values side-by-side). This drops directly into the month-end audit file as supporting documentation, satisfying the standard expected under ICAI SA 230 (Audit Documentation).
Cumulative value tracked across all notes
The workflow aggregates all notes — both DN and CN — against each parent invoice and compares the running total to the invoice's taxable amount. This catches over-credits that are invisible when each note is reviewed in isolation, preventing the Rule 86A credit-block scenario before it triggers a departmental scrutiny under Section 65 or 66 of the CGST Act.
Frequently Asked Questions
The questions AP controllers and GST practitioners ask most before deploying debit credit note reconciliation automation.
Two Excel files for the same period — the Notes Register (all debit and credit notes, each carrying a Ref Invoice No, Supplier GSTIN, note date, taxable value, GST rate and reason) and the Invoice Register (the parent purchase invoices). Cadel classifies each file automatically from its column headers, so you can drop them together without labelling which is which.
Every note is matched to its parent invoice on Ref Invoice No plus Supplier GSTIN (ref_invoice_no in the notes register against invoice_no in the invoice register). A note whose referenced invoice is not in the register is flagged as an orphan note so you can chase the missing invoice from the supplier or correct the reference before re-uploading.
Six: orphan notes (no matching invoice in the register), over-credits (cumulative note value above the invoice's taxable value), GST-rate mismatches between note and invoice, supplier-GSTIN mismatches, notes dated before their parent invoice, and notes with a blank reason code. The first five produce a red exception badge; the missing reason code produces an amber warning under Rule 53(1A) of the CGST Rules, 2017.
A credit note reduces the taxable value of a purchase, which reverses the input tax credit you originally claimed. If cumulative notes across multiple credit notes exceed the invoice value, you have over-reversed ITC — a classic GST audit finding. For debit notes, the equivalent over-claim risks a fraudulent-ITC determination. The workflow tracks the running total per invoice and flags any note that would breach the cap, mirroring the ceiling implied by Rule 86A of the CGST Rules and preventing the associated credit-ledger block.
A credit or debit note must carry the same GST rate as the invoice it amends, because the note adjusts the tax liability already declared at that rate. A note booked at 12% against an 18% invoice mis-states the tax adjustment, flows into GSTR-2B with the wrong tax figure, and triggers a potential demand notice under Section 73 or 74 of the CGST Act for short payment, with interest at 18% per annum under Section 50 from the filing due date.
Yes. The Type (DN/CN) column is extracted per row. Both note types are matched and value-checked the same way against the parent invoice; the distinction is preserved in the output so you can see whether each adjustment increases or decreases the original supply liability before posting the corresponding ITC adjustment.
Yes — export the matched reconciliation, with the exception status on every note row, to Excel from the Inbox toolbar. The workbook has two tabs: a clean matched register ready for ITC reversal posting, and an exception queue listing every flagged note with its specific rule citation and the note and invoice values side-by-side. This drops directly into the month-end audit file as supporting documentation under ICAI SA 230 (Audit Documentation).
No. Your documents are processed solely to produce this workflow's reconciliation results and are not used to train any model.