From "Class 1 Tuition ₹18,000" to every student billed correctly.
Fee Structures encode the actual fee plan for a cohort — Monthly / Quarterly / Half-Yearly / Annual cycle, total amount, installment schedule, proration method, applicable classes and admission categories. Fee Groups attach each structure to specific classes and let the same plan ride for similar cohorts. Together they decide what every student in your school is billed, when, and in how many installments — without spreadsheets and without one-by-one updates.

How most Indian schools build their class-wise fee plans today
It is the second week of March. The accountant of a CBSE day school in Indore opens last year's fee Excel sheet and starts a new tab — 'Fee 2026-27'. Class 1 column comes first: Tuition ₹18,000, Computer Lab ₹1,200, Library ₹600, Annual ₹2,500, Smart Class ₹1,800, Identity Card ₹300, Picnic ₹700. He types the same fourteen rows for Class 2, Class 3, Class 4, Class 5 — same heads, slightly different amounts. Then Class 6 needs Science Lab added. Class 9 needs Examination Fee separately. Class 11 (Science) needs an extra Practical Fee. He copies the previous year's amounts and increases each by 8%. Mid-way he realises Class 11 (Commerce) doesn't have Practical Fee at all. He copies again, deletes a row.
Next, he splits each annual amount into four quarterly installments. Class 1's Tuition of ₹18,000 becomes ₹4,500 + ₹4,500 + ₹4,500 + ₹4,500 — due 15-Apr, 15-Jul, 15-Oct, 15-Jan. Annual, Identity Card and Admission Fee stay as one-time charges in the first installment. Smart Class is split equally. Picnic is in installment 3 only. Same pattern for Class 2 — different amounts. Same for Class 3. Same for fourteen classes. By the time he is done, the Excel sheet has 14 columns, 16 rows of heads, 4 installment columns each — a 14 × 16 × 4 grid of ₹ amounts. The Saturday is gone. The principal asks the next morning, 'Did you account for the new Class 7 Boarding fee?' He realises he didn't and starts again.
A week later, the admission desk admits a new student in Class 6 mid-session. The fee counter staff opens the Excel sheet, finds the Class 6 column, copies fourteen rows manually into the student's fee receipt, prorates each manually for the seven months remaining — Tuition divided by 12 multiplied by 7, Computer Lab divided by 12 multiplied by 7, except Annual stays full, except Identity Card stays full, except Picnic stays full because it hasn't happened yet. By the time the student's first fee receipt is ready, twenty minutes have gone for one student. There are forty-three new admissions this week. Six staff are doing the same thing in parallel, with the same Excel sheet, with subtle differences in their copies. By the end of April, no one knows which version is canonical.

How Inkwelly Fee Structures and Fee Groups work
Inkwelly splits fee planning into two layers that you set up after the Fee Categories and Heads chart of accounts is in place: Fee Structures (/student-fee/fee-structures) and Fee Groups (/student-fee/fee-groups). A Fee Structure is the master fee plan for a cohort — it says 'Class 1 cohort pays a Total of ₹23,500 per year, on a Quarterly cycle, split across these heads, with these installment dates, applicable to Class 1 General + Class 1 OBC + Class 1 SC + Class 1 ST + Class 1 EWS, with Day-Based proration for mid-session admissions'. A Fee Group is a named binding under that structure — 'Class 1 Standard', 'Class 1 Sibling Discount', 'Class 1 Staff Ward' — each with its own discount stack, optional default flag, and an explicit class-mapping table that tells the system 'classroom 1A, 1B and 1C all use this group'.
The Fee Structure form (/student-fee/fee-structures → Add Fee Structure) takes a name, description, fee cycle (MONTHLY / QUARTERLY / HALF_YEARLY / ANNUAL / ONE_TIME), total amount, currency (INR by default), proration method (NONE, DAY_BASED, MONTH_BASED, TERM_BASED), an isTemplate toggle for plans you'll copy across schools, optional applicable classes (multi-select from your class list — if blank, the structure can be assigned to any class), optional applicable categories (GENERAL, OBC, SC, ST, EWS, MINORITY, SPECIAL, INTERNATIONAL, NRI), and an active flag. Once saved, the structure detail screen lets you add line items — fee head, amount, optional tax — and define installments with due dates and per-installment amounts that match the total.
The Fee Group form (/student-fee/fee-groups → Add Fee Group) takes a fee structure (mandatory dropdown), a name, description, display order, isDefault toggle (one default group per structure for new admissions), and an active flag. The form prevents duplicate group names within a structure and rejects a second default if one already exists. Once saved, the Class Mappings tab on the same screen lets you assign actual classes — 1A, 1B, 1C, 2A, 2B — to specific fee groups via a dialog. Each class can map to exactly one fee group at a time. New admissions to that class automatically inherit the group's structure, installments and discount stack.
What you configure across these two screens
- Fee structure name and description — 'Class 1 Annual Plan 2026-27', 'Class 11 Science Stream', 'Class 6-8 Sibling Discount Plan' — 3-100 chars, unique per school.
- Fee cycle (5 options) — MONTHLY (12 installments), QUARTERLY (4), HALF_YEARLY (2), ANNUAL (1 due date), ONE_TIME (single charge). The cycle drives default installment scaffolding and how recurring heads roll across the year.
- Total amount — the headline annual fee for the cohort. Validated as a positive number; downstream installment items must sum to this total or the structure is flagged inconsistent.
- Proration method (4 options) — NONE (no proration; mid-session admissions pay full amount), DAY_BASED (proration to the day, most precise), MONTH_BASED (proration in full months, common for CBSE day schools), TERM_BASED (proration aligned to the school's defined terms).
- isTemplate flag — mark a structure as a template (e.g., 'CBSE Day School Standard Plan') and clone it to bootstrap next year's plans, or to copy across schools in a multi-school trust without retyping every line item.
- Clone an existing structure — from the structure list, clone any plan with one click; the cloned structure copies all line items and installments. Edit a few amounts, save as 2026-27.
- Applicable classes (multi-select) — restrict a structure so only specific classes can be linked to its fee groups. Leave empty to allow any class. The class dropdown is filtered against your active classes for the current academic session.
- Applicable categories (multi-select) — GENERAL, OBC, SC, ST, EWS, MINORITY, SPECIAL, INTERNATIONAL, NRI — the same admission categories used across Student Information and admission. RTE, EWS and minority schools use these flags to drive different plans for different segments.
- Fee Group name + structure binding — each fee group sits under exactly one structure. The same structure can have many groups: Class 1 Standard, Class 1 Sibling, Class 1 Staff Ward, Class 1 Boarding — each carrying its own discount stack.
- isDefault flag per fee structure — exactly one group per structure can be marked default; new admissions inherit the default group automatically unless explicitly assigned otherwise. The form rejects a second default with a
DEFAULT_RESOURCE_EXISTSerror. - Class → Fee Group mapping — the Class Mappings tab inside Fee Groups assigns concrete classroom sections (1A, 1B, 1C, 2A, etc.) to specific fee groups. Each class can map to exactly one group at a time — a
RESOURCE_ALREADY_EXISTSerror blocks duplicates.
Walkthrough — four screens, end to end




Fee Structure — the master plan for a cohort
A Fee Structure is the fee plan for a cohort — typically one structure per class or grade band, sometimes per stream (Science / Commerce / Humanities for Class 11 and 12). Each structure pulls from your Fee Heads chart of accounts and assigns concrete amounts. 'Class 1 Annual Plan 2026-27' might use Tuition (₹18,000), Computer Lab (₹1,200), Library (₹600), Annual (₹2,500), Smart Class (₹1,800), Identity Card (₹300), Picnic (₹700) — totalling ₹25,100 — on a QUARTERLY cycle, with DAY_BASED proration, applicable to Class 1, applicable to GENERAL/OBC/SC/ST/EWS categories.
Once saved, the structure detail screen at /student-fee/fee-structures/[id] lets you add line items (one row per fee head with amount, tax, total) and installments (one row per installment with name, due date, amount, optional description). The system enforces that the sum of installment amounts equals the structure total. The detail screen also shows a _count of structureItems, installments and feeGroups — a quick health check that the structure is fully configured.


Installments — dates, amounts, line-item assignment
The second half of a Fee Structure is its installment schedule. For a QUARTERLY cycle, you'll typically have four installments — 'Q1 (Apr-Jun)' due 15-Apr, 'Q2 (Jul-Sep)' due 15-Jul, 'Q3 (Oct-Dec)' due 15-Oct, 'Q4 (Jan-Mar)' due 15-Jan — each carrying the per-quarter amount. For MONTHLY, twelve installments dated to the 5th, 10th or 15th of each month. For ANNUAL, one installment due in April. Inkwelly auto-scaffolds these based on the chosen cycle so you don't start from a blank screen.
Within each installment you can drill down to installment items — the per-fee-head breakdown for that installment. Class 1 Q1 might carry Tuition ₹4,500 + Computer Lab ₹300 + Library ₹150 + Smart Class ₹450 + Annual ₹2,500 (one-time, in Q1) + Identity Card ₹300 (one-time). Q2 carries the same recurring heads minus the one-times. Q3 adds Picnic ₹700. Q4 carries the recurring heads. Every installment line links back to the fee head it represents — refunds, late-fee rules and accounting exports flow off these per-line links.
Proration methods — four ways to handle mid-session admissions
Mid-session admissions are routine in Indian schools — March applications get rolled into next April, May admissions catch up after the board exam season, October admissions happen for transferring families, January re-admissions show up in border districts. Inkwelly offers four proration methods on every fee structure, picked at create time and editable later:
NONE — no proration; the student pays the full annual amount regardless of join month. Used for plans that genuinely don't prorate (some hostel plans, certain international school plans).
DAY_BASED — proration computed to the day. A student joining on 12 September pays for 200 days out of 365. Most precise; preferred by international schools and accounting-heavy CBSE schools.
MONTH_BASED — proration in full months. A student joining anywhere in September pays for 7 months (Sep-Mar) of recurring heads; one-time heads charge in full per their isProratable flag from the chart of accounts. Common in CBSE day schools and most State Board schools.
TERM_BASED — proration aligned to the school's defined terms. A student joining in Term 2 pays full amount for Term 2, Term 3 and Term 4; Term 1 is skipped. Used by ICSE residential schools and schools with explicit term calendars.


Fee Groups — named cohorts under a structure
A Fee Group sits under exactly one Fee Structure. The same structure can have many groups: 'Class 1 Standard' (the default group, no discounts), 'Class 1 Sibling Discount' (10% off Tuition for second/third sibling), 'Class 1 Staff Ward' (50% off Tuition for staff children), 'Class 1 RTE Quota' (full waiver of academic heads). Each group inherits the structure's heads, amounts and installments — then layers its own discount stack on top.
The form takes the structure (mandatory dropdown showing all active structures with their fee cycle next to the name), a unique group name (3-100 chars, unique per structure), description, display order, an isDefault flag (only one default group per structure — a second is rejected with DEFAULT_RESOURCE_EXISTS), and an active toggle. The detail page on the same screen surfaces the live count of mapped classes, students enrolled in the group, and discount items attached. Discounts on the group apply automatically to every student who joins via the class-fee mapping, so adding a sibling discount to Class 1 Sibling Discount group instantly reflects on every existing and future Class 1 sibling student's invoice.
Class Mappings — the bridge from group to actual classroom
The second tab on the Fee Groups screen is Class Mappings. This is where you wire actual classroom sections to specific fee groups. Class 1A maps to 'Class 1 Standard'. Class 1B maps to 'Class 1 Standard'. Class 1C maps to 'Class 1 RTE Quota' (because that's the EWS-heavy section in some schools). Class 6A through 6D all map to 'Class 6 Standard'. Class 11 Science maps to 'Class 11 Science Stream Standard'; Class 11 Commerce maps to 'Class 11 Commerce Stream Standard'.
The mapping dialog opens from /student-fee/fee-groups?tab=mappings. It shows two dropdowns: a class picker grouped by grade level (Class 1 → 1A, 1B, 1C; Class 2 → 2A, 2B; ...) filtering out classes that already have a mapping (so duplicates are visually impossible), and a fee group picker showing each group with its parent fee structure name and total amount. Save — the mapping is now live. New admissions to the mapped class automatically inherit the group's structure, installments and discount stack from day one. The mapping list view shows the full class → group resolution for the entire school in one screen, with batch-assign helpers for setting up a new academic session in minutes.

“Pehle har naye session pe poori fee Excel sheet copy karke amounts update karte the. Fourteen classes, sixteen heads, char installments — ek mistake yahaan, sab gadbad. Ab Inkwelly mein hum 2025-26 ke fee structures clone karte hain ek-click se, amounts 8% se increase karte hain, installment dates shift karte hain — done in 90 minutes. Saturday raat ka kaam ab Tuesday lunch break ka kaam hai.”
Real-world fee-structure setup playbooks
Five worked examples drawn from real Indian schools that migrated to Inkwelly:
1. CBSE day school (Class 1-12, ~600 students), Indore. 12 fee structures — one per class, with Class 11 and 12 splitting Science / Commerce / Humanities streams (so 14 total). All on QUARTERLY cycle, MONTH_BASED proration. Total amounts: Class 1 ₹23,500, Class 5 ₹29,800, Class 8 ₹34,200, Class 10 ₹38,500, Class 12 (Science) ₹45,200. One Fee Group per structure ('Standard', marked default) plus a 'Sibling Discount' group on each from Class 3 onwards. 24 fee groups total. 36 class mappings (3 sections per class on average). Setup time: 4 hours initial setup; subsequent sessions 90 minutes via cloning.
2. ICSE residential school (Class 6-12, ~250 boarders), Dehradun. 7 fee structures — one per class. ANNUAL cycle, TERM_BASED proration aligned to the school's three-term calendar. Per-class total amounts include heavy facility heads: Class 8 ₹1,85,000 (Tuition + Boarding + Mess + Laundry + Activities). Three fee groups per structure: 'Standard', 'Day Scholar' (Boarding excluded), 'Sibling Discount'. 21 fee groups. 7 class mappings (single section per class for residential). Setup time: 6 hours, including a 90-min call with the bursar on term-based proration nuances.
3. State Board low-fee private school (Class 1-8, ~400 students), Bahraich, UP. 8 fee structures, one per class. ANNUAL cycle, NONE proration (school policy: full year fees regardless of join date). Total amounts: ₹4,500 to ₹7,200. Only one fee group per structure ('Standard'). RTE 25% students handled via a separate 'RTE Waiver' fee group at the structure level with full Tuition / Lab / Library waiver. 8 + 1 = 9 fee groups. 16 class mappings. Setup time: 45 minutes.
4. International school (Pre-K to Grade 12, ~700 students, IB + Cambridge IGCSE), Bangalore. 14 fee structures, one per grade level. MONTHLY cycle for Pre-K and Primary (parents prefer EMI), QUARTERLY for Middle and Senior. DAY_BASED proration throughout. Total amounts: ₹1,80,000 (Pre-K) up to ₹4,50,000 (Grade 12 IB). Five fee groups per structure: 'Standard', 'Sibling Discount', 'Staff Ward', 'NRI Premium' (Transport included), 'Boarding Senior'. 70 fee groups. 28 class mappings. Setup time: 12 hours over 2 days, with the school CFO and 2 admissions officers in the room.
5. Madrasa / minority institution (Class 1-10, ~180 students), Hyderabad. 4 fee structures — Class 1-3, Class 4-7, Class 8-10, Hifz Programme. ANNUAL cycle, MONTH_BASED proration. Total amounts: ₹2,800 to ₹5,600 + Hifz ₹1,200 (subsidised by the wakf board). 'Applicable categories' field used heavily — MINORITY category drives default membership in this group. 4 + 4 = 8 fee groups (one default 'Standard' + one 'Wakf Subsidy' per structure). 12 class mappings. Setup time: 30 minutes.
Common operations across Fee Structures and Fee Groups
- Bootstrap a new academic session — clone every active 2025-26 structure, increase amounts by 8%, shift due dates by 365 days, save. The full fee book is ready in 90 minutes.
- Add a new class section mid-year — create the class in Academic Management, open Fee Groups, add a class → group mapping. New section is fully fee-aware in 30 seconds.
- Restructure mid-session for a new fee head — e.g., introduce a Smart Class fee in October. Edit the relevant Fee Structures, add the line item to the upcoming installment, save — invoices regenerate for affected students.
- Switch a class from QUARTERLY to MONTHLY during a session — create a new structure on MONTHLY cycle, create a fee group under it, remap the class to the new group. Past quarterly receipts stay intact; future invoices follow the new cycle.
- Apply RTE 25% waiver per class — create a 'RTE Quota' fee group under each class structure with a full academic waiver discount stack; remap RTE-admitted students' classes to that group, or add the group as a non-default option for individual student assignment.
- Run sibling discount automatically — create a 'Sibling Discount' fee group on each structure with the school's sibling discount rule. Move second/third siblings to that group at admission — invoices reflect discount automatically.
- Multi-stream Class 11/12 plans — create separate Fee Structures for Science / Commerce / Humanities, each with the relevant Practical Fee, Lab Fee or Stream Fee line items. Map sections accordingly.
- Onboard a sister school in a multi-school trust — mark your existing fee structures as templates, clone into the new school, edit the amounts. The full fee book is ready before classes start.
- Mid-session admission proration — student joins Class 6A on 12 September. The mapped fee group's structure runs proration as configured (DAY_BASED for international schools, MONTH_BASED for CBSE day, NONE for some State Board) and emits the correct prorated invoice automatically.
- Withdrawal-time refund — student withdraws from Class 8B on 15 November. The refund policy reads the mapped fee group's structure, computes refundable amounts per fee head's
isRefundableflag, and produces a clean refund proposal.
See your school's fee plan modelled live, in 30 minutes
Bring your existing class-wise fee Excel sheet, your last year's installment schedule, and your current sibling/staff discount policy. We'll model your fee structures and fee groups inside Inkwelly during the demo — by the end of the call, your 2026-27 fee plan is configured end-to-end and ready to bill.
Limits, safety and the small print
Editing a structure mid-session preserves history. If you edit a Fee Structure's amount or installment dates while students are already enrolled, the structure version on past invoices and receipts stays frozen — receipts are immutable financial records. Only future invoices use the new amounts. The audit log records every edit with user, timestamp and the old/new values. Most schools schedule structural edits between session-end and the new session start to keep things clean.
isTemplate isn't read-only. Marking a structure as a template just signals 'this is a clone source'. The template structure can still be assigned to classes via fee groups — most schools use the template flag purely as documentation, not as a behavioural switch. The clone action is the actual workflow.
One default fee group per structure, enforced server-side. The form blocks setting a second group as default with DEFAULT_RESOURCE_EXISTS. To switch the default, unmark the existing default first, then mark the new one. This prevents ambiguous 'which group does a new admission inherit?' situations during the busy March-April admission window.
Each class maps to exactly one fee group at a time. A class can not simultaneously belong to two fee groups — the mapping is unique. To switch a class's fee group, edit the existing mapping (the dialog allows changing only the fee group, not the class). Past students enrolled under the old group keep their old structure on past invoices; new invoices follow the new group.
Delete is restricted by foreign-key dependency. A Fee Structure with active fee groups, fee group students, or any historical invoice cannot be deleted. A Fee Group with enrolled students cannot be deleted. The right path is to mark inactive — inactive structures and groups stop appearing in new admission flows but continue serving past students cleanly.
Multi-currency support. Each Fee Structure carries its own currency (default INR). International schools running USD or AED fee plans for NRI categories use the currency field per structure; INR-paying parents see INR plans, foreign-currency-paying parents see their preferred currency. The default school currency is set in Fee Settings.
Multi-tenant isolation. Each school in a multi-school trust runs an independent fee structure and fee group set. School A's 'Class 1 Standard' is invisible to School B even within the same parent organisation. Templates can be shared across schools via the clone action, but live structures stay scoped to their school. Trust-level dashboards roll up enrolment counts and revenue by school without ever crossing tenancy boundaries.
DPDP Act 2023 alignment. Fee Structures and Fee Groups themselves contain no personally identifiable parent or student data — only fee plan metadata. PII appears only when a student is enrolled in a fee group via the Student Fee Profile and invoices are generated. All Inkwelly data is hosted on Mumbai region servers, encrypted at rest with AES-256, and accessible only via role-based permissions configured in Identity & Access Management. Audit log entries record every structure edit, group edit, and class mapping change — with user, timestamp and field-level deltas — keeping the fee-plan trail defensible during CBSE / ICSE / Income Tax / GST inspections.
Belongs to
1 moduleFrequently asked
10 questionsHow is a Fee Structure different from a Fee Group? Why do we need both?
A Fee Structure is the **master plan** — it defines what the cohort pays in total, on what cycle, with what installments, what proration method, and which classes/categories it can apply to. A Fee Group is a **named binding under that structure** that adds discount-stack variation: same structure, different discounts. So Class 1 might have one fee structure ('Class 1 Annual Plan 2026-27' — ₹23,500, Quarterly, Day-Based) but four fee groups under it ('Standard' — default, no discounts; 'Sibling Discount' — 10% off Tuition; 'Staff Ward' — 50% off Tuition; 'RTE Quota' — full academic waiver). Different students in the same Class 1 section can be enrolled in different groups, paying different actual amounts — but they all flow off the same master structure and inherit its installment schedule and proration rules cleanly. Two layers because the discount/exception logic is real and varies; one fat structure with discounts baked in would be unmanageable.
What's the difference between MONTHLY, QUARTERLY, HALF_YEARLY, ANNUAL and ONE_TIME fee cycles?
It's the installment schedule. **MONTHLY** — 12 installments due on a chosen day each month (preferred for international schools where parents pay EMI). **QUARTERLY** — 4 installments, typically Apr/Jul/Oct/Jan (the most common cycle in Indian CBSE / State Board day schools). **HALF_YEARLY** — 2 installments (Apr + Oct), used by some ICSE schools. **ANNUAL** — 1 installment, full fee paid at session start (used by smaller schools and some residential schools). **ONE_TIME** — single charge, no recurring schedule — used for one-off plans like 'Summer Camp Fee 2026' or a senior school 'Career Counselling Fee'. The cycle drives default installment scaffolding when you create the structure; you can still customise individual installment dates and amounts after.
What does 'proration method' actually do for a mid-session admission?
It decides how Inkwelly computes a partial-year fee for a student who joins after the academic session has begun. **NONE** — no proration; the student pays the full structure total regardless of join date. **DAY_BASED** — fee is divided by 365 days and multiplied by the actual remaining days. Most precise; international schools and accounting-heavy CBSE schools prefer this. **MONTH_BASED** — fee is divided by 12 months and multiplied by remaining full months. A student joining anywhere in September pays for 7 months. Common in CBSE / State Board day schools because it's simpler to explain to parents. **TERM_BASED** — proration aligned to the school's defined terms (typically 3 or 4 terms per session). A student joining Term 2 pays full Term 2, Term 3, Term 4; Term 1 is skipped. Used by ICSE residential schools and any school with explicit term calendars. The choice is per-structure, editable later, and only applies to fee heads with `isProratable = true` in the [chart of accounts](/features/fee-categories-and-fee-heads).
Can different sections of the same class (1A, 1B, 1C) have different fee plans?
Yes, via different Fee Groups. The classroom-level mapping happens in the Class Mappings tab — each section can map to a different fee group, even if the underlying structure is the same. So Class 1A and Class 1B both map to 'Class 1 Standard' (default group, no discounts), while Class 1C — the EWS-heavy section in some schools — maps to 'Class 1 RTE Quota' (full academic waiver group). Or two streams of Class 11 — 11A (Science) maps to a structure with Practical Fee included, while 11B (Commerce) maps to a structure without it. Most schools, however, keep all sections of a class on the same group; the section-level differentiation is for genuine cohort variation, not a default.
Can the same fee structure be used for multiple classes?
Yes. A structure has an `applicableClasses` field which is a multi-select of classes — if the field includes Class 1, Class 2, Class 3, then any of those classes' sections can map to fee groups under this structure. Leave the field empty to allow any class to use it (template-style structures often do this). The Fee Groups tab and Class Mappings tab use the structure's `applicableClasses` to filter the class picker so you can never accidentally map Class 5 to a Class 1 structure.
We charge different fees to different admission categories — GENERAL vs OBC vs EWS vs NRI. Does this support that?
Yes. The `applicableCategories` field on a Fee Structure restricts which admission categories can use it. Categories include GENERAL, OBC, SC, ST, EWS, MINORITY, SPECIAL, INTERNATIONAL, NRI — the same set used in [Student Information](/modules/student-information). So a school in Bangalore might create one structure for 'Class 6 General/OBC/SC/ST/EWS' and a separate 'Class 6 NRI' structure with higher amounts and Transport included. The category-aware structure routing happens at admission time when the student's category is set.
If we update a fee structure mid-session (e.g., add a new line item or change an amount), what happens to existing students?
Past invoices and receipts are immutable — they retain a snapshot of the structure as it was on the date of issue. So if you add a Smart Class fee ₹1,800 to Class 1's structure in October, every invoice issued before October stays untouched, and the new fee starts appearing on invoices issued from October onwards. The audit log records every structure edit — user, timestamp, old/new values. For amount edits that should affect already-issued installments, you regenerate those specific invoices through the [Student Fee module](/modules/student-fee) explicitly with a clear audit trail. Most schools schedule structural edits between session-end and new-session start to keep this clean.
Can we clone a fee structure from last session? How does the cloning work?
Yes — every Fee Structure has a Clone action in the list view. Click it, name the clone (e.g., 'Class 1 Annual Plan 2026-27'), and Inkwelly copies all line items (fee head, amount, tax) and installments (name, due date, amount) into the new structure. The clone keeps the original's fee cycle, proration method, applicable classes, applicable categories — but starts with isActive = false so you can review and adjust before it goes live. Most schools clone every March-end, do a flat percentage increase on amounts, shift installment dates by 365 days, and toggle active. The 2-3 week annual fee planning becomes a 90-minute review.
We have a 'Sibling Discount' policy — 10% off Tuition for the second sibling. How does that work with fee groups?
Create a fee group under each Class structure named 'Sibling Discount', and attach a Sibling Discount discount type (configured in [Discount Types](/school/dps/delhi/2026-27/student-fee/config/discount-types)) to it. At admission, when a second/third sibling is enrolled, move that student into the 'Sibling Discount' fee group of their class — either manually via the Student Fee Profile or automatically using the [Sibling Discounts](/school/dps/delhi/2026-27/student-fee/config/sibling-discounts) detection rule. The student's invoices automatically reflect the 10% Tuition discount; the system tracks this in the discount stack and emits the discount line on every receipt. The first sibling stays in 'Class X Standard' (default group, no discount); the second sibling joins 'Class X Sibling Discount' group.
Who in our school office should set up Fee Structures and Fee Groups?
The accounts officer or finance manager, in consultation with the principal who signs off on the 2026-27 fee book. Most setups take 4-6 hours initial; subsequent sessions 90 minutes via cloning. CBSE / State Board / ICSE day schools (8-12 fee structures) are typically completed in one Saturday morning. International / IB / Cambridge schools (14-20 structures with multi-stream Class 11/12) take 1-2 days, often with the CFO involved. Once configured, daily users — admission desk, fee counter, class teacher — never see this screen except to view a structure for context. Role-based access via [Identity & Access Management](/modules/identity-access-management) restricts edit rights to accounts and admin roles only; teachers see no fee plan configuration.
You might also like
3 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.