Invoicing
Create professional Swiss invoices with QR code.
Overview
Invoicing in Slonge Billing offers:
- Swiss QR Invoice: Automatically generated QR payment part
- PDF Export: Professional invoices as PDF
- Email Delivery: Send directly to clients
- Scheduling: Plan invoices in advance
- Status Tracking: From draft to paid
Permissions
| Role | View Invoices | Manage Invoices |
|---|---|---|
| Employee | ❌ | ❌ |
| Accountant | ✅ | ✅ |
| Administrator | ✅ | ✅ |
Creating an Invoice
Step by Step
- Navigate to Invoices
- Click on New Invoice
- Select:
- Project: The project to bill
- Time Entries: Select unbilled hours
- Material Costs: Select unbilled materials
- Review the preview
- Click Create Invoice
Adding line items from products
In the Positions section there are two ways to add a line item:
- Add Position – inserts a blank row to fill in manually.
- Pick from Products – opens a dialog listing all products and services from your product catalog. You can search by name, SKU, or description, multi-select, and confirm to add them as line items. Description, unit, and unit price are taken directly from the product — quantity defaults to 1 and can be adjusted.
The product picker is available both when creating a new invoice and when editing an existing draft invoice.
Invoice Details
| Field | Description |
|---|---|
| Invoice Number | Automatically generated (prefix + sequential) |
| Invoice Date | Date of invoicing |
| Due Date | Calculated from payment terms (settings) |
| Amount | Sum of all line items |
| Notes | Additional notes on the invoice |
Recording a Paid Invoice
For orders that have already been paid (e.g. via PayPal), you can record an invoice as paid straight away.
- On the invoice overview, click Bezahlte Rechnung erfassen (Record paid invoice).
- Enter the customer and line items as for a normal invoice.
- The Already paid option is enabled. Under Paid via, enter the payment method (e.g. PayPal).
- Save the invoice.
The invoice is recorded as paid immediately. It has no QR payment slip and goes through no dunning process. It appears in the main list under Alle (All) and Bezahlt (Paid) with the Bezahlt badge (or Verbucht once it has been booked to the journal). The document shows a "Paid on … via …" note.
Paid vs. Booked (Bezahlt vs. Verbucht)
Every paid invoice — whether marked paid after dunning or recorded as already-paid — carries one of two badges:
- Bezahlt (blue): The payment is recorded, but the invoice has not been booked to the accounting journal yet.
- Verbucht (green): Journal lines exist for this invoice. In the status timeline at the top of the invoice, the Verbucht step turns green after Bezahlt.
Invoice Status
| Status | Meaning | Next Action |
|---|---|---|
| draft | Draft | Edit or send |
| scheduled | Scheduled for sending | Wait for send date |
| sent | Sent to client | Wait for payment |
| paid | Paid | Completed |
| overdue | Overdue | Dunning is triggered automatically (see Dunning) |
Changing Status
- Open the invoice
- Click on the status action (e.g., "Mark as paid")
Swiss QR Invoice
Slonge Billing automatically generates the Swiss QR payment part:
Requirements
In Settings must be configured:
- IBAN or QR-IBAN: Your bank details
- Company Address: Complete address
Reference Types
| Type | Description |
|---|---|
| NON | No reference |
| QRR | QR reference (with QR-IBAN) |
| SCOR | Creditor Reference (with standard IBAN) |
QR Code
The QR code contains:
- Recipient data (your company)
- Amount and currency
- Reference number
- Payee
PDF Export
Single Invoice
- Open the invoice
- Click on Download PDF
PDF Content
The PDF contains:
- Header with logo and company data
- Client address
- Invoice details
- Line items (time + materials)
- Total amount incl. VAT
- QR payment part (bottom)
Email Delivery
Sending an Invoice
- Open the invoice (status: draft or scheduled)
- Click on Send by Email
- Verify the recipient email
- Click Send
The invoice is sent as a PDF attachment.
Requirements
- Client has an email address
- Email settings are configured (system level)
Invoice Scheduling
Automatic Billing
Schedule regular invoices:
- Create the invoice as a draft
- Click on Schedule
- Select the send date
- The invoice is automatically sent
Billing Schedule (Settings)
In settings you can define:
- End of Month: Invoices at month end
- Bi-weekly: Every 14 days
- Weekly: Every week
- Custom: Your own schedule
Related Features
- Projects – Time entries and material costs
- Accounting – Book invoices
- Settings – Invoice options
Frequently Asked Questions
Can I cancel a sent invoice?
Change the status to "draft" and create a new version or credit note.
How do I change the invoice prefix?
Under Settings > Invoice Options you can adjust the prefix.
Why is the QR code missing?
Check if IBAN and company address are complete in settings.
Can I create invoices in other currencies?
Yes, the currency is taken from the project. Supported: CHF, EUR, USD.
How do I send a reminder?
Reminders are triggered automatically as soon as an invoice goes overdue. Depending on the dunning mode (auto or semi_auto) they are sent directly or queued for approval. Details: Dunning.
UBL E-Invoice (Peppol BIS Billing 3.0)
The invoice detail page now offers an "Export e-invoice" download for a Peppol BIS Billing 3.0–conformant UBL 2.1 XML file. The format is compatible with Swiss federal procurement, cantonal platforms, and the EU EN 16931 standard.
The UBL file includes the Swiss QR reference and payment IBAN from your settings (encoded in cac:PaymentMeans as cbc:PaymentID and cac:PayeeFinancialAccount/cbc:ID respectively). You can hand it to a Peppol Access Point manually or pass it into accounting software.
Current limitations:
- CHF only — other currencies will follow once Swiss QR-bill supports them.
- slonge validates each invoice against ~40 critical SLONGE-CHECK rules (EN 16931, Peppol BIS 3.0, Swiss-specific), but not against the full Peppol Schematron set (~150 rules) and not against XML structural validity (XSD). Full Schematron ships with Phase 3 (Peppol Access Point integration) once a certified pipeline is required.
- Automatic delivery via Peppol providers (Swisscom, PostFinance, io-market) is not yet enabled — it ships in Phase 3 of the compliance roadmap.
Peppol validation
Every UBL generation runs through the SLONGE-CHECK validator before the file is downloaded, auto-attached, or surfaced via the API. The UBL card on the invoice detail page shows:
- Green — "Critical Peppol checks passed": The invoice satisfies the ~40 critical rules. Safe to download / send.
- Red — "N Peppol validation errors": Expand the list to see one row per failing rule (e.g., missing customer country, IBAN check-digit failure, QR-IBAN mismatch). The primary download button is disabled.
Download anyway (override): If your role is Accountant or Administrator, a small "Download anyway" link appears beneath the red error list. Clicking it opens a confirmation; on confirm, the XML is downloaded with an X-Peppol-Validation: overridden header and the action is recorded as invoice.ubl_validation_overridden in the hash-chained compliance ledger (distinct from a regular generation).
Auto-attach on send: if validation fails during the send pipeline, the email goes out PDF-only — never with broken XML. The validation cause is captured as invoice.ubl_validation_failed in the ledger so an audit can trace why no UBL was attached.
Also available through the CLI and MCP server:
# normal export (exits 1 on validation failure with error list on stderr)
slonge invoice ubl <id> -o invoice.xml
# validation-only check (no XML, no ledger entry)
slonge invoice ubl-validate <id>
# download despite validation errors (Accountant/Admin role required;
# recorded as invoice.ubl_validation_overridden in the compliance ledger)
slonge invoice ubl <id> -o invoice.xml --force
Each export is registered as a DocumentArtifact with a SHA-256 digest and recorded in the compliance ledger as an invoice.ubl_generated event.
Auto-attach on send
Instead of downloading the UBL manually and forwarding it, you can have the XML auto-attached to every outbound invoice email: enable "Auto-attach UBL XML e-invoice" under Settings → Invoice Options (details: Settings → Invoice Options).