Creating and Managing Fee Structures - Step by Step

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:

  1. Go to 💰 Fee Management → 🏷️ Fee Types
  2. Add all fee types your school charges
  3. 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:

  1. Enter Structure Name - Choose a descriptive name like "Primary Wing - Monthly Fees" or "A-Level Science Package"
  2. 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)
  3. 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)
  4. 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
  5. 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

  1. Click "Delete" next to any structure
  2. Confirmation dialog: "Are you sure?"
  3. On confirm:
    • Structure removed from institutionkit_fee_structures
    • All associated items removed from institutionkit_fee_structure_items
    • Success message displayed

⚠️ 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:

  1. Assign Fees to Students → Go to 💰 Fee Management → 📌 Assign Fees
  2. Generate Invoices → Go to 💰 Fee Management → 🧾 Invoices
  3. Record Payments → Use the Invoices page to log received payments

Quick Reference Card

ActionNavigation PathWho Can Do It
Create StructureFee Management → Fee Structures → Left ColumnAdmin, Accountant
View StructuresFee Management → Fee Structures → Right ColumnAll finance users
Delete StructureClick "Delete" → ConfirmAdmin, Accountant
Add Fee ItemClick "+ Add Another Item" in formAdmin, Accountant
Remove Fee ItemClick "×" on item rowAdmin, 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.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
💬 Ask Me Anything!