Knowledge Base

Browse step-by-step guides for every part of Octavia, with clear navigation and search to help you find what you need fast.

Understanding Billing Contracts

A billing contract is the record that controls how a specific student enrolment is billed — which model is used, what the price is, and when invoices are generated. Every enrolment has exactly one billing contract, and i

What Is a Billing Contract?

When a student is enrolled (or added to a group), the platform automatically creates a billing contract for that enrolment. This contract stores everything that determines how the enrolment is billed:

  • Which billing model is in use (calendar, PAYG, lesson pack, etc.)
  • Whether the enrolment is currently active for billing
  • Whether collection is manual or automatic, and — if automatic — the billing interval, anchor day, lead time, and whether invoices are sent automatically too (see Automatic Invoicing, Lead Time, and Auto-Send: Full Guide)
  • Bills starting from — the earliest date this enrolment can ever be invoiced, manual or automatic. This defaults to today when the enrolment is created, but you can set it later if the student's lessons (and billing) shouldn't start yet

The billing contract is what the system reads when it is time to generate an invoice. It is not a global setting — it is specific to that one enrolment.

Contracts vs School-Level Billing Settings

It is worth understanding the difference between your school-level billing settings and individual billing contracts:

School-Level Billing SettingsBilling Contract (per enrolment)
What it isA template and set of defaults for your schoolThe authoritative billing record for one specific enrolment
What it controlsDefault billing mode and payment instructions for new enrolmentsActual billing mode and schedule for this enrolment
When it's usedWhen a new enrolment is created (to pre-fill the contract)Every time an invoice is generated
What happens if you change itAffects new enrolments only — existing contracts are not updatedAffects this enrolment's next invoice onwards

One Contract Per Enrolment

Each enrolment has exactly one billing contract at any time. This is true for both individual student enrolments and group enrolments:

  • An individual student enrolled in piano lessons → one contract.
  • The same student also enrolled in a theory group → a second, separate contract for the group enrolment.
  • Each contract is independent and can be on a different billing model.

There is never more than one active contract per enrolment. If you edit a contract, the existing record is updated — a new one is not created.

How Contracts Are Created

Billing contracts are created automatically when an enrolment is set up. The initial values are copied from your school-level billing settings at the time of creation. You can then edit the contract for that specific enrolment if needed.

If you later change your school-level billing defaults, Octavia will ask whether you want to apply the new defaults to your existing enrolment contracts too, not just future ones. If you say yes, you'll also be asked to confirm the date those contracts should be considered billable from (see Bills starting from, above) — a contract that's had no invoicing history for a while will only ever be advanced to this date, never pulled earlier than it already was.

Editing a Billing Contract

You can edit a billing contract at any time from the billing section of the student or group detail screen. The billing card shows the current settings for that enrolment, and you can open it, make changes, then save or cancel. Changes take effect for future invoices — they do not alter any invoices that have already been created, sent, or paid.

Common edits include:

  • Updating the lesson price if a student's rate has changed.
  • Changing the billing model (for example, moving a student from calendar billing to a lesson pack).
  • For a monthly enrolment, choosing whether its invoices show the scheduled lesson dates for that month.
  • Deactivating a contract when a student goes on extended leave.

Whenever you change a contract's billing model, or move it from manual to automatic collection, Octavia shows you a confirmation step before saving: it proposes today as the Bills starting from date (which you can edit), and previews what that means in practice — the first billing period or term it would affect, and, for automatic collection, the actual generate and send dates. If your settings would make an invoice due for generation immediately, you'll see a clear warning before you confirm.


Related articles: