All Workflows

Dunning Letter Generator (Multi-Stage)

Stage 1-4 letters + 18% p.a. interest + GSTIN gates — dunning letter dispatch in under 90 seconds.

Live demo Paste your AR aging. Cadel groups overdue invoices by customer and tone-tier, then drafts a dunning letter ready to send.

The Problem

Mid-market AR collections teams chase 150–500 overdue invoices per month with hand-drafted dunning letters in Word. Four error classes silently produce legally defective demand notices and leave interest revenue on the table.

Interest accrued on invoice face, not outstanding

The most common manual error: 18% p.a. interest applied to the full invoice amount rather than the residual balance after partial payments. A demand notice based on inflated interest is legally defective and prejudices any subsequent Section 8 IBC application.

Uniform letter tone regardless of stage

The same softly-worded reminder goes to a 10-day overdue customer and a 75-day overdue customer. Stage 4 legal-referral language never appears; the customer learns the matter has escalated only when the lawyer’s notice arrives weeks later.

Missing contact email silent failures

Records with no contact email get skipped silently in manual runs — staff move on rather than logging the gap. The customer never receives the letter, the interest clock keeps running, and the limitation period under Section 2(b) of the Limitation Act 1963 may quietly run out.

Outstanding > invoice corrupted records

Source-data integrity issues — an outstanding amount that exceeds the invoice face value, a due date in the future, a structurally invalid GSTIN — produce demand notices that the customer can challenge on first reading. Manual review almost never catches these before dispatch.

2–3 days

Per monthly dunning cycle spent in Word manually drafting, computing interest, and dispatching letters across 200+ overdue invoices. The recomputable interest ledger required by SA 505 (External Confirmations) evidence and the Limitation Act / IBC Section 8 statutory standard is almost never produced.

Why It Matters: Regulatory Framework

Dunning letters are evidentiary documents that may be cited in a Section 8 IBC application, an MSME Facilitation Council reference, or an SA 505 external-confirmation audit sample. Four regulatory anchors govern their precision.

Interest Act 1978 · CGST § 50

Interest rate ceiling

The Interest Act 1978 caps contractual interest on commercial debt; CGST Section 50 prescribes 18% p.a. on delayed GST liability. An 18% p.a. ceiling is the market-standard commercial term referenced in vendor MSAs — the workflow computes interest on the residual outstanding, not the invoice face.

Section 16 · MSMED Act 2006

MSME interest obligation

For dues to MSME-registered creditors, Section 16 of the MSMED Act 2006 imposes interest at three times the bank rate notified by RBI. The workflow detects MSME-registered receivables and applies the MSMED rate where applicable, distinct from the 18% commercial-rate path.

Limitation Act 1963 § 2(b)

Acknowledgment-of-debt anchor

A dispatched dunning letter and customer reply (or non-reply within the prescribed period) anchor the acknowledgment-of-debt timeline under Section 2(b) of the Limitation Act 1963. A missed letter or unrecorded dispatch event can quietly burn the limitation period.

IBC 2016 § 8 / 9 · Companies Act § 88

Statutory demand notice

The Stage 4 legal-referral letter is the statutory demand notice under Section 8 of the Insolvency and Bankruptcy Code 2016. Its dispatch event is the trigger date for Section 9 application timing; the recomputable interest ledger is required evidence at the NCLT.

What This Workflow Automates

Seven deterministic passes from AR aging XLSX upload to stage-appropriate dispatched letters with a recomputable interest ledger — in under 90 seconds per run.

01

AR aging register ingestion

Workflow ingests the AR aging register uploaded as Excel with columns for customer name, GSTIN, contact email, invoice number, invoice date, due date, invoice amount, amount outstanding, and currency — mapping directly from Tally Prime, Zoho Books, NetSuite, and SAP exports.

02

Field-level extraction + normalisation

Per-row extraction normalises date formats, strips whitespace, validates currency codes, and standardises GSTIN to uppercase. The composite key of (invoice_number, customer_gstin) is built for downstream stage assignment and interest accrual.

03

Six hard validation gates

Each row gated on: contact email present, GSTIN 15-char with ‘Z’ at position 14, outstanding ≤ invoice amount, due date in the past, non-zero outstanding, and customer name present. Any FAIL routes to the exception queue, blocking letter generation until corrected.

04

Exception queue routing

Records failing any FAIL-severity validation are surfaced in a named exception queue with the specific rule cited — missing contact email (the most common silent failure in manual dunning), corrupted records where outstanding exceeds invoice, or malformed GSTINs.

05

Stage assignment by DPD

Days-past-due computed from due date and run date; each invoice assigned to one of four stages: Stage 1 Reminder (1–15 dpd), Stage 2 First Notice (16–30 dpd), Stage 3 Final Demand (31–60 dpd), or Stage 4 Legal Referral (60+ dpd).

06

18% p.a. interest computation

Interest computed as (Outstanding × 18%) ÷ 365 × Days Past Due — on the residual outstanding balance after partial payments, NOT the invoice face. Aligns with the rate referenced in MSMED Act Section 16 and the Interest Act 1978 ceiling.

07

Letter generation + dispatch

Stage-appropriate letter generated per customer with invoice number, GSTIN, outstanding principal, accrued interest, and total payable. Stage 4 letter includes IBC Section 8 statutory demand notice language. SMTP dispatch + open/reply tracking; Excel export drops into the AR audit workpaper.

Edge Cases We Simulate

The workflow ships with a battery of synthetic test scenarios that exercise every failure mode we have seen in real-world data. Each scenario produces a deterministic outcome that an auditor or controller can verify in seconds.

Stage 1 Reminder — 10 dpd

What's wrongInvoice is 10 days past due with all fields present and valid: contact email populated, GSTIN well-formed (15 characters, 'Z' at position 14), and amount outstanding equal to invoice amount.
Expected outcomeWorkflow assigns Stage 1 Reminder, computes accrued interest at 18% p.a. for 10 days on Rs 2,85,000, and generates a courtesy reminder letter addressed to ap.team@bhel.in.

Stage 2 First Notice — 22 dpd, Partial Payment

What's wrongInvoice INV-2026-0118 for Acme Corp Pvt Ltd is 22 days past due with a partial payment received: invoice amount is Rs 1,42,500 and outstanding balance is Rs 95,000.
Expected outcomeWorkflow assigns Stage 2 First Notice, calculates 18% p.a. interest on the outstanding Rs 95,000 for 22 days, and generates a first-notice letter referencing the partial payment and remaining balance.

Stage 4 Legal Referral — 78 dpd, Full Balance

What's wrongInvoice INV-2025-0987 for Acme Corp Pvt Ltd is 78 days past due with the full Rs 67,500 still outstanding, qualifying it for the legal-referral threshold of 60+ dpd.
Expected outcomeWorkflow assigns Stage 4 Legal Referral, calculates 18% p.a. interest on Rs 67,500 for 78 days, and generates a formal legal-referral demand letter citing the outstanding principal and accrued interest.

Missing Contact Email

What's wrongInvoice INV-2026-0156 for Acme Corp has an empty contact_email field, making electronic dispatch impossible even though the invoice is 35 days past due.
Expected outcomeWorkflow raises a FAIL validation ('Contact Email Required'), moves the record to the exception queue with a clear error label, and suppresses letter generation until a valid email is supplied.

Outstanding Exceeds Invoice Amount

What's wrongInvoice INV-2026-0161 for Acme Corp carries an amount_outstanding of Rs 42,000 against an invoice_amount of Rs 35,000, a data integrity condition that must be flagged before any dunning letter is issued.
Expected outcomeWorkflow raises a FAIL validation ('Outstanding ≤ Invoice Amount'), routes the record to the exception queue, and blocks letter generation for this entry pending correction in the source AR register.

Sample Documents

Seeded sample files used to demonstrate this workflow. Each one exercises a specific scenario or failure mode.

Ar Aging
ar_aging_clean.xlsx

Single-row register for Acme Corp Ltd (GSTIN 27ACMEA1234B1Z5), 10 dpd, Rs 2,85,000 fully outstanding. Demonstrates all four validations passing and Stage 1 Reminder assignment.

Ar Aging
ar_aging_missing_contact_email.xlsx

Register for Acme Corp with contact_email intentionally blank. Demonstrates the contact_email_required FAIL validation and exception-queue routing.

Ar Aging
ar_aging_outstanding_exceeds_invoice.xlsx

Register for Acme Corp where amount_outstanding (Rs 42,000) exceeds invoice_amount (Rs 35,000). Demonstrates the outstanding-exceeds-invoice data integrity check.

Ar Aging
ar_aging_stage_2_first_notice.xlsx

Register for Acme Corp Pvt Ltd, 22 dpd, partial payment reducing outstanding to Rs 95,000. Demonstrates Stage 2 First Notice letter with interest on the residual balance.

Ar Aging
ar_aging_stage_4_legal_referral.xlsx

Register for Acme Corp Pvt Ltd, 78 dpd, full Rs 67,500 outstanding. Demonstrates Stage 4 Legal Referral letter generation with 78-day interest accrual.

Why Automation Wins Here

The Cadel dunning letter generator replaces stage-blind, manually drafted reminder emails with deterministic stage assignment, accurate interest computation on the outstanding balance, and hard data-quality gates — producing a recomputable interest ledger for every dunning run.

2–3 days → 90 s
Register upload to dispatched letters
4 stages
Stage-appropriate letter tone & legal language
6 checks
Hard validation gates before any letter is generated
18% p.a.
MSMED-aligned interest computed per invoice
Interest on outstanding, not invoice face
The workflow computes (Outstanding × 18%) ÷ 365 × Days Past Due on the residual balance after partial payments — eliminating the most common manual error of accruing interest on the full invoice face value, which produces a legally defective demand notice once part-payment has been received.
Data-integrity gates prevent defective letters
Missing contact email, outstanding exceeding invoice amount, structurally invalid GSTIN — all caught before any letter is generated, with the record surfaced in the exception queue rather than skipped silently. This is the silent-failure class manual dunning runs consistently miss.
Audit-ready dunning ledger
Every run produces a time-stamped Excel export with stage assignment, interest detail, validation results, and dispatch status per invoice. Drops directly into the AR section of the month-end workpaper package and satisfies SA 505 external-confirmation evidence requirements and the Limitation Act / IBC evidentiary standard for collection follow-up.

Frequently Asked Questions

The questions accountants and finance controllers ask most often before deploying this workflow.

How is the 18% p.a. interest on overdue amounts calculated, and is it consistent with Indian commercial practice?

The workflow computes simple interest as (Outstanding Amount × 18%) ÷ 365 × Days Past Due and includes the resulting figure in the dunning letter. An 18% p.a. rate aligns with the ceiling commonly cited in commercial contracts governed by the Interest Act, 1978 and is consistent with the rate referenced in MSME delayed-payment provisions under the MSMED Act, 2006 (Section 16), though the applicable rate for a specific contract depends on its payment terms clause.

What GSTIN validation rules does the workflow apply?

The workflow checks that each customer_gstin is exactly 15 characters in length, that the 14th character is the letter 'Z' (the default entity code under the GST registration structure), and that the first two digits represent a valid state code as defined in the CGST Act Schedule. Records that fail this structural check are flagged in the exception queue and excluded from letter dispatch until corrected.

Can the workflow handle multi-currency receivables, for example invoices denominated in USD for export customers?

The AR aging register includes a currency column, and the workflow preserves the stated currency on each dunning letter. Interest accrual is calculated on the outstanding balance in the invoice's native currency. For export invoices subject to FEMA regulations, the letter template notes the foreign-currency amount; however, INR conversion for financial reporting purposes must be handled separately per Ind AS 21 using the applicable exchange rate at the reporting date.

What audit trail does the workflow produce for the collections team and external auditors?

Each dunning run produces a timestamped Excel export recording the customer name, invoice number, invoice date, due date, days-past-due, dunning stage assigned, interest amount computed, validation results, and letter-dispatch status. This export can be attached directly to the AR sub-ledger working papers and supports the requirements of ICAI SA 505 (External Confirmations) when auditors request evidence of collection follow-up activity.

Does the workflow integrate with Tally, Zoho Books, or other mid-market accounting systems used in India?

Input to the workflow is a standard XLSX-format aged receivables register, which any accounting system — including Tally Prime, Zoho Books, QuickBooks Online, and SAP Business One — can export. The required columns are customer name, invoice number, invoice date, due date, invoice amount, outstanding amount, currency, GSTIN, and contact email. No direct API connector is required; the export-and-upload model keeps the workflow portable across systems without ERP customisation.

What happens when a single customer has multiple open invoices at different dunning stages?

The workflow evaluates each invoice row independently and assigns a dunning stage based on that invoice's own days-past-due value. If a single customer appears in both Stage 2 and Stage 4 buckets, two separate letters are generated — one per invoice — each citing the specific invoice number, outstanding amount, and interest accrued. The inbox view groups records by customer with a stage badge on each invoice, making it straightforward for the collections team to review the full exposure before dispatch.

Does the dunning letter generator integrate with email delivery and track open/response rates?

Yes. Letters can be dispatched directly through the integrated SMTP relay (or through SendGrid / Microsoft 365 / Google Workspace where configured) with per-letter open-tracking pixels and reply-detection on the AR mailbox. The collections inbox shows, for each letter, whether it was delivered, opened, replied to, or bounced, and the customer record auto-advances to the next dunning stage if no response is received within the configured response window — typically 7 days for Stage 1 and 3 days for Stage 4.

Can the Stage 4 legal referral letter be customised for the company's external legal counsel?

The Stage 4 legal referral letter template references the company's appointed legal counsel by name and address, includes the statutory demand notice language required under Section 8 of the Insolvency and Bankruptcy Code, 2016 (where applicable to the operational creditor), and attaches the recomputable interest ledger as a schedule. Finance teams can swap the counsel block and adjust the cure-period language through the template console without changing the workflow code, and the workflow records the dispatch event as the trigger date for IBC Section 9 application timing.