E-Invoice Example: What a Real E-Invoice Looks Like
In short
An e-invoice is not a PDF but a structured file in XML format under EN 16931 – either a pure XRechnung (XML) or a ZUGFeRD (PDF/A-3 with embedded XML). It contains the same mandatory fields under §14 UStG as a paper invoice, but machine-readable. Below we show a concrete example with all data fields and the difference from a classic PDF.
Since 01.01.2025 every domestic business must be able to receive structured B2B e-invoices. Ever since, many ask: what does an e-invoice actually look like? The short answer: not what most people expect. An e-invoice is not a pretty PDF but, first and foremost, a machine-readable data file. In this guide we use a concrete example to show the structure of an XRechnung and a ZUGFeRD file – and how they differ from a normal PDF invoice.
What an E-Invoice Really Is
In the legal sense, an e-invoice is an invoice that is issued, transmitted and received in a structured electronic format and enables automatic, electronic processing. The relevant standard is the European norm EN 16931. A scanned paper document or a simple PDF expressly does not meet this definition – even if it is sent electronically by email.
In Germany, two formats are decisive:
- XRechnung: a pure XML file with no graphical representation. It consists solely of structured data fields.
- ZUGFeRD: a hybrid format. It is a PDF/A-3 file that looks like a normal invoice to the human eye but additionally contains an embedded XML file. ZUGFeRD profiles from version 2.x are EN 16931-compliant.
The mandatory fields stay identical to a paper invoice. An e-invoice must contain all fields under §14 UStG – just as a data field instead of printed text.
What a Structured Invoice Looks Like Inside
Open a structured e-invoice in a text editor and you will not see an invoice but XML code. Simplified and shortened, the core of such a file (shown here in the CII data model that ZUGFeRD also uses) looks roughly like this:
<rsm:CrossIndustryInvoice>
<ram:ID>2026-0042</ram:ID>
<ram:IssueDateTime>20260512</ram:IssueDateTime>
<ram:SellerTradeParty>
<ram:Name>Mustermann Schreinerei GmbH</ram:Name>
<ram:PostalAddress>
<ram:LineOne>Werkstattweg 5</ram:LineOne>
<ram:CityName>Augsburg</ram:CityName>
<ram:PostcodeCode>86150</ram:PostcodeCode>
</ram:PostalAddress>
<ram:SpecifiedTaxRegistration>DE123456789</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
<ram:BuyerTradeParty>
<ram:Name>Bauträger Beispiel AG</ram:Name>
<ram:PostalAddress>
<ram:LineOne>Hauptstraße 12</ram:LineOne>
<ram:CityName>München</ram:CityName>
<ram:PostcodeCode>80331</ram:PostcodeCode>
</ram:PostalAddress>
</ram:BuyerTradeParty>
<ram:IncludedSupplyChainTradeLineItem>
<ram:Name>Built-in oak wardrobe, custom-made</ram:Name>
<ram:BilledQuantity>1</ram:BilledQuantity>
<ram:NetPriceProductTradePrice>2.000,00</ram:NetPriceProductTradePrice>
</ram:IncludedSupplyChainTradeLineItem>
<ram:ApplicableTradeTax>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
<ram:BasisAmount>2.000,00</ram:BasisAmount>
<ram:CalculatedAmount>380,00</ram:CalculatedAmount>
</ram:ApplicableTradeTax>
</rsm:CrossIndustryInvoice>
This is, of course, heavily abridged – a real e-invoice contains far more fields and namespaces. But the principle is clear: every entry sits in a clearly named field. The recipient's software reads the invoice number, tax rate and tax amount directly, without anyone having to retype them.
The Mandatory Fields in a Concrete Example
Let us take the Mustermann carpentry from the code example and translate the mandatory fields under §14 UStG into plain language. Every complete e-invoice must populate these fields:
| Mandatory field (§14 UStG) | Example content |
|---|---|
| Name + address of supplier | Mustermann Schreinerei GmbH, Werkstattweg 5, 86150 Augsburg |
| Name + address of recipient | Bauträger Beispiel AG, Hauptstraße 12, 80331 München |
| Tax number / VAT ID | DE123456789 |
| Issue date | 12.05.2026 |
| Sequential invoice number | 2026-0042 |
| Quantity + type of service | 1 × built-in oak wardrobe, custom-made |
| Date of supply / service | 30.04.2026 |
| Net amount (per tax rate) | 2.000,00 € |
| Tax rate + tax amount | 19 % = 380,00 € |
| Gross amount | 2.380,00 € |
The invoice is only complete once all these fields are present. For a small-amount invoice up to 250 € gross (§33 UStDV), simplified details are sufficient, but the mandatory-field framework of the e-invoice stays the same.
Worked Example: Calculating Gross from Net
In the example the net amount is 2.000,00 €. You calculate the tax amount and the gross amount like this:
- VAT = 2.000,00 € × 19 / 100 = 380,00 €
- Gross = 2.000,00 € + 380,00 € = 2.380,00 €
If you need to work backwards and extract the net from a gross amount, say 2.380,00 €:
- Net = 2.380,00 € × 100 / 119 = 2.000,00 €
- VAT = 2.380,00 € − 2.000,00 € = 380,00 €
These exact steps are exactly what our VAT calculator handles for you in seconds – whether you are adding VAT to a net figure or extracting VAT from a gross amount.
XRechnung or ZUGFeRD: Which Example Fits You?
Both formats are legally compliant. The difference lies in the presentation:
- XRechnung (pure XML): ideal when both recipient and sender work with accounting software. There is no visible invoice, only data. Many public-sector clients require exactly this format.
- ZUGFeRD (hybrid): practical for mixed everyday use. You open the PDF and see a perfectly normal, readable invoice with logo and layout – meanwhile the recipient's software reads the embedded XML. This keeps the invoice readable for humans and processable by machines.
For small businesses that often invoice both private customers (B2C) and business clients, ZUGFeRD is often the more convenient route, because a single file serves both worlds.
The Difference from a Regular PDF Invoice
This is the most common misconception: a PDF sent by email is not an e-invoice in the legal sense. It is merely an electronically transmitted "other invoice." The difference at a glance:
- Regular PDF: an image or document for the human eye. Software cannot reliably read the amounts – someone has to retype the data or capture it via OCR.
- E-invoice (XRechnung/ZUGFeRD): structured data under EN 16931. The amounts, tax rates and mandatory fields are machine-readable and can be booked and checked automatically.
Until 31.12.2026, B2B invoices may still be issued on paper or as PDF with the recipient's consent. For businesses with a prior-year turnover up to 800,000 €, this transition period even runs until 31.12.2027. From 01.01.2028, issuing structured e-invoices is fully mandatory in the B2B sphere. B2C invoices are exempt from the obligation.
Notes for Small Businesses (Kleinunternehmer)
Small businesses under §19 UStG must be able to receive e-invoices but are exempt from the issuing obligation for their own tax-free sales – although they may issue e-invoices voluntarily. On their invoices they show no VAT, but the mandatory note: "Gemäß § 19 UStG wird keine Umsatzsteuer berechnet." Since 2025 the small-business scheme applies if prior-year turnover did not exceed 25,000 € and current-year turnover does not exceed 100,000 €.
Regardless of the format, the GoBD rules remain important: invoices must be stored unalterably, and the retention period for invoices has been eight years since 2025.
How to Create a Compliant Invoice Yourself
You do not have to write XML by hand. With our invoice generator you create a §14-UStG-compliant invoice as a PDF for free – with no signup. You enter the line items, choose the tax rate (19 %, 7 % or 0 %), and the tax amounts are calculated automatically and correctly. If you log in, you can additionally save company details, logo, invoice history and templates. That gives you a clean example as the basis for every further invoice.
Frequently asked questions
What does an e-invoice look like?
At its core an e-invoice is a structured XML file under EN 16931. As an XRechnung you only see data fields in the XML code, no graphical invoice. As a ZUGFeRD you see a perfectly normal PDF with layout that additionally has a machine-readable XML embedded inside it.
Is a PDF invoice an e-invoice?
No. A simple PDF, even when sent by email, legally counts as an 'other invoice,' not an e-invoice. Only a structured format such as XRechnung or ZUGFeRD (PDF/A-3 with embedded XML under EN 16931) meets the definition of an e-invoice.
What is the difference between XRechnung and ZUGFeRD?
XRechnung is a pure XML file with no visible invoice. ZUGFeRD is a hybrid: a readable PDF with embedded XML. Both are EN 16931-compliant and legally permitted. ZUGFeRD is practical when humans need to read the invoice; XRechnung is common in purely digital exchange.
Which mandatory fields must an e-invoice contain?
The same as any invoice under §14 UStG: name and address of supplier and recipient, tax number or VAT ID, issue date, sequential invoice number, quantity and type of service, date of supply, net amount per tax rate, plus tax rate and tax amount. In an e-invoice these appear as data fields in the XML.
When does the e-invoice become mandatory?
B2B businesses have had to be able to receive them since 01.01.2025. Until 31.12.2026 paper or PDF may still be issued with the recipient's consent; for businesses with prior-year turnover up to 800,000 € until 31.12.2027. From 01.01.2028 issuing structured e-invoices is mandatory in B2B. B2C is exempt.
Do small businesses have to issue e-invoices?
Small businesses under §19 UStG must be able to receive e-invoices. For their own tax-free sales they are exempt from the issuing obligation but may issue e-invoices voluntarily. The mandatory note remains: Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.
How can I create an e-invoice or compliant invoice myself?
You do not need to program XML. With our free invoice generator you create a §14-UStG-compliant invoice as a PDF, with no signup at all. Tax rates and amounts are calculated automatically. Once logged in you can save company details, logo, history and templates.