Fees, finance & accounting
The gapless, offline-first fee engine is the heart of Vidyom. Money is an append-only ledger in integer paise, so balances are computed and auditable - never an editable number. Collect online or take cash at the desk with no network, reconcile to the bank (Account Aggregator-ready), and keep GST-clean books.
See it live
Watch the real flow run
Get paid. Never lose a rupee. Even on 2G.
The payoff
Outcomes, not features
Start to finish
Inside fees, finance & accounting
The real end-to-end flow - from the school's first action to the audited, reason-coded outcome.
- 1Model the fees, then publish demandsSet up fee heads, structures and schedules once. Publishing a demand does not write an editable "balance" -- it appends a DEMAND event to the ledger in integer paise, per student. Amounts travel bigint -> text -> bigint[] and never pass through a JS float, so a rupee figure is exact to the paise.
- 2Collect online, or take cash at the desk even on 2GParents pay on UPI via a virtual payment address with an instant receipt; or the front desk takes cash with no network. Offline cash queues on the device and syncs later -- the server confirm is keyed and idempotent, so a retry or a double-tap never posts twice, and each receipt gets a gapless, hash-chained serial.
- 3Reconcile the bank and UPI settlementsImport a bank statement or a settlement file (each line normalised to exact signed integer paise, or the import fails closed -- never a silent partial). Exact matches auto-clear against the ledger; near-matches are proposed for a one-tap human confirm, so nothing is guessed and nothing is dropped.
- 4Close the books, GST- and 80G-cleanEvery movement is double-entry with balanced vouchers. B2B fee and vendor invoices carry a GST tax-invoice with an IRN, and GSTR reconciliation, donation 80G receipts, RTE receivable aging and petty-cash all post to the same books your auditor reads.
The building blocks
The modules that do the work
The 13 modules that make up fees, finance & accounting.
Fee management
Fee heads, structures, schedules; publish demands to the ledger.
UPI / VPA payments
Safe collect-on-UPI with virtual payment addresses and receipts.
Offline cash integrity
Device outbox takes cash on 2G; idempotent server confirm, gapless receipts.
Settlement & refunds
Refund / chargeback / settlement state machine.
Bank reconciliation
Match settlements and statements to the ledger - exact auto, near-matches confirmed; Account Aggregator-ready.
Accounting & finance
Double-entry, chart of accounts, balanced vouchers.
GST & GSTR
Tax invoices and GSTR reconciliation built in.
Petty cash & imprest
Day-to-day cash control with receipt OCR and audit.
Donations & 80G
Receipts and tax-exemption certificates.
Fee financing & EMI
Split fees into instalments; lender / DLG-backed financing to the ledger.
Scholarships & disbursement
NSP / PFMS scholarship claims and disbursement to the ledger.
RTE receivable tracking
Government RTE reimbursement claims, waiver recognition and aging registers.
Expense & procurement
Purchase requests, vendor bills and anomaly checks.
Signature automations
What most systems don't do
Built-in mechanics you won't find elsewhere - running in the product, not drawn on a slide.
Money is an append-only ledger in integer paise -- never an editable number
A balance is computed from DEMAND / PAYMENT / ALLOCATION / CONCESSION events, not stored as a field anyone can overwrite. A correction is a new event (e.g. an append-only DEMAND_REVISION), so the audit trail is always intact and a "Rs 0.88" charge is 88 paise, never off by 100x.
Offline cash on 2G, with tamper-evident gapless receipts
The desk takes cash with no network into a device outbox; when it syncs, the server mints the next per-tenant serial under a row lock (a rollback consumes no serial, so the sequence is gapless) and each receipt is HMAC hash-chained to the previous one -- so an altered amount, a deleted row or an injected receipt is detectable, not silent.
Exact bank/UPI matches auto-reconcile; near-matches are one tap -- Account Aggregator-ready
Statement and settlement lines are parsed to exact signed paise and matched to the ledger: exact hits clear automatically, near-misses become a proposed match a human confirms in a tap. Consent-based Account Aggregator bank pulls are built and ready -- default OFF to a deterministic stub, fail-closed; going live needs the school's own AA (FIU) credential and a flag flip.
Deterministic invoice & expense anomaly scoring -- no PII, replayable
Vendor bills and expense vouchers are scored for anomalies by a pure total function that only ever sees counts, booleans and a basis-points figure -- never PII -- so the same signals always yield byte-identical output and a stored score can be replayed and audited later.
Also built in
More in fees, finance & accounting
Capabilities that already ship in the product - each shown live, not just named.
Recurring auto-debit
Set the mandate once, fees collect themselves
Parents approve a single UPI AutoPay or eNACH mandate, then every month’s fee is auto-collected on the due date — no reminders, no chasing.
- One-time UPI AutoPay / eNACH setup, then hands-free every month
- Auto-debits on the due date and posts straight to the school ledger
- Parents keep full control — pause or cancel the mandate anytime
Fundraising & FCRA
Run campaigns, honour every account
Launch peer-to-peer fundraising drives, accept domestic and FCRA-designated foreign contributions into the correct bank account, and auto-issue 80G / 10BE receipts the moment a gift lands.
- P2P campaigns with a live goal bar and alumni-shared donation links
- Foreign gifts route to the ring-fenced FCRA designated account, domestic to the general fund
- Every contribution stamps an 80G certificate and files its 10BE statement automatically
Reimbursement-fraud control
The same bill can’t be claimed twice
Every petty-cash and expense receipt is fingerprinted on vendor, bill number, amount and date. Submit the same bill again and Vidyom catches it instantly — the second claim is auto-held for review before a rupee moves.
- Each receipt gets a one-way fingerprint — no vendor names or images leave the school
- A repeat submission is auto-detected and the claim is held, not paid
- Reviewers see a reason-coded verdict, never an opaque score
Separation-of-duties cash controls
The hand that holds the cash never counts it
Petty-cash is split by design — the custodian who holds the float can’t verify their own count, and every replenishment needs a different approver. Maker and checker are never the same person.
- Custodian self-count is blocked — a separate role verifies the physical cash
- Replenishment is maker‑checker: the person who raises it can’t approve it
- An over‑cap spend force‑escalates instead of quietly clearing
Maker-checker controls
Big vouchers need a second pair of eyes before they hit the ledger
Any journal voucher above your school’s threshold is held until a different approver signs off — the person who posted it can never approve their own entry.
- Separation of duties — the poster and the approver must be two different people
- Per-tenant amount threshold decides when a second approval kicks in
- Year-close and reopen demand a fresh step-up 2FA before they commit
Procurement integrity
No big purchase slips through without a competitive RFQ
Any purchase order at or above ₹5,00,000 is held at a firewall until a competitive RFQ with multiple quotes is attached — single-source awards and limit-splitting are blocked, not just flagged.
- Over-threshold POs demand multiple genuine quotes before award — no single-source
- Catches limit-splitting — two ₹3,00,000 POs to one vendor won’t dodge the gate
- Auto-escalates approval by vendor grade, on a hash-chained, tamper-evident trail
Vendor performance
A reason-coded grade for every supplier — reproducible, never invented
Each vendor earns a letter grade computed straight from your own procure-to-pay data — on-time delivery, price variance against the PO, and GRN rejection rate. Same data in, same grade out, with the reasons spelled out.
- Deterministic scoring — identical inputs always produce the identical grade and reasons
- Every grade carries its contributing factors, so a B or C is explained, not just asserted
- A vendor with no activity is shown UNRATED — insufficient data is never a fake score
Straight answers
Fees, finance & accounting - common questions
Can staff just edit a student's outstanding balance?
No. There is no editable balance field -- the outstanding is computed from an append-only stream of ledger events in integer paise. A correction is itself a new event (for example a DEMAND_REVISION), so history is never rewritten and the trail always adds up.
What happens to a cash receipt if the desk has no network?
It is taken into a device outbox and syncs when the connection returns. The server confirm is keyed and idempotent so a retry never double-posts, and receipt serials are minted gapless under a lock and HMAC hash-chained -- so a missing or altered receipt is provable, not hidden.
Are the Account Aggregator bank pull and GST e-invoicing live?
They are built and ready, not silently live. Both default OFF to a deterministic, fail-closed stub (a real-shaped IRN and QR for e-invoicing; a synthesised statement for AA) and switch to the real network only when you provide the credential and flip the flag -- an operator who flips the flag without wiring the provider sees a clear gap, never a fake result.