Configuration Β· Article 3.9
Peppol participant ID and e-invoicing channels: when each is required
Peppol, KSeF, FatturaPA, Factur-X, FacturaE β the EU's e-invoicing networks each route invoices a different way. This article maps which channel applies in which country and what to fill in.
For most freelancer-client relationships, a PDF emailed to your client is enough β they open it, pay you, file it for their accountant, done. But three things change that: (1) the client is an EU public body, (2) the client's country has a national e-invoicing mandate that's now in force, or (3) the client has explicitly asked for a structured e-invoice. Each of those routes the document differently. This article maps when each channel is in play and what you need to fill in to use it.
Step by step
Decide if you actually need an e-invoice channel.
For B2C and most B2B email-only clients, the answer is no β leave the channel as
email_onlyand skip the rest. If your client has explicitly requested a Peppol/KSeF/FatturaPA delivery, or if their country's mandate is in force for them, continue.Fill your own profile fields if you'll send via Peppol.
In Settings β Company & tax:
peppol_participant_id, plus all structured-address fields (street, city, postal zone). Optional but enables your own incoming Peppol route.Open the client record.
Go to
/clients/{id}and clickEdit. Scroll to the E-invoicing section.Pick the channel.
Dropdown options: Email only, Peppol, KSeF (Poland), Factur-X via PDP (France), SdI (Italy), Auto-detect by country. Auto-detect picks Peppol/KSeF/PDP based on the client's country if a national mandate is in force; safer than guessing.
Fill the matching identifier.
Peppol β participant ID. KSeF β NIP. Factur-X PDP β SIRET. SdI β codice destinatario or PEC email.
Click Verify.
Clozo checks the receiver against the network's directory (Peppol SML, KSeF API, etc.) and shows green/yellow/red. Yellow ("unknown") usually means the network is reachable but the receiver isn't registered for the format you picked β try a different channel or fall back to email_only.
Save.
Future invoices to this client route via the configured channel; the proposal Timeline shows the routing event ("Sent via Peppol", "Submitted to KSeF β accepted").
Why this works this way
Mandatory EU e-invoicing is a moving target. The 2014/55/EU Directive made Peppol-receivable mandatory for public-sector buyers across the EU from 2019. National B2B mandates rolled out separately and at different speeds: Italy went first (FatturaPA mandatory for B2B since 2019, including for foreign suppliers); Poland is rolling out KSeF mandatory B2B in stages from 2026; France's reform was originally 2024, postponed to 2026-09 (large companies must receive) and 2026-09 (all sizes must issue) via the PDP-and-PPF model; Germany's mandatory B2B e-invoicing applies from 2027 in full; Belgium's mandatory B2B Peppol applies from 2026-01. The ViDA package (VAT in the Digital Age, Council adopted 2025-03) standardises B2B e-invoicing EU-wide from 2030. Clozo tracks these phase-in dates and surfaces a banner in Settings when a date affects you.
The channel field on each client (not on your profile) drives the routing. By default einvoice_channel = email_only β Clozo emails a PDF and you're done. To use a structured channel for a specific client:
- Peppol: fill the client's peppol_participant_id (e.g., 0208:0123456789 for a Belgian VAT number, 9930:DE123456789 for a German one). Clozo generates a Peppol BIS Billing 3.0 UBL document and routes it via the Peppol network. Receivers must be registered on the network β Clozo's Verify button checks the SML directory before each send.
- KSeF (PL): fill ksef_nip with the client's Polish tax ID (NIP). Clozo generates a FA(2) XML and pushes it to the KSeF API; the client retrieves it from KSeF, not from email.
- FatturaPA / SdI (IT): relies on the client's SdI codice destinatario (a 7-character routing code) or PEC email; Clozo currently exposes this via the email_only channel (full SdI integration is in development).
- Factur-X via PDP (FR): the document is a PDF with embedded XML (Factur-X / ZUGFeRD format), routed via an accredited Plateforme de DΓ©matΓ©rialisation Partenaire. Fill the client's siret (14 digits); Clozo sends the document to the PDP and the PDP routes via the PPF (Portail Public de Facturation) annuaire.
- FacturaE (ES): Spanish national XML, primarily for B2G. Email_only with the FacturaE XML attached works for most B2B; full FACe integration for public-body sending is in development.
Troubleshooting
Keep reading
Configuration
Company details for invoices: what shows up on the PDF
The Company & tax card holds the trading identity that prints on every invoice β company name, full postal address, VAT number, and country-specific identifiers like SIRET (FR) or Peppol participant ID.
Working with Clients
Adding a client: the four fields that matter
Name, email, country, and the B2B/B2C flag β those four fields turn an empty client record into one Clozo can build legally correct invoices from.
Working with Clients
Multi-language proposals: matching the client's language
Each proposal is rendered in exactly one language β pick the one your client prefers and Clozo translates everything legally significant: emails, PDF section headers, VAT disclaimers, payment terms.