Abstract illustration of invoice data flowing from a studio system into Xero.

Getting studio invoices into Xero without re-keying them

Once a studio grows past a single teacher, its accounting usually stops living inside the teaching software. A bookkeeper or accountant takes over, and they work in Xero. That creates a familiar gap. The billing that happens in Octavia, the invoices families actually receive, has to reappear inside Xero so the books reflect it. In many studios that reappearance is manual, which means someone re-types invoice totals into a second system and hopes the two never drift apart.

Until now the choice has effectively been one or the other. A studio can run its billing inside Xero, invoice families from there, and give up software built for the way music teaching actually works, with its recurring lessons, timetables, make-ups, and family billing. Or it can use scheduling and invoicing designed for music businesses and accept re-keying every invoice into Xero by hand.

Octavia is built to remove that trade-off. Lessons, timetabling, and invoicing live in one system designed for music studios, where invoices are generated from your scheduling data in a few clicks, tied directly to the lessons they bill for. The Xero export then carries that billing across to your accounts with little effort, and keeps the two in sync.

Concretely, Xero exports let a studio prepare Xero-ready files directly from Octavia's own billing data. Octavia produces two kinds of CSV that Xero understands: a contacts file and a sales invoices file. You pick a date range, choose whether you want invoice detail or invoice summaries, and download files an accountant can import. The billing you already did in Octavia becomes the billing your books show, without a second round of data entry.

Why this is a separate, export-time layer

The important design decision is what the feature does not touch. Octavia's invoice generation, payment recording, and balance logic stay exactly as they are. The Xero mapping is an additional layer that only does its work at the moment you export. Historical invoices are never rewritten to suit Xero, and the export behaviour can improve over time without disturbing the billing that produced those invoices in the first place.

This matters because accounting mappings are opinionated and studio-specific. Different studios use different charts of accounts and different tax codes. Baking any of that into invoice generation would tie the core billing model to one accountant's preferences. Keeping it at export time means the accounting view is a translation applied on the way out, and the source of truth stays with the invoices themselves.

How the export decides account and tax codes

Every accountant wants sales landing against the right account, and taxable lines carrying the right tax code. Octavia resolves those values per row using a fixed order of preference. It looks first for a mapping on the specific custom line category, then for a mapping on the invoice's billing type, then for the school's default mapping, and if none of those is set, it leaves the field blank.

That blank fallback is deliberate rather than a gap. A studio that has configured nothing gets clean files with those fields empty, which is exactly the safe starting point, and the accountant can fill them during import. A studio that has done the setup gets account and tax codes filled in automatically. The system is useful on day one and more automated once configured, without a hard cutover between the two.

All of this is scoped to the individual school. There is no shared global mapping, because two studios that both export to Xero may keep entirely different accounts and tax treatments.

Line items or headers, gross or ex-tax

The invoice export comes in two shapes, because accountants do not agree on how much detail they want. A line-item export produces one row per charge, so tuition, an exam fee, and a book on the same invoice arrive in Xero as separate lines. A header export produces one summary row per invoice. Line items give the most granular picture, and Xero will still let you see them as an invoice summary, which is why it is the recommended choice for most studios. Headers suit an accountant who only wants a single figure per invoice.

Amounts can be exported either as the display or gross figure, which is what families saw on their Octavia invoice, or as the ex-tax accounting figure. The gross figure is the default because it matches what was actually billed and charged. A tax-aware studio that would rather let Xero calculate tax from a tax code can switch to the ex-tax figure instead.

The contact on each invoice follows Octavia's existing billing-recipient rules rather than being reinvented for the export. By default that is the parent who receives billing. A student is used as the contact only when that student is set to manage their own billing and has an email on file. Contact names are kept consistent between the two files so that invoices attach to the right contact when Xero imports them, and each exported invoice carries a reference back to its Octavia record for traceability.

A file exchange, not a live connection

Octavia does not hold a live API connection into Xero, and this is a design choice rather than a missing piece. The exchange is file based. Octavia prepares CSVs, you review them, and you import them into Xero yourself. There are no stored Xero credentials and no background process writing into your books without your involvement. For a first version handling real financial data, a reviewable file that a person imports deliberately is the lower-risk shape.

How to access it

Xero exports appear on the Reports page in the teacher app, as a card marked Live. Opening it takes you to a dedicated export workspace where you confirm the school's export settings, choose an invoice date range, and download the contacts and invoices files. Because it is a reporting and accounting tool, it is available to school admins.

This feature is currently limited to studios taking part in the Studio plan pilot. If your school is on that pilot, the card is active; if not, it will not yet appear. That boundary is intentional while the export shape is being proven against real accountants' workflows, which is also where the most useful feedback comes from. The mapping is designed to be corrected and refined, so a studio that finds its accountant wants a particular account or tax treatment can adjust the settings rather than the invoices.

If you work in or run a school with multiple teachers and would like to take part in the Studio plan pilot, get in touch at info@octavia.studio with the details of your school.

Create your account

You’ll have access to the complete Pro Teacher features for 30 days, and after that you’ll still be able to access all the free features to run your studio.