EU Compliance · 8 min
Wachstumschancengesetz Shopify: B2B E-Invoicing 2026–2028
Germany's Wachstumschancengesetz makes B2B e-invoicing mandatory. Receiving from 1 Jan 2025, sending phased 2026–2028. What Shopify merchants need to do.
What the Wachstumschancengesetz Changes for Shopify Merchants
The law amends § 14 UStG and is implemented via the BMF letter of 15 October 2024. Practically, B2B invoices must be issued in one of the structured formats accepted by the German tax administration — most commonly XRechnung or ZUGFeRD 2.x (Profile EN 16931 or higher). A scanned PDF or an image attached to an email is a "sonstige Rechnung" and after the transition window can no longer be issued without the recipient's consent. The technical bar is a real format, not a prettier PDF.
The Exact Timeline
From 1 January 2025 — every business in Germany must be able to receive structured e-invoices. No exceptions. An email mailbox is enough; the file format is the merchant's problem to decode.
1 January 2025 – 31 December 2026 — transition window for sending. PDFs and other unstructured formats are still allowed with the recipient's consent.
From 1 January 2027 — businesses with prior-year turnover above €800,000 must send all B2B invoices as structured e-invoices. PDFs no longer valid for these issuers.
From 1 January 2028 — the requirement applies to all German businesses regardless of turnover. PDFs are out across the board for domestic B2B.
For most Shopify B2B merchants, the operationally binding date is 1 January 2027. A store doing more than ~€67K/month of B2B turnover will cross the €800K threshold and need to be sending XRechnung or ZUGFeRD by then.
Who Is Actually Affected
For a Shopify merchant, the practical filter is: do you sell B2B to other German companies through your store, your wholesale portal, or via account-based pricing? If yes, this applies. The B2B-for-all-plans rollout means many stores that didn't run a formal B2B portal a year ago are now issuing B2B invoices — and are therefore in scope.
Why Standard Shopify Invoicing Apps Don't Cut It
XRechnung — a pure-XML format mandated by the German federal government (originally for B2G). A valid invoice is an XML file that conforms to the XRechnung Customizing of EN 16931.
ZUGFeRD 2.x — a hybrid format: a PDF/A-3 visually identical to a normal invoice, with an XML payload (EN 16931-conformant) embedded inside it. ZUGFeRD ≥ EN 16931 profile (e.g. EN16931, EXTENDED) satisfies the rule; the older ZUGFeRD 1.0 or BASIC/MINIMUM profiles do not.
Generating a compliant XML payload requires more than a template change: the data has to be present (USt-IdNr, reverse-charge flag if applicable, exact Pflichtangaben as XML elements), the schema has to validate, and the file has to be archived in a GoBD-compliant way. Most invoicing apps in the Shopify ecosystem still do not emit valid XRechnung or compliant ZUGFeRD 2.x output as of mid-2026.
What Compliance Actually Looks Like End-to-End
- Detect the transaction type. Is this a B2B order with a German recipient (USt-IdNr present, German billing address)? If yes, structured e-invoice required.
- Assemble the data. Pull the Pflichtangaben (§ 14 UStG fields) from the order, the customer profile, and the merchant settings. Tag reverse-charge cases correctly (intra-EU B2B with valid USt-IdNr).
- Emit the XML. Generate XRechnung or ZUGFeRD 2.x XML that validates against the official schema. Most failures happen here — schema validation is strict, and an invoice that doesn't validate is not a valid invoice.
- Deliver it. Email the recipient with the XML file (XRechnung) or the hybrid PDF (ZUGFeRD). Maintain a record of delivery.
- Archive it. Store the structured original in a GoBD-compliant archive for 10 years, immutable, with retrieval guaranteed.
Any link in this chain that breaks turns the invoice into a non-compliant document with audit exposure attached. The Finanzamt can disallow input-VAT deduction on the recipient side if the issuer's invoice was not a valid structured e-invoice — which means your B2B customers will care.
Custom Build vs. Off-the-Shelf for the 2027 Deadline
1. Wait for a SaaS app to catch up. A handful of EU-focused invoicing apps are adding ZUGFeRD/XRechnung output. Cheapest by headline price, but you stay on per-order fees, you don't own the invoice generation, and you're dependent on the vendor's roadmap to add support for edge cases (Storno-Rechnung, Sammelrechnung, partial deliveries). For stores at <€500K B2B revenue, this is often the right call.
2. Move B2B invoicing out of Shopify entirely. Use JTL-Wawi, DATEV, or a similar DACH system to generate the structured invoice and feed it to Shopify as record-only. Works if you already operate in that stack, but means data lives in two systems and the Shopify experience is less integrated. Operational cost of running two systems is rarely zero.
3. Build a custom invoicing app on Shopify. One owned module that detects B2B German orders, assembles Pflichtangaben from Shopify data, emits valid XRechnung or ZUGFeRD 2.x, delivers it, and writes to GoBD-compliant archive. Fixed-price build, no per-order fees, you control the format and the edge cases. For mid-size B2B operations (€500K+ annual B2B turnover), the build pays back inside 12–18 months against per-order app fees.
The Wachstumschancengesetz is not optional and the 2027 deadline is not negotiable. The question is whether you want to rent compliance from a SaaS vendor or own it. A custom EU invoicing app built around § 14 UStG and structured-format output handles this without per-invoice fees.
FAQ
Frequently Asked Questions
When does the Wachstumschancengesetz e-invoicing requirement start?+
Receiving structured e-invoices is mandatory from 1 January 2025 for all German businesses. Sending is phased: from 1 January 2027 for businesses above €800K prior-year turnover, and from 1 January 2028 for all German businesses. PDFs and unstructured formats are allowed during the transition window with the recipient's consent.
Does the Wachstumschancengesetz apply to B2C Shopify stores?+
No. The structured-e-invoicing requirement covers domestic German B2B transactions only. A pure D2C Shopify store invoicing German end-consumers does not need to issue XRechnung or ZUGFeRD. The moment you sell B2B to another German company through your store, the rule applies.
What's the difference between XRechnung and ZUGFeRD?+
XRechnung is a pure-XML format mandated by the German federal government and built on the EN 16931 standard. ZUGFeRD 2.x is a hybrid: a PDF/A-3 with an embedded EN 16931-conformant XML payload. Both satisfy the Wachstumschancengesetz. XRechnung is XML-only; ZUGFeRD also looks like a normal invoice to a human reader. Older ZUGFeRD 1.0 and the BASIC/MINIMUM profiles do not meet the requirement.
Can I just use a PDF invoice from a Shopify app?+
Not for domestic B2B after the transition window. A PDF — however carefully formatted — is a 'sonstige Rechnung' and after 1 January 2027 (or 2028 depending on turnover) it cannot be issued without the recipient's consent for B2B invoices. The output has to be XRechnung or ZUGFeRD 2.x with an EN 16931-conformant XML payload.
How does this connect to the e-Rechnung rules for Shopify?+
The Wachstumschancengesetz is the legal source for the German B2B e-invoicing reform. Day-to-day, Shopify merchants encounter the same requirement under the operational label 'E-Rechnungspflicht'. For the implementation detail on Shopify, see the dedicated guide on Shopify and the E-Rechnung 2027 deadline.