# E-invoice generator

Source: https://xmlvalid.com/e-invoice-generator

> Fill in the seller, the buyer and the lines, or open an invoice you have, and get an XRechnung or Peppol BIS invoice as XML, or an XRechnung, ZUGFeRD or French Factur-X invoice as a PDF with the XML inside, for a seller anywhere in the euro area. Before you download it, it is checked with the same schema and business rules as in our validator: EN 16931 and the rules of KoSIT, Factur-X, Peppol or the French reform. Everything runs in your browser

## What it writes

One form, five formats, all on the EN 16931 model:

- **XRechnung 3.0 in UBL**: the German e-invoice for the public sector and one of the formats of the German B2B mandate, as an Invoice or a CreditNote.
- **XRechnung 3.0 in CII**: the same content in UN/CEFACT Cross Industry Invoice syntax. Either one also comes as a PDF that carries it as xrechnung.xml, ZUGFeRD's XRECHNUNG profile.
- **ZUGFeRD / Factur-X, profile EN 16931**: a PDF/A-3 file people read, with the CII invoice attached as factur-x.xml for their software; the XML alone too.
- **Peppol BIS Billing 3.0**: the invoice of the Peppol network, in UBL.
- **France CTC**: the French e-invoice of the 2026 reform, as Factur-X or UBL, with the billing mode and the legal mentions FNFE-MPE's BR-FR rules ask for.

Discounts and charges on the whole invoice (a loyalty discount, shipping), a cash discount (Skonto, written the way XRechnung asks), amounts already paid and attached files such as a timesheet go in as well; your logo and a QR code for paying it from a banking app (GiroCode) go on the PDF, in the seller's language or any of 14 others. An invoice you already have, as XML or a ZUGFeRD PDF, opens back into the form, to correct it, credit it or send it again; one you have just created is credited with **Credit this invoice**.

Amounts are worked out the way the rules check them: each line is quantity times net price, rounded to the cent; the VAT breakdown has one group per category and rate, discounts and charges included, its tax rounded to the cent; the totals add up from there.

## Sellers across the euro area

The seller's country sets up the form: Germany, Austria, Belgium, the Netherlands, Luxembourg, France, Finland, Ireland, Estonia, Latvia, Lithuania, Slovakia, Slovenia, Cyprus or Malta. It brings

- its **VAT rates**, the standard one first, and its **language** for the PDF and the notes on the invoice, which you can change;
- the **electronic address** its businesses use in Peppol: the VAT number in Germany, the enterprise number in Belgium, the KvK number in the Netherlands, the OVT code in Finland, the SIREN in France;
- checks of the **VAT ID** and the **register number** in the country's form, so a typo is caught before your customer's software rejects the invoice;
- its **small business scheme**, with the exemption worded as its law asks, such as "TVA non applicable, article 293 B du CGI" in France;
- **payment references** with check digits, made from the invoice number: the Belgian structured communication, the Finnish and Estonian reference number and the international RF reference.

The buyer's country sets the buyer's address scheme and VAT ID check. In France, invoices between businesses travel through an approved platform (plateforme agréée): for large and mid-sized businesses since 1 September 2026, for the others from 1 September 2027. A French seller gets the France CTC format, checked with the BR-FR rules the platforms apply, as a file to upload to their platform. Sellers in Italy, Spain, Portugal, Croatia and Greece send or report their invoices through the tax authority's own system, often in a national format the generator doesn't write; it says so and links what applies there.

## Checked before you download it

Create invoice writes the XML and runs it through the validator's engine in your browser: the UBL 2.1 or CII schema first, then the Schematron rules of the profile, at the levels the KoSIT validator uses. You get the file only with the result next to it, every finding linked to its rule and marked on its field, and a preview of its PDF, and of an XRechnung as KoSIT's visualization shows it. Download PDF puts the XML inside the PDF the way ZUGFeRD defines it: in the EN 16931 profile for ZUGFeRD and France CTC, in the XRECHNUNG profile for XRechnung (written in CII for the PDF when you chose UBL, and checked too). Peppol invoices travel as XML alone, so theirs is a copy to read. The same checks run in the [validator](https://xmlvalid.com/validate) for invoices from anywhere else, ZUGFeRD PDFs included.

## VAT categories

Each line has a VAT category. The standard category takes the rates of the seller's country (19 % or 7 % in Germany), or any rate you type in. The others are taxed at 0 % and carry an exemption reason on the invoice, filled in for you in the invoice's language and open to change:

- **Exempt**: for example a small business scheme, such as § 19 UStG (Kleinunternehmer) in Germany.
- **Reverse charge**: the buyer owes the VAT. The buyer's VAT ID is required.
- **Intra-community supply**: goods to a business in another EU country, with the buyer's VAT ID and the delivery address.
- **Export**: goods leaving the EU.
- **Zero rated**: taxable at 0 %.

Which category applies is a tax question: the generator writes what you choose, it doesn't decide it.

## What XRechnung asks for

XRechnung needs more than EN 16931 alone, and the form asks for it when XRechnung is chosen:

- a **buyer reference** (BT-10): the Leitweg-ID for a public authority, otherwise the reference your customer gave you;
- a **seller contact** with name, phone and email;
- **electronic addresses** of the seller and the buyer, such as email addresses;
- **payment instructions**: an IBAN for a credit transfer, or for a SEPA direct debit your creditor ID, the customer's mandate reference and IBAN (kept with the customer for the next invoice).

Peppol takes no email address as an electronic address: use the identifier registered in the network, such as a German VAT number, a Leitweg-ID, your country's company number or a GLN.

## Your data

Nothing you type is sent anywhere. The XML and the PDF are written and checked in your browser; only the schema, rule and font files come from this site. While **Save in this browser** is ticked, the form is kept in your browser as you type, so a reload or a closed tab loses nothing. **New invoice** starts the next one with the same seller and payment details and the number after the last invoice you created, whose customers can be picked again under **Saved customers** and whose lines come back with their price when you type their name; **Repeat next month** makes the same invoice for the following month. Attached files are never kept. Untick it on a shared computer: what was saved is removed at once. As all of it lives in this one browser, **Backup** writes it to a file, to keep it safe or take it to another browser or computer.

The generator writes an invoice, the document that counts for tax. The number it suggests is only that, and it keeps no archive or copy: the invoices themselves stay with you and your bookkeeping. To read an invoice, open it in the [e-invoice viewer](https://xmlvalid.com/tools/e-invoice-viewer).

## Questions

### Is the generator free?

Yes, without an account or a limit. It runs in your browser.

### Can it make a ZUGFeRD or Factur-X PDF?

Yes: choose ZUGFeRD / Factur-X (EN 16931) and download the PDF. It is a PDF/A-3 file with the invoice laid out on A4 pages and the checked CII XML attached as factur-x.xml, in the EN 16931 profile (COMFORT in ZUGFeRD).

### Can I get an XRechnung as a PDF?

Yes: Download PDF gives a PDF/A-3 file with the XRechnung inside as xrechnung.xml, the XRECHNUNG profile of ZUGFeRD, which German invoicing software reads. A public authority's portal (ZRE, OZG-RE) takes the XML itself, so send it that.

### Can I put my logo on the invoice?

Yes, on the PDF: Add a logo in the seller's box takes a PNG, JPEG, SVG or WebP image and keeps it with your seller details in this browser. No e-invoice format has a field for a logo, so the XML, which software reads, carries none.

### Does the PDF have a QR code for payment?

Yes, for a SEPA credit transfer in euros: the GiroCode (EPC QR code) beside the payment details holds your IBAN, the amount due and the reference, so your customer pays by scanning it in their banking app. Untick QR code for payment under Payment to leave it out.

### Which countries does it work for?

Sellers in Germany, Austria, Belgium, the Netherlands, Luxembourg, France, Finland, Ireland, Estonia, Latvia, Lithuania, Slovakia, Slovenia, Cyprus and Malta. Choose the seller's country and the form takes its VAT rates, language, Peppol address scheme, small business scheme and payment references. A seller elsewhere can still write an invoice, with the rates typed in.

### Does it work for the French e-invoicing reform?

Yes: for a French seller the form writes France CTC, a Factur-X PDF or UBL file with the SIREN, the billing mode (goods, services or both) and the three legal mentions on late payment, the 40 euro recovery indemnity and early payment discount, and checks it with FNFE-MPE's BR-FR rules, which the approved platforms apply. Upload it to your platform: since September 2026 invoices between French businesses travel through one, for large and mid-sized businesses first.

### Can I write the invoice in English for a customer abroad?

Yes: choose the language at the top of the form, from German, English, French, Dutch, Finnish, Swedish, Estonian, Latvian, Lithuanian, Slovak, Slovenian, Italian, Spanish and Portuguese. The PDF's headings and the notes the invoice carries, such as reverse charge, follow it; the lines read as you wrote them.

### Can I move my details to another computer?

Yes: Backup, then Export my data writes your seller and payment details, logo, saved customers, items and last invoice number to a JSON file; Import a backup on the other computer takes them back. Nothing goes through our server.

### Can I bill the same customer every month?

Yes: after you create an invoice, Repeat next month makes the same one with the next number, today's date and the delivery date or billing period a month later. The customers you invoiced also stay under Saved customers in this browser.

### Can I change an invoice I already have?

Yes: drop it on Open an invoice at the top of the page, as XML or PDF, and the form fills in with it, in the invoice's format. What the form has no field for, such as discounts on single lines, is named so you can check it.

### I am a small business with only a tax number. Does that work?

Yes. Tick Small business under the seller (§ 19 UStG in Germany, the franchise en base in France, the KOR in the Netherlands): every line is then exempt and the invoice states the exemption as the country's law words it. Give your tax number and leave the VAT ID empty: without a VAT ID or register number, the tax number also identifies you as the seller, which the rules ask for.

### Does a valid file mean a correct invoice?

It means the file meets the schema and the business rules: totals add up, required fields are there, codes are known. Whether the VAT category, the rates and the amounts are right for your business is for you or your tax adviser to say.

### What is a Leitweg-ID?

The routing number of a German public authority, which it gives you for its invoices; it goes in the buyer reference. For a business customer, use the reference they gave you, or their order number.

### Which units can I use?

Piece, unit, hour, day, week, month, year, minute, lump sum, set and common weights, lengths and volumes, written with their UN/ECE codes (H87, HUR, LS and so on).

  ### Other tools

- [E-invoice viewer](https://xmlvalid.com/tools/e-invoice-viewer): Read an XRechnung, ZUGFeRD, Factur-X or Peppol invoice as a document, and save it as a PDF.
- [XML validator](https://xmlvalid.com/validate): check a document against XSD, DTD, RelaxNG or Schematron, up to 1 GB.
