German e-invoicing mandate (§ 14 UStG)

E-invoicing for Shopify: ZUGFeRD XML in every invoice

Enable e-invoicing in the advanced settings. From then on every invoice, credit note and cancellation carries a structured ZUGFeRD XML inside the PDF – the same file your customer receives anyway, now machine-readable.

  • ZUGFeRD 2.x, EN 16931 profile – recognised by the German Ministry of Finance
  • PDF/A-3 with embedded XML and XMP metadata
  • Checked against the Mustangproject validator for every tax constellation
A PDF invoice as PDF/A-3 with an embedded ZUGFeRD XML conforming to EN 16931.

Who has to send, and when

All German businesses have had to be able to receive e-invoices since 2025. Sending is staggered by § 27 Abs. 38 UStG:

  • From 1 January 2027: businesses with more than €800,000 turnover in the previous year
  • From 1 January 2028: every other business in domestic B2B trade
  • Small businesses under § 19 UStG only ever have to receive, never send
  • B2C sales are not affected – the XML does no harm there either

What the XML contains

The XML is built from the stored document, not from the Shopify order. PDF and XML therefore always say the same thing.

  • Line items, tax rates and totals as in the PDF, with the EN 16931 tax category per tax case
  • Seller and buyer VAT IDs on intra-community supplies and reverse-charge invoices
  • Credit note and cancellation as type 381 – a cancellation is not a “corrected invoice” (384)
  • Visible as factur-x.xml inside the PDF and as the status “E-invoice (ZUGFeRD)” in the app

What the app deliberately does not do

  • No XRechnung format and no PEPPOL delivery. Invoices to public authorities still need XRechnung.
  • Documents carrying destination tax (e.g. Swiss VAT) and small-business documents get no XML – EN 16931 cannot represent those cases correctly. The app shows the reason on the document.
  • If a mandatory field is missing (usually the buyer’s VAT ID) the PDF goes out without XML and you see why. The invoice itself stays valid.

Software, not tax advice: We are not tax advisers: Easy Invoices applies the rules you configure to your shop’s data – checking your documents for tax correctness stays with you and your accounting firm. Details in § 2a of the terms

Frequently asked questions

Is a ZUGFeRD invoice a “real” e-invoice?

Yes. The German Ministry of Finance explicitly names ZUGFeRD from version 2.0.1 (except the MINIMUM and BASIC-WL profiles) as a permitted format. Easy Invoices emits the EN 16931 profile.

Do I have to send e-invoices as a small business?

No. § 34a UStDV only obliges small businesses to receive. The app therefore embeds no XML for § 19 shops – an invented net/tax split would misstate the document.

How do you make sure the XML is valid?

Every tax constellation is checked automatically by the Mustangproject validator (Schematron for EN 16931 and veraPDF for PDF/A-3). A new tax case cannot appear without its XML having been validated.

Related capabilities

Try it on your next order

14 days free, billed through Shopify, set up in 10 minutes.

Install on Shopify