Skip to main content

Billing and invoicing

This guide explains how to set up billing profiles and invoicing in Zooza. Billing profiles store your company details (name, address, IBAN) that appear on invoices and in payment instructions sent to clients. Invoices can be generated automatically when a payment is received, or manually per booking.

Note: If you use external invoicing software (Xero, Abra Flexi, Smartbill, Szamlazz), you may not need Zooza's built-in invoicing. See the Related section for integration guides.

Where to find billing settings

Go to SettingsBilling.

Settings page with Billing tile highlighted

The Billing page has three sections:

  1. Invoice settings — automatic invoice generation toggle.
  2. Default billing profile — your primary company and bank details.
  3. Other billing profiles — additional profiles for multi-entity businesses.

Automatic invoice generation

The first section controls whether Zooza generates invoices automatically.

Invoice settings — automatic generation toggle

When Enable automatic invoice generation is checked, Zooza generates invoices automatically based on payment events. Two independent triggers are available:

TriggerWhen it firesTypical use
Debt clearedWhen a booking reaches Paid or Final payment paid statusStandard — one invoice per settled payment
Down payment paidWhen a booking reaches Down payment paid statusUseful when you want a separate invoice for the deposit upfront

Both triggers are on by default when you enable automatic invoicing. You can turn each off independently if your accounting workflow doesn't need that event.

  • A single booking can produce multiple invoices (e.g., one per instalment, or deposit + final).
  • If a client pays 50 EUR now and 30 EUR later, each trigger fires separately.

When automatic invoicing is off, no invoices are generated automatically. You can still generate invoices manually per booking (see Manual invoice generation below).

Tip: If you are just getting started with Zooza, you can leave automatic invoicing off, accept bookings and payments, and enable it later once your accounting settings are ready. You can also generate invoices retrospectively.

Default billing profile

The default billing profile is used on all programmes unless you assign a different profile. It contains your company and bank details that appear on invoices and in payment communications.

Default billing profile overview

Click the company name (or Not Set) to open the profile editor.

Billing profile fields

Edit billing profile form

FieldDescription
Company nameYour company or trading name. Appears on invoices. Required.
Email addressMain contact email for your company and clients.
Phone numberContact phone number (appears on invoice if filled).
Street and house numberCompany address line.
CityCity.
CountryCountry.
ZIP codePostal code.
Business IDCompany registration number. Required.
Tax IDTax identification number.
VAT numberVAT registration number (if applicable).
VAT payerCheck if your company is a VAT payer.
Show VAT payer on invoicesIf checked, invoices display your VAT payer status.
Account number (IBAN)Bank account in IBAN format. Automatically inserted into payment messages sent to clients.
Account holder nameThe exact name registered with your bank for this IBAN.

Account holder name and IBAN

IBAN and account holder name fields

The Account holder name must match your bank account exactly. This field is important for two reasons:

  1. QR code payments — When clients scan a QR code from a payment email, their banking app verifies the account holder name. A mismatch can cause the payment to fail.
  2. Instant Payments Regulation — EU regulations require that the account holder name matches the IBAN. If these do not match, some banks will reject the transfer.

Tip: You can include your IBAN in payment emails using the dynamic tag for bank account number. This pulls the value directly from the billing profile assigned to the programme.

GoCardless bank pairing

If you use GoCardless for direct debit, you can pair your bank account with GoCardless directly from the billing profile. This enables Zooza to automatically match incoming bank transfers to the correct bookings.

If the bank account is not paired, you will see a notice:

"The bank account on this profile is not paired via GoCardless, which means that unless you use another type of matching, Zooza will not be able to automatically match payments made by your clients' bank transfers."

For GoCardless setup details, see GoCardless Integration FAQ.

Additional billing profiles

If you operate multiple companies or brands, you can create additional billing profiles. Each profile has its own company details, IBAN, and invoice numbering.

Other billing profiles section

Click Add to create a new profile. The form is the same as the default profile.

Assigning a billing profile to a programme

Each programme can use a specific billing profile for invoicing. To assign one:

  1. Open the programme and go to Settings.
  2. Open the Price and Payment tile.
  3. In the Invoicing section, select the desired Invoice profile from the dropdown.
  4. Click Save.

Price and Payment tile showing billing profile

Invoicing section with invoice profile dropdown

If no profile is selected, the default billing profile is used.

Invoice overview

All generated invoices are listed under PaymentsInvoices in the left menu.

Invoices list with date filter

You can filter invoices by date range and see the creation date, paid amount, outstanding amount, and a link to download the PDF. For full details on the invoices screen, see Invoices.

Manual invoice generation

You can generate an invoice manually from any booking, regardless of whether automatic invoicing is enabled.

  1. Open the booking detail.
  2. Find the Payments tile — it shows the current payment status and balance.

Payments tile on a booking

  1. Click Show payments to expand the payment details.
  2. In the Invoices section on the right, select the Invoice profile to use.
  3. Click Generate invoice.

Generate invoice button on booking detail

The invoice is generated immediately and sent to the client's email address. The client's attendance record is included in the invoice.

After generation, the invoice appears below the button with its timestamp, invoice number, and a link to the PDF.

Generated invoice shown on booking detail

Editing a generated invoice

After an invoice is generated, you can edit it by clicking the pencil icon next to the invoice PDF link. The edit dialog lets you change:

Edit invoice dialog

  • Period Start / Period End — the billing period covered by the invoice.
  • Invoice date — the date printed on the invoice.
  • Payment method — how the client paid (e.g., Transfer payment, Cash, Card).
  • Use default item description — uncheck to write a custom description.
  • Send invoice to client via email — check to re-send the updated invoice.
  • Item description — custom text for the invoice line item (e.g., the programme name or a custom note).

Note: Editing an invoice does not change the underlying payment. It only changes what appears on the invoice document.

Invoice numbering and item descriptions

Invoice numbers are generated sequentially per billing profile. The format and starting number are configured in the billing profile settings.

Custom invoice number template

For invoice engines that support Zooza-generated numbers (Faktury Online, Fakturoid, Zooza Invoice, Xero), you can define a template that controls the exact format of the invoice number — for example aligning it with the client's variable symbol or making it human-readable.

Available tags:

TagResolves toExample
{VS}Variable symbol (booking reference number)12345
{YYYY}4-digit year2026
{YY}2-digit year26
{MM}2-digit month, zero-padded05
{DD}2-digit day, zero-padded09
{N}Sequential invoice number per profile, zero-padded to 4 digits0042

Example templates:

TemplateResult
{VS}-{DD}-{MM}-{YYYY}12345-09-05-2026
ZOOZA-{VS}ZOOZA-12345
INV-{YYYY}-{VS}INV-2026-12345
{VS}-{N}12345-0042

Set the template in the Invoice profile settings under the invoice number / series field. If you leave the field empty, Zooza uses sequential numbering.

Note: This template feature applies only to the four engines listed above. For Számlázz.hu, Smart_Bill, Oblio, and ABRA Flexi, the field is interpreted as a literal prefix or series identifier, not a template — those engines manage number formatting on their own side.

For the invoice item description, you can use dynamic tags to automatically insert programme-specific information (e.g., programme name, billing period). This is useful when generating invoices across many programmes — each invoice will contain the correct programme details without manual editing.

Zooza Invoice — templates and branding

Applies to: Invoice Profiles using the Zooza Invoice engine only.

When your Invoice Profile uses Zooza Invoice, you can choose a visual template and set brand colours and fonts. The invoice preview shows your actual company logo, name, address, bank details, and QR code alongside mock buyer data — so you see exactly what clients will receive.

Choosing a template

Three templates are available:

TemplateDescription
ClassicTraditional invoice with blue accents and clear structure.
MinimalClean white design with thin rules and subtle typography.
ModernBold coloured header, card layout, alternating row colours.

To select a template:

  1. Go to Settings → Billing and open the Invoice Profile.
  2. In the Invoice Engine section, find Template.
  3. Choose a template from the list.
  4. Click Preview to see a rendered preview with your company branding.
  5. Click Save.

Setting brand colour and font

Below the template selector:

SettingOptions
Primary colourAny hex colour (e.g. #e63946). Applied to headers, accents, and highlights.
FontDefault (Inter / Segoe UI), Serif (Georgia / Times), Mono (JetBrains Mono / Courier).

Changes are reflected immediately in the preview.

Preview

Click Preview at any point to generate a full-page preview. The preview uses:

  • Your real company name, address, tax IDs, logo, IBAN, and QR code.
  • Translated mock buyer data and sample line items (no real client data is used).

This means the preview is an accurate representation of what your invoices will look like — including your logo and bank details.

Per-invoice template override

If you need a specific invoice to use a different template, set template_id in the invoice's engine_data at generation time. The company default applies to all invoices unless overridden.

Multi-line invoices

By default, Zooza generates a single-line invoice — one line item with the total amount.

Multi-line invoices break the amount into separate lines per transaction type — for example: Course Payment, Registration Fee, Discount. Each line can have its own label and, if you use Xero or ABRA Flexi, its own account code.

Where to configure

Open an Invoice Profile (/#settings/invoice_profiles) and scroll to the Invoice Line Types section at the bottom of the profile.

Note: Settings here override the company-wide defaults for this profile only.

Invoice Line Types section in an Invoice Profile

How to activate multi-line

Multi-line activates automatically as soon as at least one transaction type is enabled. There is no separate on/off toggle.

  1. Open the Invoice Profile at /#settings/invoice_profiles.
  2. Scroll to Invoice Line Types.
  3. Select the tab — Programmes (course registrations) or Products (product orders).
  4. Check the transaction types you want to show as separate lines (e.g. Course Payment, Registration Fee, Discount).
  5. Optionally set a Custom label for each line. You can use dynamic tags — for example *|COURSE_NAME|* inserts the programme name automatically.
  6. Click Save.

The status banner confirms when multi-line is active: "Multi-line invoicing is active. Each enabled type will appear as a separate line on the invoice."

To return to single-line, uncheck all transaction types and save.

Account codes (Xero and ABRA Flexi)

If your Invoice Profile uses Xero or ABRA Flexi, each transaction type also has an account code field:

  • XeroRevenue Account Code (e.g. 260 - Class Sales). Use Sync accounts to pull the latest accounts from Xero.
  • ABRA FlexiStředisko (cost centre) and Činnost (activity code).

Account codes are optional. If left empty, the profile-level default account is used.

Transaction types

TypeDescription
Course PaymentThe main payment amount for a course registration
Registration FeeOne-time fee charged at registration
DiscountAny discount applied to the booking
CreditCredit applied from a previous overpayment

Unchecked types are merged into the main line (or into the nearest checked parent if they are a correction type).

Correction types and merging

Each payment type has a corresponding correction type (e.g. Course Payment Correction). If a correction type is not in your mapping, its amount is automatically merged into the parent line — the result appears as a single net amount. If you add the correction type to the mapping, it appears as its own negative line.

How clients access their invoices

Clients can find their invoices in two places:

  1. Client Profile → Payments — invoices generated for their bookings appear here as downloadable PDF links. The client does not need to contact you — they can download invoices themselves at any time.
  2. Email — when an invoice is generated (automatically or manually), Zooza sends it to the client's email address. The invoice is attached as a PDF to the email.

Why a client says they cannot see their invoice

SituationCauseFix
Invoice not in Client ProfileInvoice was not yet generatedGenerate it manually from the booking detail or enable automatic generation
Client received email but no attachmentInvoice email may have been the payment notification, not the invoice emailCheck whether automatic invoice generation is enabled and which trigger fired
Invoice is in the profile but client cannot find itClient is looking in the wrong sectionTell them: Client Profile → open the booking → Payments → Invoices
Invoice shows in admin but client cannot see itInvoice may be assigned to a different email addressCheck the email address on the booking vs. the email the client uses to log in

Sending an invoice manually to a client

To re-send or send an invoice that was not delivered automatically:

  1. Open the booking detail.
  2. In the Payments tile, click Show payments.
  3. Find the invoice in the Invoices section.
  4. Click the pencil icon to edit it.
  5. Check Send invoice to client via email and save.

The invoice is emailed to the client immediately.