FEATURE · Student Fee

A receipt the parent trusts. A register the auditor signs off.

Auto-generated, fiscal-year-numbered fee receipts with school letterhead, line items, discount stack, payment mode, status pills (ACTIVE / CANCELLED), per-receipt audit trail, one-click WhatsApp/email send and bulk reprint. The receipt your parent gets is the same record your auditor reviews — same numbering, same cancellation policy, same audit trail.

BG PICCOZONE

How most Indian schools issue fee receipts today

A parent walks up to the fee counter at a CBSE day school in Patna with cash. The counter staff opens the triplicate receipt book, writes the date, the student's admission number, the amount in words and figures, the head ('Tuition Fee Q2'), tears off the parent's copy, files the school's copy in a folder, and reads aloud the receipt number for the school's manual ledger. Multiply that by 80 receipts a day during admission week, and by Friday no one knows whether receipts 0457 and 0458 were issued or skipped — the staff filled them in the wrong order.

When a parent loses their receipt and asks for a duplicate, the staff opens the binder, finds the carbon copy, photocopies it, and stamps 'Duplicate'. 8-12 minutes per request. When a parent wants the receipt on WhatsApp, the staff has no way to send it digitally. When the principal asks for last quarter's collection split by fee head, the office types it into Excel from the binder.

Receipts are the legal artefact of every fee transaction. They prove what the school billed, what the parent paid, and what the school's books should reflect. Inkwelly's Fee Receipts module makes every receipt a structured, fiscal-year-numbered, PDF-renderable, audit-stamped record — generated automatically from each successful Payment, sendable on WhatsApp/email in one click, immutable once issued.

Inkwelly Fee Receipts list with fiscal-year-numbered receipts, status pills (ACTIVE / CANCELLED), parent name, amount, date, send and reprint actions
Fee Receipts list — every receipt fiscal-year-numbered, status-tracked, sendable on WhatsApp.

How Inkwelly Fee Receipts work

The Receipts screen at /student-fee/receipts lists every receipt your school has issued in the current academic session, with filters for status (ReceiptStatus enum: ACTIVE / CANCELLED), receiptDate window, and fiscalYear. Each receipt carries a unique receiptNumber formatted per your school's policy — typically RCT/2026-27/0457 (prefix-fiscalyear-sequence) configured in Fee Settings. Sort by receipt date, receipt number, amount or status. Summary cards count active, cancelled and total-collected for the visible filter.

Receipts auto-generate from every successful Payment recorded — the school office never types a receipt manually. The PDF carries the school's letterhead (uploaded once in school admin settings), the receipt number, date, parent name, student name + admission number + class, the line items (Tuition Q2 ₹4,500, Computer Lab ₹300, Late Fee ₹100), the discount stack snapshot, the payment mode + reference, the amount in words, and the school's seal.

From the receipt detail page, the office can click Send Receipt to push the PDF to the parent on WhatsApp (via the school's WhatsApp Business API integration), email, or both. The system records the send timestamp, channel and delivery status. Reprint generates a fresh PDF with the same receipt number (no duplicate sequence) — useful when parents lose the original. Cancel Receipt opens a dialog requiring a reason; on submit, the receipt flips to CANCELLED, the linked Payment and Invoice reflect the cancellation, and any cascading workflows (Refunds if money has been collected) trigger automatically.

What the Receipts screen handles

  • Fiscal-year numbering — receipt numbers reset every fiscal year (April-March) and prefix with the year (RCT/2026-27/0457). Configured in Fee Settings. Numbering is gap-less and audit-defensible.
  • ACTIVE / CANCELLED status — issued receipts default to ACTIVE; cancelled receipts retain the same number with CANCELLED status visible on every reprint. No silent gaps in the register.
  • WhatsApp + email send — SendReceiptDialog pushes the PDF to the parent via the school's WhatsApp Business API integration and/or email; delivery status (sent / delivered / read) is captured per send.
  • Reprint with same number — parents who lose receipts get a fresh PDF marked 'Duplicate' but with the same receipt number. The system tracks reprint count per receipt (audit-logged with user, timestamp).
  • Cancel with reason — CancelReceiptDialog requires a reason (free-text, min 10 chars) and admin role; cancelled receipts cascade through linked Payment and Invoice state.
  • Per-receipt detail — line items, discount snapshot, source invoice link, source payment link, send history, reprint history, cancellation reason — all on one page.
  • Bulk operations — select multiple receipts to bulk-send on WhatsApp/email, bulk-export PDF (zipped), or bulk-print. Useful for the daily counter close.
  • Multi-tenancy + RBAC — receipts isolated per school; staff see only their authorised set; cancellation rights stay with admin role.

Walkthrough — four screens, end to end

BG PICCOZONE
1. Receipts list — fiscal-year-numbered receipts with status pills, search, date filters, summary cards.
BG PICCOZONE
2. Receipt detail — line items, discount stack, source payment + invoice links, send + reprint actions.
BG PICCOZONE
3. SendReceiptDialog — channel picker (WhatsApp / email / both), preview, delivery status capture.
BG PICCOZONE
4. CancelReceiptDialog — reason input, admin confirmation, cascading-cancellation preview.

Auto-generated PDF with school letterhead

Every successful Payment auto-generates a PDF receipt with the school's letterhead (uploaded once in school admin settings), the parent's name, student details (admission number + class + section), the line items grouped by fee head, the discount stack snapshot, the payment mode + reference, the amount in words and figures, the school's seal, and the fiscal-year-numbered receipt number. PDF generation runs server-side and the file is content-hashed for tamper-detection.

Inkwelly auto-generated PDF receipt with school letterhead, line items, discount stack, payment mode and amount in words
Inkwelly Send Receipt dialog with WhatsApp / email channel picker, preview pane and delivery-status capture

One-click WhatsApp + email send

The SendReceiptDialog from any receipt's detail page pushes the PDF to the parent on WhatsApp (via the school's WhatsApp Business API account, configured once in school admin settings) and/or email. Pre-built message templates in English and Hindi include the receipt number, amount and a tap-to-download link. Delivery status (sent / delivered / read) updates in real time as WhatsApp confirms. Re-send is available if the first attempt fails. Send history per receipt is audit-logged — useful when a parent claims they 'never received' a receipt.

Reprint with the same number — not a new receipt

When a parent loses their receipt, the school opens the receipt detail and clicks Reprint. The system regenerates the PDF using the same receipt number (no new sequence is consumed) and stamps 'Duplicate Copy' on the document. Reprint count and timestamp + user are audit-logged. This avoids the manual school's 'we issued receipt 1234, now we need 1234-A' confusion — the register stays gap-less and the parent gets the document instantly.

Inkwelly receipt reprint screen showing original receipt number, Duplicate Copy stamp on PDF preview, reprint count counter
Inkwelly Cancel Receipt dialog showing reason input, admin confirmation and cascading cancellation preview for linked payment, invoice and refund flow

Cancel with reason — cascading correctly

When a receipt was issued in error or money has been refunded, the CancelReceiptDialog requires a reason (free-text, min 10 chars) and admin role. On submit, the receipt flips to CANCELLED with reason, user, timestamp and IP logged. The linked Payment is marked invalid; the linked Invoice outstanding amount restores; if money has been collected, the Refunds workflow opens with the source-receipt link preserved. The receipt number stays in the register marked CANCELLED — no gap, no silent removal.

Pehle har duplicate receipt ke liye 10 minute lagte the — binder kholo, carbon copy dhundo, photocopy karo, stamp lagao. Ab Inkwelly mein parent agar phone karta hai bolta hai 'receipt kho gayi', hum 30 second mein WhatsApp pe re-send karte hain. Same receipt number, Duplicate Copy stamp. Audit week mein CA poori receipt register ek PDF mein le ke chala gaya — fiscal year numbering audit-defensible.
Accounts Officer · St. Xavier's School, Patna

Real-world operations on the Receipts screen

Daily counter close. End of day, accountant filters by receiptDate=today, exports the day's receipts as a single PDF for the principal. 30 seconds.

Lost-receipt request. Parent calls; staff searches by student admission number, opens the receipt, clicks Send on WhatsApp. 30 seconds vs the manual school's 8-12 minutes.

Quarter-end CA review. Filter by quarter date range, export all receipts as a zipped PDF set; the CA gets the complete register with payment-mode and discount-stack columns. 5 minutes.

Bulk WhatsApp send for late filers. Filter receipts not yet sent (sent=false), select all, click Bulk Send. The school office pushes 80 receipts to parents in one click.

Cancel an erroneous receipt. Reason captured, admin confirms, linked payment + invoice + refund cascade automatically. The receipt number stays in the register as CANCELLED — audit-defensible.

Common operations on the Receipts screen

  • Filter today's receipts and export as PDF for the principal's daily close.
  • Send any receipt on WhatsApp + email in one click; track delivery status.
  • Reprint a lost receipt with the same number and a 'Duplicate Copy' stamp.
  • Cancel an erroneously-issued receipt with reason; cascading cancellation across payment/invoice/refund.
  • Filter by fiscalYear to see prior-year receipts (read-only).
  • Bulk-send receipts to all parents who paid this week and haven't received yet.
  • Export a date-range slice as zipped PDF for CA / CBSE / Income Tax inspection.

See receipt issue + send + cancel live in 30 minutes

Bring a sample of your current school receipt and one parent contact. We'll generate the receipt inside Inkwelly in real time — PDF with letterhead, send on WhatsApp, demonstrate reprint and cancellation. By the call's end, you have a working receipt template ready for production.

Open Student Fee moduleSee Fee PaymentsSee Fee Invoices

Limits, safety and the small print

Receipts are immutable once issued. The line items, amount, parent details, payment reference and receipt number cannot be edited. Errors are corrected via cancellation + re-issue, with both records preserved in the audit trail.

Cancellation requires reason + admin role. Free-text minimum 10 characters; admin role from IAM. Cancelled receipts retain their numbers in the register — no gaps, no silent removals.

Reprint preserves the receipt number. Lost-receipt re-issuance does not consume a new sequence number. The PDF is stamped 'Duplicate Copy' and the reprint count + user + timestamp is audit-logged.

WhatsApp delivery requires Business API. The school's WhatsApp Business API account (configured once in school admin settings) is required for WhatsApp send. Email send works without configuration. Both fall back gracefully if the parent's contact details are incomplete.

PDF is content-hashed for tamper detection. Every generated PDF carries an embedded content hash; if the file is modified, verification fails. Useful when parents present 'altered' copies during disputes.

Multi-tenant isolation. Each school's receipts are isolated. School A's fiscal-year sequence is separate from School B's. Trust-level dashboards roll up by school.

DPDP Act 2023 alignment. Receipts contain student PII (name, admission number, parent name, payment instrument data). Encrypted at rest with AES-256 on Mumbai-region servers, accessible only via IAM-controlled roles. Audit log records every issue, send, reprint and cancellation — with user, timestamp and IP. Income Tax / GST / CBSE inspections answer from a single audit export.

Belongs to

1 module

Frequently asked

8 questions
How are receipts generated — do we type them manually?

No. Every successful [Payment](/features/fee-payments) auto-generates a PDF receipt with school letterhead, line items, discount stack snapshot, payment mode and the fiscal-year-numbered receipt number (`RCT/2026-27/0457`). The school office never types a receipt manually — the standard flow is record payment → receipt auto-generates → send on WhatsApp/email.

What's the format of the receipt number?

Configurable per school in [Fee Settings](/modules/student-fee). Default: `RCT/{fiscal-year}/{6-digit-sequence}` — e.g., `RCT/2026-27/000457`. Numbering resets every fiscal year (April-March) and is gap-less per fiscal year. Cancelled receipts retain their numbers — the register has no silent gaps.

Can we send receipts to parents on WhatsApp?

Yes — via the school's WhatsApp Business API account (configured once in school admin settings). The SendReceiptDialog from any receipt's detail page pushes the PDF on WhatsApp, email, or both. Delivery status (sent / delivered / read) is tracked per send. Pre-built message templates exist in English and Hindi.

What if a parent loses their receipt and asks for a duplicate?

Open the receipt's detail page, click Reprint. The system regenerates the same PDF with a 'Duplicate Copy' stamp — the *same receipt number* (no new sequence consumed). Reprint count, user, timestamp are audit-logged. The parent gets the duplicate on WhatsApp in seconds.

Can we cancel a receipt that was issued by mistake?

Yes — CancelReceiptDialog requires a reason (free-text, min 10 chars) and admin role. On submit, the receipt flips to CANCELLED, the linked [Payment](/features/fee-payments) marks invalid, the [Invoice](/features/fee-invoices) outstanding amount restores. If money has been collected, the [Refunds](/features/fee-refunds) workflow opens automatically. The receipt number stays in the register marked CANCELLED — no silent gaps.

Is the receipt PDF tamper-evident?

Yes. Every generated PDF carries an embedded content hash; if the file is modified, verification fails. The receipt's original PDF is also retrievable from the receipt's audit trail. Useful when parents present 'altered' copies during disputes.

Are old receipts (prior fiscal years) still accessible?

Yes — filter by `fiscalYear` to see prior-year receipts. They are read-only (cannot be cancelled or reprinted with new sequence numbers from a closed fiscal year), but full PDF reprint and audit trail are accessible.

Where is the receipt data hosted? Is it secure?

Mumbai-region servers, AES-256 at rest, TLS 1.3 in transit. Receipts contain student PII and parent payment instrument data — accessible only via [IAM-controlled roles](/modules/identity-access-management). Multi-tenant isolation guarantees one school's receipts 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 and GST Act.

You might also like

2 reads

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

Fee Receipts Management · Inkwelly Student Fee