ZUGFeRD invoices from Stripe

ZUGFeRD is a PDF invoice with the structured XML embedded. People read the PDF and software reads the XML. Stripe's own PDF has no XML inside, so it doesn't count as an e-invoice. Here is how to get a valid ZUGFeRD for every Stripe invoice.

Is Stripe's PDF a ZUGFeRD invoice?

No. The invoice PDF that Stripe generates is a plain PDF without embedded XML. As Stripe's documentation explains, e-invoice files come from an e-invoicing app or your own integration. A plain PDF is an "other invoice" under German law, not an e-invoice.

Which ZUGFeRD counts as an e-invoice

ZUGFeRD (called Factur-X in France; technically the same standard) has several profiles. In Germany, only EN 16931 (formerly COMFORT), EXTENDED and XRECHNUNG count as e-invoices. MINIMUM and BASIC WL don't, because they lack invoice lines and other required data. The file must be a PDF/A-3 with the XML attached. Invoiceer creates the EN 16931 profile.

When you need it

For domestic B2B invoices in Germany, e-invoices become mandatory to send from 1 January 2027 (over €800,000 prior-year turnover) and from 1 January 2028 for everyone. Receiving has been mandatory since 2025. ZUGFeRD is popular because customers without e-invoice software can still read and pay the PDF. See the deadlines by country.

Getting ZUGFeRD from Stripe automatically

With Invoiceer from the Stripe App Marketplace, choose ZUGFeRD in your settings. Every invoice you finalize in Stripe then becomes a ZUGFeRD PDF within seconds. It is validated against the official rules (CEN EN 16931 and the German KoSIT rules) and linked from the invoice's metadata. Optionally it is emailed to your customer. Credit notes work the same way. Setup guide.

Checking a ZUGFeRD file

Upload any ZUGFeRD or Factur-X PDF to our free validator. It extracts the embedded XML, tells you the profile, and checks it against the official rules. A PDF without embedded XML is reported as a plain PDF.

Invoiceer for Stripe: XRechnung, ZUGFeRD and Peppol from every Stripe invoice, validated with the official rules. Free for 5 e-invoices a month.

See the Stripe app Read the setup guide

Questions

Is ZUGFeRD the same as Factur-X?

Yes. ZUGFeRD 2.x and Factur-X 1.x are the same Franco-German standard, built on the CII XML syntax of EN 16931.

ZUGFeRD or XRechnung?

Both are valid e-invoices for German B2B. ZUGFeRD is easier for customers who read invoices by eye. XRechnung is the standard for public authorities. See XRechnung from Stripe.

Can I just attach an XML file to Stripe's PDF myself?

Technically, a ZUGFeRD file must be a PDF/A-3 with the XML embedded under a defined file name and metadata, and the XML must match the PDF's content. Converting an ordinary PDF afterwards is error-prone. Generating both from the same data is safer.

More: XRechnung + Stripe · Peppol + Stripe