Every cheque, end to end. Pending, deposited, cleared, bounced.
A dedicated cheque register with three tabs — All Cheques, Pending Cheques (need deposit) and PDC (post-dated cheques to deposit on a future date) — covering the full state machine from receipt through deposit, clearing, bounce, redeposit and final settlement. Every transition recorded with bank, branch, instrument number and timestamp; bounced cheques auto-reverse the linked payment and trigger late-fee accrual.

How most Indian schools track cheques today
At the fee counter of a CBSE day school in Pune, the morning collection includes 14 cheques. Some are dated today (deposit immediately), some are post-dated (deposit on the cheque date), one is dated three days back (the parent forgot to update). The accountant writes each cheque in a register: cheque number, drawn-on bank, branch, amount, instrument date, and a column for 'deposited on'. Three days later, two cheques have bounced — one due to insufficient funds, one due to signature mismatch — but the parents do not know yet, the receipts have already been issued, the invoices show as PAID. The school discovers it when reconciling the bank statement on Friday.
Post-dated cheques (PDC) make this worse. The school accepts a parent's PDC dated 15 July, files it in a separate folder, and on 14 July nobody remembers to deposit it. The cheque sits past its issuance date; the bank flags it as stale; the parent's late fee accrues quietly while everyone thinks the fee is paid. By August, the school is chasing parents for cheques the school itself failed to deposit.
Cheques are a state machine, not a column in Excel. PENDING (received, not yet deposited) → DEPOSITED (with bank, awaiting clearance) → CLEARED (money in account) or BOUNCED (returned with bank reason) → REDEPOSITED (after bounce, second attempt) → CLEARED or BOUNCED again. Inkwelly's Cheque Management module models this state machine natively, with a PDC calendar that surfaces today's deposits, audit-stamps every transition, and auto-reverses the linked payment when a cheque bounces.

How Inkwelly Cheque Management works
The Cheque Management screen at /student-fee/cheques opens with three tabs: All Cheques (every cheque the school has received in the current academic session, with status filters), Pending Cheques (cheques received but not yet deposited — the daily deposit list), and PDC (Post-Dated Cheques — cheques whose pdcDueDate > today, sorted by due date so the next deposit cycle is obvious). Each tab carries its own filters — cheque date window, PDC due date window, status, drawn-on bank, search by cheque number or student admission number.
When the Payments module records a CHEQUE-mode payment, the cheque is auto-created in this module with status PENDING (or PDC if the cheque date is in the future). The morning routine is: open Pending tab, mark today's cheques as DEPOSITED via DepositChequeDialog — it captures the deposit date, the school's bank account, optional batch reference. The system flips status to DEPOSITED, an audit log row appears.
When the bank statement returns clearings, mark each as CLEARED via ClearChequeDialog — captures clearing date and the bank's clearing reference. When a cheque bounces, BounceChequeDialog captures the bank's bounce reason (free-text, common reasons preset: insufficient funds, signature mismatch, post-dated, stale, account closed), and the linked payment auto-reverses in the same DB transaction. RedepositChequeDialog lets the school attempt a second deposit after the parent confirms, with the new deposit date and reference; the bounce history stays preserved on the cheque's audit timeline.
What Cheque Management handles
- Three tabs — All Cheques (full register), Pending Cheques (today's deposit list), PDC (post-dated cheques sorted by due date).
- State machine — PENDING → DEPOSITED → CLEARED or BOUNCED → (on bounce) REDEPOSITED → CLEARED or BOUNCED again. Every transition timestamped with user, IP and reason.
- PDC calendar — the PDC tab sorts by
pdcDueDateascending so the next 7 days of deposits are visible at a glance. FilterpdcDueDateFrom/Tofor monthly planning. - Deposit / clear / bounce / redeposit dialogs — four purpose-built dialogs (
DepositChequeDialog,ClearChequeDialog,BounceChequeDialog,RedepositChequeDialog) with the right fields per state transition. - Auto-reversal on bounce — when a cheque flips to BOUNCED, the linked payment auto-reverses in the same transaction, the invoice outstanding restores, the receipt is marked invalid, late-fee accrual resumes, and the parent gets a portal notification.
- Bank reason capture — every bounce records the bank's reason (insufficient funds / signature mismatch / post-dated / stale / account closed / other) for the audit trail — essential for parent disputes and the school's NI Act 138 process if needed.
- Drawn-on bank + branch + instrument number — every cheque carries the drawer's bank, branch, cheque number and instrument date — the same data the school's bank slip needs.
- Multi-tenancy + RBAC — cheques scoped per school; counter staff create, accounts officer deposits, finance role marks cleared/bounced;
ClearChequeDialogandBounceChequeDialogrequire finance-role permissions.
Walkthrough — four screens, end to end




PDC tab — the calendar that prevents missed deposits
The PDC (Post-Dated Cheques) tab at ?tab=pdc lists every cheque whose pdcDueDate is in the future, sorted ascending by due date. The next 7 days are visually highlighted. The accounts officer's daily routine: open this tab, see today's-due cheques, deposit them. The principal's dashboard surfaces a count of 'PDCs due today' and 'PDCs overdue' so missed deposits never accumulate silently. Filter pdcDueDateFrom = today, pdcDueDateTo = today + 7 for the weekly deposit-planning meeting.


Bounce — with reason and auto-reversal
When a cheque returns unpaid, the BounceChequeDialog captures the bank's reason from a preset dropdown (Insufficient Funds / Signature Mismatch / Stale Cheque / Post-Dated / Account Closed / Other) plus optional free-text notes. On submit, the cheque flips to BOUNCED, the linked payment auto-reverses, the invoice outstanding amount restores, the receipt marks invalid, and late-fee accrual resumes from the original due date. The parent gets a portal notification with the bank reason. All in one DB transaction — no orphan receipts, no half-state.
Redeposit — second attempt with full audit
After a bounce, the parent typically arranges fresh funds and the school redeposits. The RedepositChequeDialog captures the new deposit date, school bank account, optional batch reference. The cheque flips to REDEPOSITED status; the bounce history stays on the audit timeline. If the redeposited cheque clears, status flips to CLEARED — the linked invoice settles, receipt regenerates, late-fee resolves. If it bounces again, the BounceChequeDialog runs the same flow with the redeposit-bounce flag preserved — useful for NI Act 138 documentation if the school escalates.

“Pichle saal hum 4 PDCs miss kar gaye the — file mein rakhe rahe, deposit nahi hue. Parents ko July mein chase karna pada July ke cheques ke liye. Ab Inkwelly ka PDC tab daily morning ki routine hai. Bouncing cheque par poori reversal automatically ho jati hai — invoice outstanding wapas, late-fee resume, parent ko notification. Hamare bank reconciliation ka time aadha ho gaya hai.”
Real operations across the school year
Morning deposit routine. Accounts officer opens Pending tab + PDCs-due-today; selects all; bulk-deposit with school's bank account picked once. 90 seconds for 14 cheques.
Afternoon clearance update. After the bank statement comes in, mark cleared / bounced individually — the system handles auto-reversal. 60 seconds per cheque on average.
Weekly PDC planning. Filter PDCs due in next 7 days; export to Excel for the weekly fee-counter meeting; staff knows which families to nudge ahead of due date.
Bounce-rate review. Filter status=BOUNCED over the last quarter, group by drawn-on bank or by parent; principal sees patterns — a particular branch with high bounce rates, or repeat parents whose cheques are unreliable.
Audit-week documentation. Export the Cheques register as PDF for the entire active session; CA gets a clean record of cheque-mode collections with bounce-rate metrics.
Common operations on the Cheques screen
- Open Pending tab; bulk-deposit today's cheques with one bank-account pick.
- Open PDC tab; see next 7 days' deposits sorted by date; plan the weekly run.
- Mark a returned cheque as BOUNCED; linked payment auto-reverses, invoice outstanding restores.
- Redeposit a previously-bounced cheque; new deposit date, audit history preserved.
- Search by cheque number or student admission number to find a specific cheque fast.
- Filter
status=BOUNCEDover a date range to compute bounce-rate per drawn-on bank. - Export the full register or a filtered slice as PDF / CSV for CA review or audit week.
See the cheque register live in 30 minutes
Bring last week's cheque receipts and your school's bank slip. We'll model your cheque flow inside Inkwelly during the demo — PENDING, deposited, cleared, bounced, redeposited — with auto-reversal on bounce demonstrated end to end.
Limits, safety and the small print
Status transitions are server-enforced. PENDING → DEPOSITED → CLEARED or BOUNCED → (on bounce) REDEPOSITED → CLEARED or BOUNCED again. The Cheque module enforces transitions; out-of-order writes are rejected with a clear error.
Auto-reversal on bounce is one DB transaction. Cheque → BOUNCED, payment → REVERSED, invoice outstandingAmount increases, receipt invalidated, late-fee resumes — atomic. Either all happen or none do.
Bank reasons stored verbatim. The exact reason the bank recorded (e.g., 'Funds Insufficient' or 'Drawer's Signature Differs') is preserved — needed for NI Act 138 notice issuance and parent disputes.
PDC due-date logic is timezone-aware. Indian Standard Time is used for due-date computations; cheques dated in foreign timezones are normalised on entry.
Multi-tenant isolation. Each school's cheques are isolated. School A's cheque is invisible to School B even within the same trust.
DPDP Act 2023 alignment. Cheque records contain instrument number (treated as PII), drawer name, drawer's bank, drawer's branch — all encrypted at rest with AES-256 on Mumbai-region servers, accessible only via IAM-controlled roles. Audit log records every transition, bounce, redeposit and reversal with user, timestamp and IP. Income Tax Act and CBSE renewal inspections are answered with one audit export.
Belongs to
1 moduleFrequently asked
8 questionsHow are cheques created in this module?
Auto-created when a CHEQUE-mode [payment](/features/fee-payments) is recorded. The payment form captures cheque number, drawn-on bank, branch, instrument date, cheque date — the cheque module takes over from there with status tracking.
What is the PDC tab for?
Post-Dated Cheques. Any cheque whose `pdcDueDate > today` lives here, sorted by due date. Daily routine: open this tab, deposit today's-due cheques. The principal's dashboard surfaces a 'PDCs due today' counter so misses don't accumulate.
What happens automatically when a cheque bounces?
In one DB transaction: cheque flips to BOUNCED with bank reason, the linked [payment](/features/fee-payments) auto-reverses, the [invoice](/features/fee-invoices) outstanding amount restores, the [receipt](/features/fee-receipts) is marked invalid, late-fee accrual resumes from the original due date, parent gets a portal notification.
Can we redeposit a bounced cheque?
Yes — RedepositChequeDialog captures new deposit date and bank account; the cheque flips to REDEPOSITED status while the bounce history stays on the audit timeline. If it clears on the second attempt, status flips to CLEARED, invoice settles, receipt regenerates.
What bank-bounce reasons can we capture?
Preset dropdown: Insufficient Funds, Signature Mismatch, Stale Cheque, Post-Dated, Account Closed, Other (free-text). The exact reason is preserved verbatim — useful for NI Act 138 escalation if the school decides to act on a repeat-bouncer.
Who can deposit, clear, bounce or redeposit a cheque?
[IAM role](/modules/identity-access-management) restricted. Counter staff create cheques (via payment recording). Accounts officer can DEPOSIT and REDEPOSIT. Finance / admin role can CLEAR and BOUNCE — the actions that affect linked payments and invoices.
Can we generate a Section 138 NI Act notice from a bounced cheque record?
The cheque's full history (instrument number, drawer's bank, branch, both bounce reasons, dates, linked payment chain, parent record) is downloadable as a single PDF — exactly what a lawyer needs to issue a Section 138 notice. Inkwelly does not generate the legal notice itself; it makes the supporting documentation trivial.
Where is cheque data stored? Is it secure?
Mumbai-region servers, AES-256 at rest, TLS 1.3 in transit. Instrument number, drawer's bank account masked beyond last-4. Accessible only via [IAM-controlled roles](/modules/identity-access-management). Multi-tenant isolation guarantees one school's cheques are invisible to another. DPDP Act 2023 compliant including parental consent for minor PII processing and audit-trail retention as required by Income Tax Act.
You might also like
2 readsSee Inkwelly on your school
30-minute demo. We open your current ERP with you and load your data into Inkwelly on the call. Dated go-live plan by the end of it.