Create an invoice for European Union
Where is this invoice for?
Invoice rules are set country by country. Tell us where you are billing and Stampbench asks only for the details that apply there — and produces the right file automatically. You can change it later.
Billing somewhere else? See exactly what Stampbench covers, country by country.
Or start from an example
Realistic data for fictional companies — nothing here belongs to a real business. Every example is a working invoice you can generate and validate straight away.
What Stampbench does for European Union
This is where Stampbench is deepest. Every invoice is checked against EN 16931-1:2017, the semantic standard the member-state formats are customisations of, and both syntaxes are read: UBL 2.1 and CII, the syntax ZUGFeRD and Factur-X carry. One national customisation is implemented in full — Germany’s XRechnung 3.0. The others are not, and are listed as such rather than implied.
Formats available here
UBL 2.1 declaring the plain EN 16931 customization id, validated against the 40 core rules and the full VAT category families. The right choice whenever a customer or their portal asks for an EN 16931-compliant invoice and no national profile applies.
UBL 2.1 carrying the XRechnung 3.0 customization id, validated against the European core plus the 16 German BR-DE rules. This is the deepest coverage in the product.
An ordinary business invoice: the same structured model, the same exact arithmetic, a printable document and canonical JSON — but no national e-invoicing standard is claimed and no compliance verdict is given, because Stampbench has no ruleset for it. Use this where a plain invoice is what the customer wants.
Not a structured e-invoicing standard. Stampbench will check the totals arithmetic but cannot tell you whether the document satisfies any legal requirement.
Stampbench reads and validates CII, the syntax inside ZUGFeRD and Factur-X, and the playground handles those documents today. It cannot write them: the engine has a UBL writer and no CII writer.
No CII writer exists in @stampbench/core. Validation of ZUGFeRD / Factur-X documents you already have works today — use the playground.
The Italian national format is neither generated nor validated by Stampbench today.
No FatturaPA schema or ruleset in the engine.
The Peppol BIS rules are a further customisation on top of EN 16931, and Stampbench does not implement them. Generated UBL carries the Peppol billing process id (BT-23) because XRechnung requires it, which is not the same thing as being Peppol BIS validated.
No Peppol BIS ruleset and no network transmission. Neither is on this page.
What else Stampbench covers for European Union·API documentation·Validate an invoice you already have