Finances
Finances: Invoices and Payments
Create invoices, accept card payments and confirmed bank transfers, manage lesson balances and overdue accounts, and understand the append-only ledger.
Updated:
On this page
Mimiao’s finance module follows a simple flow: invoice → payment → lesson balance → automatic deduction. No manual calculations, no spreadsheets on the side.
Invoices
Every invoice gets a unique sequential number in the format INV-000001 — the numbering is global and never repeats. Create an invoice from a student’s profile → Finance tab → “Create invoice”.
When creating an invoice you specify:
- Number of lessons or total amount (or both).
- Description — free text or a template (e.g., “June payment, 8 lessons”).
- Due date — optional.
The invoice immediately shows as “Awaiting payment” in the student’s and parents’ portals.
Payment methods
Pay by link
After creating an invoice, the system generates a unique payment link. Send it to the student or parents by any convenient channel — they can pay by card via mono, WayForPay or LiqPay without registration. Once the payment succeeds, the invoice status updates automatically and lessons are credited to the balance. With mono, funds go directly to the school’s connected merchant account.
Confirmed bank transfer
Spotted a bank transfer? Mark it manually: open the invoice → “Confirm payment” → enter the amount. Only administrators and the school owner can confirm payments — teachers cannot.
Lesson balance
Once payment is confirmed, lessons are credited to the student’s balance. The balance is shown in the student’s profile as a single number — “X lessons remaining”.
Each time a lesson is marked complete, the system deducts one lesson automatically. When the balance drops below two lessons, a warning appears in the profile and a related automation can send a payment reminder.
Finding overdue accounts quickly
The Students list has a “Overdue” quick filter — it shows everyone with an unpaid invoice or a zero/negative balance. Useful for a weekly follow-up sweep.
Multiple legal entities (FOP) for payments
If your school bills through more than one legal entity, set them up under Settings → Payments → Legal entities: add each one’s name and tax ID, and mark one as the default. The first entity you add becomes the default automatically — a school with a single entity doesn’t have to configure anything.
Both payment channels link to a legal entity: the bank-requisites template (now with structured bank name and IBAN fields — the free-text details field became optional) and the online merchant account (mono/LiqPay/WayForPay).
When an entity is selected while creating an invoice, or can be resolved from the requisites template or online merchant, it is stamped on that invoice and never changes afterward, just like the rest of the ledger below. The priority is: an explicit choice in the invoice modal → the requisites template’s linked entity → the online merchant’s linked entity. Without that attribution, the amount remains “Unassigned”.
The invoice itself shows the client structured payee details — entity name, tax ID, bank, IBAN (or the legacy free-text details if no structured data is set).
Analytics → Financial has a per-entity view: how much cash actually came in and how much is recognized revenue, broken down by legal entity. Anything that can’t be attributed to an entity shows under “Unassigned”, so the totals always reconcile with the rest of your analytics.
Importing payments from a previous system
Already kept records in another tool? Finances → Import has a wizard: it recognizes the columns in your file (date, amount, payer), matches payers to existing students — with a confidence badge on each row — and shows validation totals before anything is written. Nothing lands in the immutable ledger until you confirm the final numbers.
The immutable financial ledger
All financial transactions are stored in an append-only ledger — no record can be edited or deleted once saved. This protects against back-dated corrections and is fundamental to keeping accurate books.
If you made a mistake, don’t try to delete it — reverse it. Create a correcting entry with an explanation. Both the original and the reversal remain in the ledger permanently.
This follows standard double-entry bookkeeping logic and gives you a complete audit trail for any period.
Invoices are set up — next, see how teacher payouts work.