Create Fee Structure
Create Fee Structure
Set up fee terms to define how students are billed for courses and programs.
Time Required: 15 minutes Module: Fees User Role: Fees Admin
Table of Contents
Before You Begin
Ensure you have:
- Fee products created (e.g., “Tuition Fee”, “Lab Fee”)
- Course structure set up
- Fees module enabled in Settings
Create Fee Products First
If you don’t have fee products:
- Go to Sales > Products > Products
- Click Create
- Fill in:
| Field | What to Enter | Example |
|---|---|---|
Product Name | Fee description | ”Tuition Fee” |
Product Type | Select “Service” | Service |
Sales Price | Unit amount | 5000.00 |
Can be Sold | Check this | ✅ |
- Click Save
- Repeat for each fee type
Create Fee Term
Step 1: Navigate to Fee Terms
- Click OpenEduCat in the main menu
- Click Configuration
- Click Fees Terms
- Click Create button
Step 2: Select Fee Type
A wizard appears asking for the fee type:
| Option | When to Use | Description |
|---|---|---|
| Fixed Days | Standard billing | Invoice due N days after enrollment |
| Fixed Date | Semester billing | Invoice due on specific dates |
| Duration Based ⚙️ | Recurring | Bills every period (daily/weekly/monthly/yearly) |
| Session Based ⚙️ | Per-attendance | Bills when sessions are marked complete |
| Faculty Based ⚙️ | Private tutoring | Bills based on faculty teaching costs |
Select your fee type and click Save.
Step 3: Fill Basic Information
| Field | What to Enter | Example | Required |
|---|---|---|---|
Name | Descriptive name | ”BCS Semester Fee Structure” | ✅ Yes |
Code | Short unique code | ”BCS-SEM-FEE” | ✅ Yes |
Fee Type | Already selected | Fixed Date | ✅ Yes |
Discount | Default discount percentage | 0 | No |
Note | Additional information | ”Applicable for 2025-26 batch” | No |
For Duration Based ⚙️ (Enterprise)
Additional fields appear:
| Field | What to Enter | Example |
|---|---|---|
Bill Every | Duration number | 1 |
Period | Duration type | Months |
Expires After | Number of billing cycles | 8 (for 8 semesters) |
💡 Tip: For 4-year programs with semester billing, set “Bill Every: 6 Months” and “Expires After: 8”.
Add Fee Term Lines
Fee term lines define when payments are due and how much.
Step 4: Create Term Lines
In the Term Lines section, click Add a line.
For Fixed Days
| Field | What to Enter | Example | Required |
|---|---|---|---|
Due Days | Days until payment due | 30 | ✅ Yes |
Value | Percentage of total | 100 | ✅ Yes |
Example - Split Payment:
| Line | Due Days | Value |
|---|---|---|
| 1 | 0 | 50% (due immediately) |
| 2 | 30 | 25% (due in 30 days) |
| 3 | 60 | 25% (due in 60 days) |
For Fixed Date
| Field | What to Enter | Example | Required |
|---|---|---|---|
Due Date | Calendar date | 2025-08-15 | ✅ Yes |
Value | Percentage of total | 50 | ✅ Yes |
Example - Semester Payment:
| Line | Due Date | Value | Description |
|---|---|---|---|
| 1 | 2025-08-15 | 50% | Fall semester due |
| 2 | 2026-01-15 | 50% | Spring semester due |
⚠️ Important: Line values must total exactly 100%. The system validates this.
Add Fee Elements
Fee elements break down each line into specific products.
Step 5: Add Elements to Each Line
Within each term line, click the Fee Elements section to expand.
Click Add a line and fill:
| Field | What to Enter | Example | Required |
|---|---|---|---|
Product | Select fee product | ”Tuition Fee” | ✅ Yes |
Value | Percentage of line amount | 80 | ✅ Yes |
Example - Fee Breakdown:
| Product | Value | If Line = $5000 |
|---|---|---|
| Tuition Fee | 80% | $4000 |
| Lab Fee | 15% | $750 |
| Library Fee | 5% | $250 |
| Total | 100% | $5000 |
⚠️ Important: Element values within each line must total 100%.
Step 6: Configure Reminders ⚙️ (Enterprise)
For each term line, you can add payment reminders:
Click Add a line in the Reminders section:
| Field | What to Enter | Example |
|---|---|---|
Days | Number of days | 7 |
Timing | Before or After due date | Before |
Email Template | Select reminder template | ”Payment Reminder” |
Recommended Reminder Schedule:
| Days | Timing | Purpose |
|---|---|---|
| 7 | Before | Advance notice |
| 1 | Before | Final reminder |
| 3 | After | Gentle follow-up |
| 7 | After | Urgent reminder |
Link to Course
Step 7: Assign Fee Term to Course
- Go to OpenEduCat > Course > Courses
- Open the course record
- Find the
Fees Termfield - Select your newly created fee term
- Click Save
Now all students enrolling in this course will use this fee structure.
Step 8: Verify Setup
Test your fee structure:
- Create or open a test student
- Add them to a course with the fee term
- Check the Fees tab
- Verify fee lines appear correctly
Field Reference
Fee Term Fields
| Field Name | Technical Name | Type | Required | Description |
|---|---|---|---|---|
| Name | name | Char | ✅ | Display name |
| Code | code | Char | ✅ | Unique identifier |
| Fee Type | fees_terms | Selection | ✅ | Billing method |
| Discount | discount | Float | No | Default discount % |
| Note | note | Text | No | Additional info |
| Lines | line_ids | One2many | ✅ | Payment schedule |
| Active | active | Boolean | Auto | Archive status |
Fee Term Types
| Type | Technical Value | Description |
|---|---|---|
| Fixed Days | fixed_days | Due N days after enrollment |
| Fixed Date | fixed_date | Due on specific dates |
| Duration Based | duration_based | Recurring billing ⚙️ |
| Session Based | session_based | Per-attendance billing ⚙️ |
| Faculty Based | faculty_based | Based on faculty costs ⚙️ |
Fee Term Line Fields
| Field Name | Technical Name | Type | Required | Description |
|---|---|---|---|---|
| Due Days | due_days | Integer | Conditional | Days until due |
| Due Date | due_date | Date | Conditional | Calendar due date |
| Value | value | Float | ✅ | Percentage of total |
| Elements | fees_element_line | One2many | ✅ | Fee breakdown |
Fee Element Fields
| Field Name | Technical Name | Type | Required | Description |
|---|---|---|---|---|
| Product | product_id | Many2one | ✅ | Fee product |
| Value | value | Float | ✅ | Percentage of line |
| Sequence | sequence | Integer | No | Display order |
Buttons Reference
| Button | When Visible | What It Does |
|---|---|---|
| Save | Always | Saves fee term |
| Archive | Saved record | Deactivates fee term |
| Duplicate | Saved record | Creates copy |
Troubleshooting
”Values must sum to 100%” error
Problem: Cannot save fee term due to validation error.
Solutions:
- Check that all term line percentages add up to 100%
- Check that all element percentages within each line add up to 100%
- Use a calculator to verify
Fee term not appearing on course
Problem: Cannot select fee term when editing course.
Solutions:
- Ensure fee term is saved (not in draft)
- Check fee term is not archived
- Verify you have Fees Admin permissions
No invoices generated
Problem: Fee structure assigned but no invoices appear.
Solutions:
- Check student is enrolled in a batch with the course
- For Fixed Date: verify due date has passed
- For Duration Based: verify fee plan is in “Running” state
- Check fees module is enabled
Examples
Example 1: Simple Annual Fee
Name: "Annual School Fee"Code: "ANNUAL-FEE"Type: Fixed Days
Line 1: Due Days: 0 Value: 100%
Elements: - Tuition Fee: 70% - Activity Fee: 20% - Materials Fee: 10%Example 2: Semester Split Payment
Name: "Semester Payment Plan"Code: "SEM-SPLIT"Type: Fixed Date
Line 1: Due Date: 2025-08-01 Value: 50%
Elements: - Fall Tuition: 100%
Line 2: Due Date: 2026-01-15 Value: 50%
Elements: - Spring Tuition: 100%Example 3: Monthly Recurring ⚙️
Name: "Monthly Tuition Plan"Code: "MONTHLY"Type: Duration BasedBill Every: 1 MonthExpires After: 12
Line 1: Value: 100%
Elements: - Monthly Tuition: 100%Related Topics
Last updated: January 2026