EN 16931 is the European standard that says what data an electronic invoice must contain. UBL and CII are the two technical languages used to write it down. Factur-X, ZUGFeRD, XRechnung, Peppol BIS 3.0 and FA(3) are national or network flavours built on top. You do not need to learn any of them by heart: you need to know which one your country asks for and make sure your invoice data is complete enough to fill it.
One standard, several dialects
Think of EN 16931 as a vocabulary list: invoice number, issue date, seller VAT number, buyer VAT number, line items, tax category, payable amount. Every compliant format carries the same items.
UBL and CII are two ways of writing that vocabulary in XML. A national profile then adds its own rules: which optional fields are required, which codes are allowed, how identifiers are built.
| Format | Used in | Technical base | Human-readable? |
| Peppol BIS Billing 3.0 | Belgium, Peppol network across Europe | UBL | no, XML only |
| XRechnung | Germany, public sector and B2B | UBL or CII | no, XML only |
| ZUGFeRD | Germany, B2B | CII inside a PDF | yes, PDF with embedded XML |
| Factur-X | France, same specification family as ZUGFeRD | CII inside a PDF | yes, PDF with embedded XML |
| FA(3) | Poland, KSeF | national XML schema | no, XML only |
| FatturaPA | Italy, SdI | national XML schema | no, XML only |
Hybrid formats: why stores like them
Factur-X and ZUGFeRD put the XML inside a normal PDF. Your customer opens the file and sees the invoice they always saw; their software reads the data underneath. Nothing changes in how the document looks, so there are fewer questions from customers and fewer template arguments internally.
Pure XML formats are lighter and easier for machines, but nobody reads them without a viewer. Where they are required, the platform or the provider usually generates a visual preview.

What your store has to supply
The format is not the hard part. The data is. Whichever flavour you end up sending, the same fields decide whether the invoice validates.
- Seller and buyer identifiers, including VAT numbers for B2B.
- Complete addresses in separate fields.
- Line items with quantity, unit, net price and tax rate.
- A tax category code for every line, including exemptions and reverse charge, with the reason.
- Totals that reconcile: net, tax, gross, rounding.
- Invoice number, issue date, due date and payment reference.
If all of that is present and consistent, converting between formats is a technical task for your provider. If something is missing, no format will save you.
Where Flexible Invoices fits
Flexible Invoices builds the document from WooCommerce order data, validates EU VAT numbers in VIES, applies reverse charge and OSS rules and keeps numbering sequential. That is the data layer every format depends on. For UBL output, the PEPPOL for Flexible Invoices PRO add-on generates invoices in the Peppol standard and lets you download the XML file from the invoice edit screen.
Want UBL output without writing a line of XML? PEPPOL for Flexible Invoices PRO produces it from your existing invoices, so the format stops being your problem.
FAQ
- Is EN 16931 a file format? No. It is a semantic standard that defines the content. UBL and CII are the syntaxes used to express it.
- Are Factur-X and ZUGFeRD the same thing? They share the same specification family. ZUGFeRD is the German name, Factur-X the French one.
- Can one invoice satisfy several countries? Often yes, because the content overlaps. The routing and the profile differ more than the data.
- Do I need to store the XML? Yes. The structured file is the invoice, so it belongs in your archive along with everything else your tax rules require.
- Which format should I choose? The one your country or your customer requires. If you have a choice in Germany, ask your main business customers whether they prefer XRechnung or ZUGFeRD.
- What is the difference between a format and a network? A format is what the invoice is written in. A network, such as Peppol, is how it travels.
PEPPOL for Flexible Invoices PRO £29
Simple generation of invoices in the Peppol standard directly from WooCommerce. Download ready-to-use UBL (XML) files from the invoice edit screen, collect Peppol data during checkout, and meet B2B e-invoicing requirements without additional systems.
Add to cart or View Details
