Finalize invoice

Turn a draft into a final invoice: a number is assigned, the PDF generated and placed in the S3 archive, then immutable.

Web
ChöreChor öffnenVerwaltungKassenbuchRechnungenRechnungFinalisieren

Diese Funktion ist nur im Web verfügbar.

Permission required: Cashbook › Edit

What is it?

Finalizing is the decisive step where a draft becomes a binding invoice. From then on it is legally binding and immutable under GoBD.

How to finalize

  1. Open the draft in the detail view.
  2. Click "Finalize" in the actions column.
  3. Confirm in the warning dialog — no going back after that.
  4. Wait a few seconds until the PDF is rendered.
  5. Download the PDF and send it by email to the customer.

What happens technically

  1. Draw a number — atomically from your choir's number sequence (see invoice-numbering).
  2. Set status to "final", lock fields.
  3. Render PDF with the selected template, incl. seller / recipient / line-item data.
  4. Generate ZUGFeRD/XRechnung XML (if format ≠ "None").
  5. Place PDF + XML on S3 under ensembles/{id}/invoices/{year}/{number}.pdf.
  6. Security audit log entry for compliance (CRA + GoBD).

Required fields

Format Required fields
None (PDF only) Recipient name, at least 1 line item
ZUGFeRD / XRechnung + recipient address (street, postal code, city, country), seller address

If required fields are missing, Chorilo blocks finalization with a concrete error message.

What you can no longer do afterwards

  • Change recipient
  • Change line items
  • Change date
  • Change notes
  • Delete invoice

What you can still do

  • Download PDF/XML, any number of times
  • Cancel via credit note (see invoice-cancel)
  • Link a cashbook entry for incoming payment

Permission

You need cashbook.edit.

Frequently asked questions

What does finalizing exactly mean?
Three things happen in one go: 1) the next invoice number is drawn, 2) the PDF is rendered (incl. ZUGFeRD/XRechnung XML if enabled), 3) PDF + XML are placed on S3. After that, all fields of the invoice are locked.
What if I find a mistake later?
Cancel instead of delete. You create a credit note that reverses the original invoice, and then create a new correct invoice. This procedure is GoBD-compliant and traceable in the audit log.
Why does it take a few seconds?
The PDF is rendered live with Chromium and uploaded to S3. For large invoices or with stationery backgrounds, this can take 5–10 seconds.
Which required fields must be filled?
Recipient name and at least one line item. For e-invoicing (ZUGFeRD/XRechnung) additionally the recipient address (street, postal code, city, country). Missing required fields are shown on finalization.
What happens if the PDF render fails?
The invoice stays in status Draft — no number is assigned, no PDF archived. You get an error message. Most common cause: Chromium not reachable or template invalid.
Can I finalize multiple invoices at once?
Not via the UI — each invoice is finalized individually. The number service is however atomic with a DB lock, parallel finalizations are guaranteed to get different numbers.
Where do I find the PDF after finalization?
On S3 under ensembles/{ensemble_id}/invoices/{year}/{number}.pdf. Via the UI you can download it directly via "Download PDF" on the detail page.

Still have a question? Ask the AI help bot.

Click the help button in the bottom right and ask your question.