FEATURE · Student Fee

Refunds, without the WhatsApp drama. One policy. Every refund flows through it.

Configure processing fee deductions, minimum refundable amounts and approval thresholds once — and Inkwelly enforces the same refund policy on every withdrawal, double payment, transfer or fee revision. Every rupee tracked, every approval audited, every refund printed with the reason on the receipt.

BG PICCOZONE

How most Indian schools handle fee refunds today

It is the second week of June. A father walks into the office of an ICSE school in Pune and says his daughter has joined a different school in Bangalore. He has paid the first-quarter fees — ₹42,000 — and wants a refund. The accountant pulls out a hardbound register, finds the receipt, calls the principal on the intercom. The principal asks how much processing fee to deduct. The accountant says she does not know; last month a different parent got a 5% deduction, the parent before that got ₹500 flat, and one parent got nothing deducted because his cousin is on the school committee.

The principal makes a call. Five minutes later the answer comes back: deduct ₹1,500 flat. The cheque is written. Two weeks later the same scene plays out for a different family with a different number. The third family, hearing of the second, asks for the same treatment. By August three parents are in a WhatsApp group complaining about inconsistency. By September the school has a reputation problem nobody can quite trace.

The pattern is universal. Refunds at most Indian schools are decided one cheque at a time — not because the school is unkind, but because no rule exists. There are demand drafts everyone has forgotten about, online payments that arrived twice, students who left mid-quarter, transport fees on a route that was discontinued, scholarship adjustments that flowed in late. Without a policy, every refund is a negotiation. With a policy, every refund is a calculation. That single shift is what the Refund Policy engine in Inkwelly delivers.

How Refund Policies in Inkwelly work

A Refund Policy in Inkwelly is exactly what its name suggests — the school's written rule for how a fee refund is calculated, approved and accounted for. You set it up once at Student Fee → Configuration → Refund Policies, give it a name (most schools use Standard Refund Policy FY25), and from that point forward it governs every refund the school issues.

Four controls sit at the heart of the policy: a processing fee (charged as a percentage of the refund AND/OR a fixed rupee amount, both deducted from what the parent receives), a minimum refundable amount (refunds below this threshold are rejected outright — prevents ₹23 cheques), an approval requirement flag, and an optional approval threshold (only refunds above this amount need approval; smaller amounts go through without manual sign-off).

When a refund request is raised — from the Student Fee ledger, the parent portal, or the office's manual entry — Inkwelly resolves the active policy, runs the math, and produces a refund draft. If approval is required and the amount crosses the threshold, the request waits in the principal's queue with a one-click approve / reject. If approval is not required, the refund is posted to the ledger and a printable receipt is generated immediately. Either way, the calculation, the policy name, the approver and the timestamp are recorded — making the refund permanently auditable.

What a Refund Policy controls — every parameter, every refund

  • Name & description — written so an auditor can recognise it; usually the financial year and policy version (e.g., Standard Refund Policy FY25).
  • Processing Fee (%) — percentage of the refundable amount deducted as a school processing charge. Range 0–100. Common values: 0% for double-payment refunds, 5–10% for early-withdrawal refunds.
  • Processing Fee (Fixed) — a flat rupee amount deducted in addition to (or instead of) the percentage. Common: ₹500 administrative fee on every withdrawal refund.
  • Minimum Refundable Amount — refunds below this amount are auto-rejected (e.g., set to ₹100 to prevent the bank from cutting a ₹23 cheque that costs more to issue than the refund itself).
  • Requires Approval — every refund issued under this policy needs manual sign-off (typical) or none (auto-process small amounts).
  • Approval Threshold — only refunds above this amount need approval; below it, the refund auto-posts. Useful for small double-payments while still gating large withdrawal refunds.
  • Active flag — pause a policy without deleting it. Useful when transitioning to a revised policy mid-year while keeping the old one for historical refunds.
  • Audit log — every save, every approval, every reversal is journalled with the user, the timestamp and the previous values.

Processing fee — percentage, fixed, or both

Most Indian schools charge a processing fee on certain refund types — not as a profit centre but to cover bank charges, the accountant's time, and the cheque cost. Inkwelly lets you configure either a percentage or a fixed rupee amount, or both stacked together. A common Tier-2 / Tier-3 school pattern: 5% of the refund + ₹200 fixed. A larger CBSE school may use 0% + ₹500 fixed. A residential school might use 10% + ₹1,000 for early-withdrawal refunds.

The two components are deducted before the refund is issued. The receipt shows each line separately — Refundable: ₹42,000 · Processing fee (5%): ₹2,100 · Processing fee (fixed): ₹200 · Net refund: ₹39,700 — so the parent never has to ask why the number is different. Auditable, parent-friendly, defensible at any committee meeting.

Inkwelly refund policy form configuring percentage and fixed processing fee components for school fee refunds
Stack a percentage and a fixed deduction — or use just one.
Inkwelly refund policy minimum refundable amount field with explanatory note about preventing tiny refund cheques
Set a floor — stop ₹23 refund cheques.

Minimum refundable amount — the floor that prevents nuisance refunds

Without a minimum threshold, a ₹23 over-payment from a parent triggers the same workflow as a ₹42,000 withdrawal refund — demand, approval, cheque cut, courier, parent collection. The cheque costs more to issue than the refund itself. Inkwelly's Minimum Refundable Amount is the school's way of saying "below this we won't process a refund— it stays as a credit on the student's ledger."

Most schools set it between ₹50 and ₹500 depending on their cheque costs and bank arrangement. Refunds below the threshold are auto-rejected with a clear message — the credit is held on the parent's account and is automatically applied against the next fee invoice. The parent does not lose money. The accountant does not chase a ₹23 cheque. The audit shows zero anomalies.

Approval workflow — with a sensible threshold

Not every refund needs the principal's signature. A ₹450 double-payment refund obviously doesn't; a ₹42,000 mid-year withdrawal refund obviously does. Inkwelly's approval threshold lets you draw exactly that line.

Turn Requires Approval on, then set Approval Threshold to (say) ₹5,000. Refunds at or below ₹5,000 will auto-process — the parent gets the receipt the same day. Refunds above ₹5,000 land in the principal's pending queue with the calculation, the policy name and the reason. One-click approve, one-click reject. Audit log captures the decision and the user. Set the threshold to 0 (or leave it empty) and every refund needs approval; switch Requires Approval off entirely for fully-automated refund processing under a no-minimum policy.

Inkwelly principal approval queue showing pending refund requests with policy details and one-click approve and reject buttons
The principal sees only refunds that crossed the threshold.
Inkwelly refund receipt showing line-item breakdown of refundable amount processing fee deductions and net refund payable
Every refund prints with the policy name and full breakdown.

Receipt and ledger — every refund leaves a paper trail

The moment a refund is approved, three things happen. The refund posts to the student's fee ledger as a negative line linked to the original payment. A refund receipt is generated, with the policy name, the calculation breakdown, the approver and the date — ready to print, share via WhatsApp or email to the parent. And the school's general ledger account for fees-payable is updated, so the year-end audit reconciles automatically.

If the original payment was made online via Razorpay or UPI, the refund can flow back to the same source instrument with one click — no manual cheque, no parent waiting at the bank. For offline payments (cheque, cash, demand draft), the refund mode is recorded with a reference number that the bank reconciliation later matches against the issued cheque. Either way, the refund is closed-loop — the audit trail is complete from the day the parent paid to the day the school refunded.

Five real refund scenarios this fixes — from Indian school offices

  1. The mid-year transfer. A Class 7 student in a CBSE school in Indore moves to Bangalore in October. The family has paid annual fees of ₹88,000. The Withdrawal Refund Policy (10% + ₹1,000 fixed) calculates: ₹88,000 × (1−0.10) − ₹1,000 = ₹78,200. The principal approves; the cheque is cut the same day; the receipt prints the breakdown. No PTA debate, no negotiation, no inconsistency.

  2. The Razorpay double-payment. A parent pays ₹12,500 by UPI. The transaction times out, parent retries, gets a success on retry — but the original payment also went through. Inkwelly's reconciliation flags the duplicate. The Double-Payment Refund Policy (0% + 0 fixed, auto-process below ₹5,000) reverses the duplicate amount back to the parent's UPI ID within minutes. No principal involvement needed.

  3. The transport refund. Fuel prices change; the school discontinues a route. Twelve students owe partial transport refunds for the unused months. The Transport Refund Policy (0% + 0 fixed, requires approval) calculates each refund pro-rata; the principal approves them in a single batch. Twelve refund receipts auto-generate, each carrying the policy name and the rationale.

  4. The mistaken late fee. A parent is wrongly charged a ₹300 late fee on a paid invoice. The accountant raises a refund. The Late Fee Reversal Policy (0% + 0 fixed, auto-process below ₹1,000) processes the reversal immediately. The audit log shows the original late fee, the reversal, the policy and the user.

  5. The minimum-threshold case. A parent over-pays by ₹23. The Standard Policy's Minimum Refundable Amount is set to ₹100. The system auto-rejects the refund and adds the ₹23 as a credit on the student's ledger — visible to the parent, applied automatically against the next invoice. Nobody chases a ₹23 cheque. Nobody loses ₹23 either.

What gets enforced automatically once a policy is saved

  • Single calculation engine — every refund under the same policy uses the exact same percentage, fixed deduction and minimum threshold
  • Approval routing — refunds above the threshold land in the principal's queue; below it, they auto-process if the requires-approval flag permits
  • Receipt generation — a printable receipt with the policy name and full breakdown is created for every approved refund
  • Ledger posting — the refund is recorded as a negative line on the student's fee ledger and posted to the school's general ledger fees-payable account
  • Audit log — every save, approval, reversal and policy change is journalled with the user, IP and timestamp
  • Online refund routing — if the original payment was online (Razorpay, UPI, PayU, Cashfree), the refund can flow back to the same instrument with a single click
  • Bank reconciliation — offline refunds (cheque, DD, cash) are tracked with reference numbers that the bank reconciliation matches against the issued instrument
  • Policy archive — a policy cannot be deleted while historical refunds are linked; soft-archive preserves the rule for future audits
A refund policy nobody can recite from memory is a policy that doesn't exist. The point of writing it in software is not automation — it is fairness made visible.

See the Refund Policy engine on a real school's books

20-minute walkthrough on a sample CBSE / State Board fee structure. We'll show withdrawal refunds, double-payment auto-reversal, the principal's approval queue and the receipt parents actually receive.

Late fee rules →Student Fee module overview

Limits, safety and the small print

Refund processing is a financial control — Inkwelly handles it with the same care as the original fee collection. Only users with the Student Fee Configuration permission inside Identity & Access Management can create, edit or archive policies. Raising a refund request is a separate permission — typically held by the accountant and the office manager. Approving a refund above the threshold requires the Refund Approval permission, usually held by the principal and the school owner.

A refund policy cannot be deleted while it has historical refunds linked — the system enforces a soft archive instead. This means three years later, when an auditor asks for the policy used in a 2024 refund, it is retrievable exactly as it was. Active policies can be edited only via a versioned change — the prior version stays attached to past refunds, the new version applies to refunds issued from that day forward. No policy edit can retroactively change a posted refund's math.

Refunds against online payments (Razorpay, UPI, PayU, Cashfree, Paytm) are routed back to the original instrument by default — same UPI ID, same card, same wallet — which is what the Reserve Bank of India's October 2023 guidance on merchant refunds requires. Manual override to issue a cheque or bank transfer is allowed only for users with elevated permissions and is logged with a written reason. Refunds against cash payments default to a cheque mode and require the parent's bank account or signed cheque-collection acknowledgement before posting.

Finally, the policy engine never auto-processes a refund where the calculation produces a negative net (i.e., the processing fee is larger than the refundable amount) — instead it raises an error so the office can verify the inputs. Floors and thresholds are enforced server-side, not in the form, so even a misconfigured front-end cannot bypass them. The full audit log is exportable to CSV at year-end for board review and statutory audit purposes.

Belongs to

1 module

Frequently asked

8 questions
Can we configure different refund policies for different fee types — tuition, transport, hostel?

Yes. Most large schools run 2–3 policies in parallel: one for tuition withdrawal refunds, one for transport pro-rata refunds, one for double-payment corrections. The office assistant picks the matching policy when raising the refund — the selection is logged so audits always show which rule produced which number.

What happens if a refund is requested below the minimum refundable amount?

The refund is auto-rejected with a clear message — the amount is not lost. It stays as a credit on the student's fee ledger and is applied automatically against the next fee invoice. Parents see the credit on their portal. Schools save the cheque cost on tiny refund amounts.

If a parent paid via Razorpay, can the refund go back to the same UPI ID?

Yes. Inkwelly integrates with Razorpay, PayU, Cashfree and other UPI / card gateways for refund flow. Approved refunds against online payments default to refunding back to the original instrument — same UPI ID, card or wallet — which is also what RBI's merchant-refund guidance requires. A manual override to issue a cheque is allowed but requires elevated permissions.

How is the processing fee shown on the refund receipt?

The receipt prints the full breakdown line by line: Refundable amount, Processing fee (%) component, Processing fee (fixed) component, and Net refund payable. The policy name and the approver are also printed. Parents see exactly how the number was computed — which is the single biggest reason refund disputes drop after schools move to Inkwelly.

Can we change a refund policy after some refunds have already been issued under it?

Yes — but the change does not retroactively rewrite past refunds. The new policy version applies to refunds issued from the change date forward. The prior version stays attached to past refunds in the audit log. This is how Inkwelly preserves the integrity of every historical refund while letting the school evolve its policy year to year.

Who needs to approve a refund — can it be the accountant?

It depends on your IAM configuration. By default, raising a refund is an accountant / office manager permission, while approving a refund above the threshold is a principal / school owner permission. You can configure additional approver roles, multi-step approval (e.g., principal then chairman for large amounts), or auto-process for refunds below a configured threshold.

What happens to a pending refund if the policy is archived mid-process?

Pending refunds continue to use the policy that was active when they were raised — they are not re-evaluated against the archived rule. New refund requests must use a different active policy. This protects parents and the school from mid-stream rule changes; the version that started the workflow is the version that finishes it.

Does Inkwelly handle GST or any tax adjustments on refunds?

School fees are exempt from GST under Notification 12/2017 of the CGST Act, so no GST adjustment is needed on tuition or transport refunds. For ancillary services that may be taxable (e.g., uniform sales, tablet rentals if your school invoices them through the same ledger), Inkwelly tracks the tax component separately and adjusts it on refund — with the GSTIN, HSN and tax rate printed on both the original receipt and the refund receipt.

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.

School Fee Refund Policy Software · Inkwelly