Advanced: Invoicing & Quoting
For users who already know the basics β this guide covers document defaults and placeholders in depth, Swiss QR-bill configuration, the full dunning workflow, importing unbilled items from multiple sources, AI features, and how VAT registration affects all outbound documents.
Document Defaults and Placeholders
Document defaults (Organization β Document Defaults) are templates applied to every new invoice and offer. You configure one set per language (German, French, English), and the language of the document's client determines which set is used.
Available Placeholders
| Placeholder | Resolves to |
|---|---|
:client_name |
The client's display name |
:number |
The document number (e.g. INV-2026-000042) |
:amount |
The total amount due (formatted with CHF and 2 decimal places) |
:due_date |
The due date in the document's language locale |
:period |
For recurring invoices only β the service period covered |
Placeholders work in the greeting, intro text, notes, and terms & conditions fields. They do not work inside line-item descriptions.
Important: The system uses simple string replacement, not a template engine. If you type a placeholder that doesn't exist (e.g. :company_name), it will appear literally in the PDF. Test your defaults by creating a dummy invoice in preview mode.
Per-Document Overrides
Document defaults are a starting point, not a lock. Every individual invoice and offer lets you edit the greeting and intro text before sending. Overrides apply only to that document β they don't feed back into the defaults.
Swiss QR-Bill Setup
The Swiss QR-bill payment slip is automatically rendered in the PDF footer when the required fields are present on the invoice:
- Creditor IBAN β your company's bank IBAN, set in Organization β Banking.
- QR reference number β a 27-digit structured reference number in the Swiss QR format. Some banks generate these per invoice; others let you use a fixed ESR participant number and generate the reference locally.
- ESR participant number β required if your bank uses the ESR (orange slip) system. Set this in Organization β Banking.
If either the IBAN or the reference number is missing, the QR slip section is silently omitted from the PDF. This is the most common reason clients report receiving invoices "without the QR code."
Debtor address must be complete: The QR standard requires the client's full postal address (street, house number, postal code, city, country). If any field is missing on the client record, the QR slip renders but may fail bank processing. Review client addresses before your first QR-bill cycle.
Dunning Workflow Levels
When an invoice becomes overdue, the dunning process moves through levels:
| Level | Trigger | Action |
|---|---|---|
| Reminder (Erinnerung) | Manual, any time after due date | Polite payment reminder email; no surcharge |
| Level 1 (Mahnung 1) | Manual escalation from Reminder | Formal first notice; optional surcharge can be added as a line item |
| Level 2 (Mahnung 2) | Manual escalation from Level 1 | Second formal notice |
| Level 3 (Mahnung 3) | Manual escalation from Level 2 | Final notice before legal action |
All transitions are manual β you choose when to escalate. The system does not auto-escalate on a timer. Each step sends an email using the dunning template configured in Organization β Document Defaults β Dunning Texts.
Adding a dunning surcharge: At Level 1 and above, you can add a surcharge line item directly on the invoice before sending the dunning notice. The invoice must still be in a state that allows editing β if it's in sent status and you need to add a surcharge, you may need to void and re-issue, or add the surcharge as a separate invoice.
Dunning history is audited: Each escalation step is timestamped. If a client disputes ever receiving a reminder, the audit log shows exactly when each email was sent and to which address.
Importing Unbilled Items from Multiple Sources
A single invoice can aggregate unbilled items from all three sources simultaneously:
- Time entries (Add unbilled hours tab) β billable, payroll-unlocked hours from Zeiterfassung. Filter by project, employee, or date range. Grouping options: by project, by employee, or detailed (one row per entry).
- Expenses (Add unbilled expenses tab) β expenses with
billablestatus and not yet invoiced. Linked to the client via the expense's project. - Work report items (Add work-report items tab) β completed work reports for the client. Items are merged by product + unit, so ten identical line items from ten work reports become one aggregated row.
Ordering of operations: Import time entries first (they establish the project grouping), then add expenses, then work-report items. All tabs are independent β you can mix and match in any order, but starting with hours gives you the clearest line-item structure to build on.
Filtering tip: Use the date range filter on each tab. Importing "everything unbilled for this client since the beginning of time" on your first invoice is fine, but on subsequent invoices you want to narrow to the current billing period to avoid pulling in items accidentally left behind from a previous cycle.
AI Features: Suggest, Polish, Translate
The three AI buttons in the invoice and offer editor are available when the tenant has OpenAI credits enabled.
- Suggest items β describe the project and the AI proposes line items (product name, quantity, unit, price). Treat these as a starting draft; always review quantities and prices against your actual rates.
- Polish items β rewrites existing line-item descriptions to be clearer and more professional. The structure (quantity, price) is unchanged; only the text is refined.
- Translate items β translates all line-item descriptions to the document's language. Useful when you draft in German but the client's preferred language is French or English.
These features consume credits. Each call deducts from the tenant's OpenAI credit balance. If the button is greyed out, either credits are exhausted or the feature hasn't been enabled. Contact your admin or see Organization β Integrations to check the balance.
AI suggestions are non-destructive. They appear in a preview panel before being applied. You confirm each suggestion individually or accept all at once. Nothing changes until you click Apply.
VAT Handling: Registered vs. Non-Registered
VAT handling is controlled by a single toggle on the tenant: Organization β Settings β VAT registered.
| Setting | Effect |
|---|---|
| Registered | Line items can carry VAT rates (8.1%, 2.5%, 3.7%, 0%). VAT totals appear in the PDF. QR-bill includes VAT details. |
| Not registered | All line items are forced to 0% VAT regardless of what's set on the line item or product. The VAT block is hidden from the PDF. |
This toggle is evaluated at the moment of PDF generation. Changing it affects all documents generated from that point forward β already-sent invoices are unaffected.
Clients with different VAT situations: The VAT rate on an invoice is a single header-level rate applied to all items. If you supply a mix of standard-rated and reduced-rated goods on one invoice, you currently need separate invoices per VAT rate. Mixed-rate invoices are a planned future feature.
VAT refunds and credit notes: If you need to correct a VAT error on a sent invoice, void the invoice and create a new one β or issue a credit note. The credit note workflow is accessible from the invoice show page via Issue Credit Note.
Related Guides
- Modules-Rechnungsstellung β basic setup and daily workflow
- Advanced: WiederkehrendeRechnungen β recurring billing on top of this foundation
- Advanced: Spesenverwaltung β billable expense routing into invoices
Was this article helpful?
Still need help?
Contact support