Last Updated: 2026-05-27 | Applies to: IK v1.2+ | Role: Administrator, Accountant
What Are Fee Structures?
Fee Structures are reusable templates that group multiple fee types with their default amounts. Instead of assigning fees to each student individually, you create a structure once and apply it to entire classes.
Real-World Example:
Structure: "Primary School Package (Grades 1-5)"├── Tuition Fee: $500.00├── Library Fee: $50.00├── Sports Fee: $100.00├── Computer Lab Fee: $75.00└── Total: $725.00Structure: "Secondary School Package (Grades 6-10)"├── Tuition Fee: $700.00├── Library Fee: $75.00├── Lab Fee: $150.00├── Sports Fee: $100.00└── Total: $1,025.00
Accessing Fee Structures
Navigate to: 💰 Fee Management → 📐 Fee Structures
You'll see a two-column layout:
- Left Column (49%): Add New Fee Structure form
- Right Column (49%): Current Fee Structures list
Step 1: Understanding Fee Types vs. Fee Structures
Fee Types (defined first) are individual chargeable items:
- Tuition Fee
- Transport Fee
- Library Fee
- Lab Fee
- Sports Fee
- Examination Fee
Fee Structures (what we're creating now) group these types together with amounts.
Analogy:
- Fee Types = Individual ingredients
- Fee Structures = Complete recipe/meal plan
Step 2: Before You Begin
Make sure you have defined Fee Types first:
- Go to 💰 Fee Management → 🏷️ Fee Types
- Add all fee types your school charges
- Return to Fee Structures
If you see "— Select Fee Type —" with no options, you need to create fee types first.
Step 3: Creating Your First Fee Structure
Form Fields:
┌──────────────────────────────────────────────┐│ Add New Fee Structure │├──────────────────────────────────────────────┤│ ││ Structure Name: [_______________________] ││ (e.g., "Grade 10 Standard Fees") ││ ││ ┌─ Fee Items ──────────────────────────┐ ││ │ │ ││ │ [Select Fee Type ▾] [Amount: ___] [×]│ ││ │ │ ││ └───────────────────────────────────────┘ ││ ││ [+ Add Another Item] ││ ││ [Add Fee Structure] ││ │└──────────────────────────────────────────────┘
Step-by-Step:
- Enter Structure Name - Choose a descriptive name like "Primary Wing - Monthly Fees" or "A-Level Science Package"
- Add First Fee Item:
- Select a fee type from dropdown (e.g., "Tuition Fee")
- Enter default amount (e.g., 500)
- Amount accepts decimals (e.g., 499.99)
- Add More Items:
- Click "+ Add Another Item"
- New row appears with dropdown + amount field
- Add as many fee types as needed
- Minimum: 1 item (you'll see an alert if you try to remove the last one)
- Remove an Item:
- Click the × button on any row
- Cannot remove if it's the only item (alert will pop up)
- Items are automatically re-indexed after removal
- Save:
- Click "Add Fee Structure"
- Success message appears: "Fee Structure added successfully!"
Step 4: Understanding the Fee Structure Table
After creating structures, they appear in the right column:
┌──────────────────────────────────────────────────────────┐│ Current Fee Structures │├─────────────────────┬────────────────────┬───────────────┤│ Structure Name │ Fee Items │ Actions │├─────────────────────┼────────────────────┼───────────────┤│ Primary School │ Tuition: $500.00 │ Delete ││ Package │ Library: $50.00 │ ││ │ Sports: $100.00 │ │├─────────────────────┼────────────────────┼───────────────┤│ Secondary Package │ Tuition: $700.00 │ Delete ││ │ Lab Fee: $150.00 │ ││ │ Library: $75.00 │ │└─────────────────────┴────────────────────┴───────────────┘
Table Columns:
- Structure Name: Bold text, the name you gave
- Fee Items: Each fee type with its amount, separated by line breaks
- Actions: Delete link with confirmation prompt
Step 5: Deleting a Fee Structure
- Click "Delete" next to any structure
- Confirmation dialog: "Are you sure?"
- On confirm:
- Structure removed from
institutionkit_fee_structures - All associated items removed from
institutionkit_fee_structure_items - Success message displayed
- Structure removed from
⚠️ Warning: Deleting a structure does NOT affect already-assigned fees to students. It only removes the template.
Database Structure (Behind the Scenes)
Three tables work together:
1. wp_institutionkit_fee_types
sql
fee_type_id | fee_name 1 | Tuition Fee 2 | Transport Fee 3 | Library Fee
2. wp_institutionkit_fee_structures
sql
structure_id | structure_name 1 | Primary Package 2 | Secondary Package
3. wp_institutionkit_fee_structure_items (the bridge table)
sql
item_id | structure_id | fee_type_id | amount 1 | 1 | 1 | 500.00 2 | 1 | 3 | 50.00 3 | 2 | 1 | 700.00 4 | 2 | 3 | 75.00
Pro Tips
1. Naming Conventions:
- ✅ Good: "Grade 1-5 Monthly Package"
- ✅ Good: "A-Level Science Stream"
- ❌ Bad: "fees1"
- ❌ Bad: "Structure A"
2. Amount Precision:
- Use whole numbers for simplicity ($500)
- Use decimals for precise amounts ($499.99)
- All amounts stored as
DECIMAL(10, 2)
3. Structure Strategy:
Create separate structures for:├── Different grade levels (Primary, Middle, Secondary)├── Different streams (Science, Commerce, Arts)├── Different schedules (Monthly, Quarterly, Annual)└── Special programs (Boarding, Transport only)
4. Currency Symbol:The $ or your configured currency symbol (from IK Settings) displays automatically in the table.
5. Bulk Operations:To update amounts, delete and recreate the structure. This is intentional to prevent accidental changes affecting already-assigned student fees.
Common Use Cases
Scenario 1: Single Fee Structure for All
Structure: "Standard School Fees"├── Tuition Fee: $600├── Library Fee: $60└── Total: $660
Apply to all classes, all students.
Scenario 2: Grade-Specific Structures
Structure: "KG Wing" → $400 (lower fees for kindergarten)Structure: "Primary Wing" → $550 (standard primary fees)Structure: "Secondary Wing" → $800 (higher fees with lab charges)
Scenario 3: Optional Add-ons
Structure: "Transport Add-on"├── Transport Fee: $200└── Apply only to students using school transportStructure: "Hostel Add-on"├── Hostel Fee: $1,500├── Mess Fee: $800└── Apply only to boarding students
Troubleshooting
Problem: "No fee types appear in dropdown"Solution: Go to Fee Types page first and add at least one fee type.
Problem: "Can't remove the last fee item"Solution: Every structure must have at least one item. Add another item first, then remove the unwanted one.
Problem: "Amount showing with many decimal places"Solution: Enter amounts with maximum 2 decimal places (e.g., 500.50, not 500.555).
Problem: "Deleted structure but students still have fees"Solution: Fee structures are templates. Deleting a structure doesn't remove fees already assigned to students. Use Assign Fees page to modify student fees.
Problem: "Same structure name already exists"Solution: Names don't have a unique constraint in the database, but use unique names for clarity. Add grade level or year to differentiate.
What's Next?
After creating fee structures:
- Assign Fees to Students → Go to 💰 Fee Management → 📌 Assign Fees
- Generate Invoices → Go to 💰 Fee Management → 🧾 Invoices
- Record Payments → Use the Invoices page to log received payments
Quick Reference Card
| Action | Navigation Path | Who Can Do It |
|---|---|---|
| Create Structure | Fee Management → Fee Structures → Left Column | Admin, Accountant |
| View Structures | Fee Management → Fee Structures → Right Column | All finance users |
| Delete Structure | Click "Delete" → Confirm | Admin, Accountant |
| Add Fee Item | Click "+ Add Another Item" in form | Admin, Accountant |
| Remove Fee Item | Click "×" on item row | Admin, Accountant |
Keyboard Shortcuts (Form Navigation)
- Tab: Move between fields (Name → Dropdown → Amount → Button)
- Enter: Submit form (when on submit button)
- Esc: Cancel/close (browser default)

Comments are closed.