E-Invoicing (Peppol)
Send legally structured electronic invoices to clients over the Peppol network, with automatic transmission on invoice creation and credit notes on voiding.
E-invoicing lets you transmit invoices electronically over the Peppol network instead of (or in addition to) emailing a PDF. The invoice flows as a structured document directly into your client's accounting system -- no manual data entry on their end. Itsy handles the formatting and routing; you just issue invoices as usual.
The feature uses Unimaze as the Peppol access point. Itsy sends the invoice data to Unimaze, which converts it to the Peppol BIS Billing 3.0 standard and delivers it to the recipient on the Peppol network.
E-invoicing requires the E-Invoicing feature flag to be enabled on your workspace.
How it works
E-invoicing plugs into two things you already use: invoices and actions.
- You configure your Peppol sender identity and Unimaze credentials in workspace settings
- You add Peppol participant IDs to the clients who receive e-invoices
- You create an E-Invoice action and bind it to invoice events
- From then on, issuing an invoice automatically transmits it over Peppol -- and voiding one automatically sends a credit note
Clients without a Peppol participant ID are silently skipped and continue receiving invoices by email. You do not need to separate your clients into two workflows.
Setting up e-invoicing
There are three things to configure: your sender identity, your clients' recipient IDs, and the automation that triggers transmission.
1. Workspace Peppol settings
Navigate to Settings > Workspace and open the Invoice section. Below the general invoice settings, a Peppol section appears when the E-Invoicing feature is active.
| Setting | What to enter |
|---|---|
| Enable Peppol e-invoice transmission | Turn this on to activate Peppol delivery |
| Sender scheme | The ISO 6523 scheme code for your identifier type (e.g., 0196 for Icelandic kennitala) |
| Sender identifier | Your agency's Peppol participant ID (e.g., your kennitala) |
| Unimaze username | Your Unimaze access point username |
| Unimaze password | Your Unimaze access point password (stored securely, never displayed after saving) |
These credentials are provided by Unimaze when you register as a Peppol sender. If you operate multiple brands through segments, each segment can override the sender identity and Unimaze credentials -- see Segment overrides.
2. Client Peppol participant IDs
Each client who should receive e-invoices needs a Peppol participant ID on their client record. Navigate to Orders > Clients, open the client, and fill in:
| Field | What to enter |
|---|---|
| Peppol Scheme | The scheme code for the client's identifier type (defaults to 0196) |
| Peppol Identifier | The client's Peppol participant ID |
These values are frozen onto each invoice at the time it is issued. Editing a client's Peppol ID later does not change invoices that have already been created.
3. Create an E-Invoice action
Navigate to Actions and create a new action with type E-Invoice. There is nothing to configure on the action itself -- the sender identity and credentials come from your workspace and segment settings, and the recipient is determined by each invoice's frozen client data.
Bind the action to these trigger events:
- Invoice Created -- Automatically transmits each new invoice over Peppol
- Invoice Voided -- Automatically sends a credit note when you void a previously transmitted invoice
Once both triggers are in place, e-invoicing runs automatically alongside your existing email-based invoice workflow.
Transmission statuses
Each transmitted invoice records a status that you can check from the invoice list:
| Status | What it means | What to do |
|---|---|---|
| Pending | Handed to the access point, waiting for confirmation | Wait. If it stays pending, you can re-send. |
| Submitted | The Peppol network accepted the invoice and took over delivery | Nothing -- this is the success state |
| Delivered | Reserved for confirmation from the recipient's access point. Reaching it requires polling Peppol, which this release does not do, so no transmission currently attains it. | Nothing -- treat Submitted as the final state |
| Rejected | The access point refused the document due to a data issue | Read the error details, fix the data, and re-send |
| Failed | The call to the access point did not complete (network error) | Re-send unchanged -- the document itself is fine |
| Cancelled | The transmission was cancelled before the access point accepted it | Nothing entered the Peppol network |
The key distinction: Rejected means the data is wrong (fix and re-send), while Failed means the connection broke (re-send as-is).
Once an invoice reaches Submitted status, it cannot be sent again. Peppol delivery is final and cannot be recalled. To reverse a submitted invoice, void it -- that triggers a credit note instead.
Viewing transmission status
On the order's Invoices tab, each invoice row shows a cloud-shaped badge indicating its Peppol status:
- Green cloud with checkmark -- Submitted or Delivered
- Yellow cloud -- Pending
- Red cloud -- Rejected or Failed
Click Peppol transmission from the invoice's action menu to open the transmission panel. The panel shows the full transmission history with timestamps and, for rejected transmissions, the specific error returned by the access point.
From the panel you can:
- Transmit now -- For invoices that have not been transmitted yet
- Re-send -- For invoices with Rejected, Failed, or Pending status
- Re-send credit note -- For credit notes that failed or were rejected
Credit notes
When you void an invoice that was previously transmitted over Peppol, the system automatically issues a credit note -- a reversal document that flows to the same recipient and correlates with the original invoice in their accounting system.
Credit notes are only issued when the original invoice was actually accepted by the access point (Submitted status). Voiding an invoice that was never transmitted or that failed is a local-only operation with no Peppol side effect.
Segment overrides
If your agency operates multiple brands through segments, each segment can override the workspace-level Peppol sender identity and Unimaze credentials. This lets different brands transmit under their own Peppol identity.
On each segment's edit form, you can set:
- Peppol sender scheme -- Overrides the workspace sender scheme
- Peppol sender identifier -- Overrides the workspace sender identifier
- Unimaze username and password -- Overrides the workspace credentials (both must be set together)
Any field left blank inherits from the workspace. When an invoice is transmitted, the system checks the order's segment first. If that segment has overrides, those values are used; otherwise the workspace values apply.
What gets transmitted
Each Peppol document includes:
- Invoice number, issue date, currency, and amounts
- Tax breakdown by VAT category
- Your agency's identity (company name, address, tax ID) from workspace invoice settings
- The client's identity (name, address, tax ID, Peppol participant ID) frozen from the invoice
- Payment terms and due date
- The invoice PDF as an attachment (including the bookings page when enabled)
The booking breakdown setting in your invoice configuration controls how much product detail the e-invoice discloses. Agencies that sell at net rates and want to protect their margin structure can withhold line-item pricing.
Troubleshooting
Setup issues
| Problem | Solution |
|---|---|
| No Peppol options appear anywhere | Ask support to enable the E-Invoicing feature flag on your workspace |
| "No Unimaze credentials configured" | Enter your Unimaze username and password in Settings > Workspace > Invoice |
| "No Peppol sender identifier configured" | Enter your sender scheme and identifier in Settings > Workspace > Invoice |
| Invoices are not being transmitted automatically | Create an E-Invoice action and bind it to the Invoice Created trigger event |
Invoice-specific issues
| Problem | Solution |
|---|---|
| A specific client's invoices are not transmitted | Check that the client has a Peppol scheme and identifier set on their record |
| "The invoice states neither a due date nor payment terms" | Void the invoice and re-issue it -- older invoices may predate payment terms support |
| "The invoice has no bill-to email address" | Add an email to the client record and re-issue the invoice (the email is frozen at issuance) |
| Rejection with validation errors | Read the error in the transmission panel, fix the data, and re-send |
How it connects
- Invoices -- E-invoicing adds a transmission status badge to each invoice and a Peppol transmission panel for viewing history and re-sending.
- Clients -- The client's Peppol scheme and identifier determine whether they receive e-invoices. These are frozen onto each invoice at issuance.
- Actions -- E-Invoice is an action type alongside Email and Webhook. Bind it to Invoice Created and Invoice Voided trigger events.
- Segments -- Segments can override the workspace Peppol sender identity and Unimaze credentials for multi-brand agencies.
- Workspace Settings -- Invoice company details (name, address, tax ID) are used as the supplier identity on every Peppol document.