Contract Management
Manage student contracts, process renewals, track payments, and maintain comprehensive records of all contract activity.
New contracts must be created through the Student menu. This page is for managing existing contracts only.
Students can have multiple active contracts simultaneously—for example, separate contracts for different courses or promotional lesson packages. However, we recommend that students have no more than one contract with Carryover enabled to avoid confusion in credit management.
Contract List
The Contract List displays all contracts in your system with powerful filtering options to help you find exactly what you need.
Contract Filter
Filter contracts by status and type:
- All Contracts (default) - Shows all contracts regardless of status
- Unpaid - Contracts with outstanding balances
- Package - Fixed-term contracts with a set number of credits
- Monthly - Recurring monthly contracts
- Unused - Contracts that haven't been used for any bookings yet
- Nearly Finished - Package contracts approaching their credit limit
Booking Type Filter
Filter by student scheduling preference:
- Both (default) - Shows contracts for all students
- Fixed - Contracts belonging to students with Fixed Schedule enabled on their profile
- Flex - Contracts belonging to students without Fixed Schedule enabled
Processing Monthly Contracts
Monthly contract processing creates a new contract instance for the upcoming period. This allows you to prepare next month's contracts in advance while maintaining clean records.
How to Process Monthly Contracts
- Select Processing from the Contract List menu bar
- Select the target month in the period selector (dates automatically set to 1st through last day of month)
- Review the list of eligible contracts that appears
- Click Process to create the new contract instances
- Only active contracts that haven't been processed yet are eligible
- Each contract can only be processed once per period
- Successfully processed contracts receive a "Renewal Complete" tag
- Processed contracts can only be used for bookings during their designated period, regardless of when they were created
What Gets Copied During Processing
When a monthly contract is processed, the new instance receives:
- Credits: The "Per Month" value from the source contract
- Plan Cost: The base cost amount
- Plan Description: The cost description text
Not copied: Payment adjustments and payment history remain with the original contract.
Automatic End-of-Month Processing
At midnight on the 1st of each month, the system automatically:
- Sets all expiring Monthly contracts to Inactive
- Sets all expired Package contracts to Inactive
- For contracts with Carryover enabled:
- Transfers remaining credit balance to the new contract
- Adds a "Carryover Complete" tag to the expiring contract
- Records the number of credits carried over
Bulk Payment Entry & Reporting
The Payments menu provides tools for bulk payment processing and financial reporting.
Payment Options
Payments
Bulk processing for outstanding balances. This option processes full payments only. For partial payments, use the individual contract edit screen accessible from the Contract List or Student menu.
Uncollectible
Bulk mark balances as uncollectible. This removes them from the payments owing list without recording a payment. Use this for write-offs or debt forgiveness.
Report
Generate exportable sales reports in CSV format. Reports include payment history, outstanding balances, and contract revenue data.
Editing Contracts
Carryover
Monthly contracts only. If yes is selected, any unused credits will be added to the next month's occurrence of the contract. Processed automatically at midnight on the 1st of each month.
Monthly Booking Limit
Optional control for the number of lessons a student may book in a calendar month.
Selecting Yes and setting the number as 0 will not allow the student to book at all.
Monthly Cancellation Limit
Optional control for the number of lessons a student may cancel and have the credits refunded in a calendar month.
Selecting Yes and setting the number as 0 will not allow the student to cancel at all without penalty.
Both limits are overridable when booking lessons from the Admin interface.
Balance Adjustment
This can be used to adjust the credits on a contract.
Any change to the number of credits will be visible on the Log tab.
Lessons
The lessons that can be booked with this contract. Hover over a lesson to see its display name. A student may have multiple contracts with different lessons assigned to each at the same time.
If the student has the same lesson assigned to two or more concurrently active contracts, the system will attempt to book with the contract nearest to its expiry date.
Plan Cost & Description
The base cost and name of the contract. For Monthly contracts, this should be the full cost of the contract that will renew each month.
Add Adjustments
Can be positive or negative. Multiple entries possible. Use for additional fees or discounts. For Monthly contracts, these are items that are only payable one time.
Plan Cost: ¥30,000 — Monthly lesson tuition
Adjustment 1: -¥22,500 — Only 1 lesson in first month
Adjustment 2: ¥20,000 — Joining Fee
Adjustment 3: ¥4,000 — Material Fee
Balance Due: ¥31,500
Contract Notes
For internal use only.
Prepares a printable Enrollment Agreement in the current interface language.
Any changes made to Plan Cost, Adjustments, or Payments will be immediately visible on the printable contract, but not saved until Save is selected at the top right of the contract.
Deactivating & Deleting Contracts
When a contract is deactivated (status set to Inactive) or deleted, students can no longer make new bookings with it. However, existing bookings made with that contract remain unaffected and will still appear the schedule.
Deactivating Contracts
When a contract is deactivated (status set to Inactive), no further bookings can be made with it. Existing bookings are not affected.
Deleting Contracts
When a contract is deleted, it is permanently removed from the system.
It is not recommended to delete a contract once it has been used for bookings or has had payment information entered. Mark it as Inactive instead to preserve data integrity.