All Workflows

Debit/Credit Note ↔ Invoice Reconciliation

Notes register ↔ invoice register match on GSTIN + invoice number — debit credit note reconciliation in under 30 seconds per period.

Live demo Drop your Notes Register and Invoice Register — Cadel matches every note and flags exceptions in seconds.

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.

2–3 days

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.

Section 34 · CGST Act 2017

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.

Rule 53(1A) · CGST Rules 2017

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.

Rule 86A · CGST Rules 2017

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.

Section 73 / 74 · CGST Act 2017

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

07

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.

Clean Match

ScenarioCN-2026-0042 references BF/2526/00871 for the same supplier GSTIN (27ACMEA1234B1Z5), 18% GST matching the invoice, ₹45,000 taxable well within ₹3,20,000 invoice value, reason code 'Quality Rejection'.
Expected outcomeStatus: Matched. All five checks pass; note cleared for ITC reversal and included in clean export with a green badge.

Note Predates Invoice

What's wrongCN-2026-0043 carries a note date 50 days prior to today; the referenced invoice BF/2526/00871 was raised only 40 days prior — an impossible sequence where the adjustment precedes the underlying supply.
Expected outcomeStatus: Exception — Date Sequence Error. Red badge; placed in exception queue pending supplier correction before ITC reversal is processed.

GST Rate Mismatch

What's wrongDN-2026-0017 (₹30,000 taxable, GST 12%) references BF/2526/00871 which carried 18% GST — a 6-percentage-point delta that produces ₹1,800 in mis-stated GSTR-3B liability.
Expected outcomeStatus: Exception — GST Rate Mismatch. Note rate and invoice rate shown side-by-side; blocked from auto-posting until supplier issues a corrected document.

Note Amount Exceeds Invoice Value

What's wrongCN-2026-0044 claims ₹4,50,000 taxable against BF/2526/00871 (taxable ₹3,20,000) — a cumulative over-credit of ₹1,30,000 that breaches the supply-value cap under Rule 86A.
Expected outcomeStatus: Exception — Over-Credit. Excess of ₹1,30,000 stated explicitly; note held in exception queue and excluded from ITC reversal run.

Orphan Note (Invoice Not Found)

What's wrongA note references invoice number ACME/INV/2026/9999 which does not appear anywhere in the uploaded invoice register for the same supplier GSTIN — no parent invoice can be located.
Expected outcomeStatus: Exception — Orphan Note. 'Unmatched' badge; listed in dedicated orphan section of the export so AP can obtain the missing invoice from the supplier.

Missing Reason Code

What's wrongA credit note matches on invoice number and GSTIN, passes date sequence and GST rate checks, but the reason_code field is blank — mandatory under Rule 53(1A) of the CGST Rules, 2017.
Expected outcomeStatus: Exception — Reason Code Absent. Amber badge; excluded from the clean export until reason code is populated and the file is re-uploaded.

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 · Excel
Source of truth

invoice_register.xlsx

80 parent purchase invoices for Acme Corp Pvt Ltd suppliers, with Invoice No, Invoice Date, Supplier GSTIN, taxable value, GST rate and PO reference.
Invoices80parent records
Suppliers12unique GSTINs
PeriodFeb-26monthly register

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 · Excel
6 exceptions seeded

notes_register.xlsx

61 debit and credit notes referencing those invoices by Ref Invoice No + Supplier GSTIN. Most reconcile cleanly; six rows plant the full exception taxonomy.
Notes61DN + CN rows
Clean55matched notes
Exceptions6one per class

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.

2–3 days → <1 min
Per-period reconciliation time for a full notes register
6
Distinct exception classes caught automatically on every run
100%
Notes checked for date sequence, GST rate, value cap and reason code
₹0
Section 50 interest risk from rate-mismatch notes reaching GSTR-3B

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.

Which documents do I upload?

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.

How is each note matched to its invoice?

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.

What exceptions does the workflow catch?

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.

Why does an over-credited invoice matter?

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.

How does a GST-rate mismatch on a note create risk?

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.

Can it tell a debit note from a credit note?

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.

Can I export the results?

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).

Is my data used to train models?

No. Your documents are processed solely to produce this workflow's reconciliation results and are not used to train any model.