Germany · GoBD · Invoice numbering

GoBD invoice numbers for Shopify: the real requirement

Last updated 18 September 2026

The short answer: Shopify's order number was never built to be your invoice number, and a merchant who notices gaps after a deleted or edited order is not looking at a bug. They are looking at an invoice-numbering requirement Germany already enforces today, separate from and years ahead of the 2027 e-invoicing mandate.

Two different rules, and merchants usually only hear about one

"GoBD" gets used as a catch-all for German invoicing compliance, but the numbering question actually rests on two separate rules with two separate authors.

The distinction matters in practice. Chasing an absolutely gapless sequence is the wrong goal, and it pushes a system toward allocating numbers at the worst possible moment, before an order is even known to be invoiceable. The real target is few gaps, and every one of them explained.

Why Shopify's order number does not clear either rule

Shopify's order number identifies an order, not an invoice, and under German law the two stop being the same thing once your store issues real invoices rather than order confirmations. Three specific ways it fails:

In one sentence: the order number was built to track fulfilment, not to survive a tax audit, and Shopify has never claimed otherwise.

What a compliant sequence actually needs

Four properties, each traceable back to one of the two rules above:

PropertyWhy
Assigned once, at a fixed point§14(4) no. 4 UStG requires einmalig vergeben. A number that could be reissued or reused later was never "assigned once".
No annual resetThe year is not part of the identifying key, so restarting at 1 every January is a discontinuity, not a feature.
Every gap carries a stored reasonGoBD's traceability principle: a gap you can explain is fine, one you cannot is the finding.
Corrections run their own seriesA credit note is a different document type (type code 381 rather than 380 for an invoice). Mixing the two series makes neither one continuous.

How Zeppol allocates a number

Zeppol assigns the number at the moment an invoice is approved for sending: after every check (VAT, mandatory fields, buyer data) has already passed, and before the document itself is built. That ordering is deliberate. Allocating earlier would burn a number on every order that turns out blocked or skipped. Allocating later would mean sending a document whose own printed number was never actually part of what got validated.

This is documented in full on when Zeppol invoices, the page the numbering behaviour itself is built from.

Does this apply before the 2027 mandate?

Yes, today, regardless of format. §14(4) UStG's invoice-content requirements, including the sequential number, already apply to any invoice a business issues for a taxable domestic supply, on paper or as a PDF, years before the e-invoicing mandate changes the format. The 2027 and 2028 dates in Germany's e-invoicing mandate change how an invoice is transmitted and structured, not whether it needs a defensible number today.

Read on

Frequently asked questions

Is Shopify's order number a valid invoice number under German law?

Not on its own. §14(4) no. 4 UStG requires a number assigned once to identify the invoice, and Shopify's order number can be duplicated across sales channels, skipped by deleted orders, and reused in ways an invoice number cannot be.

Does GoBD require a completely gapless invoice number sequence?

No. It requires that transactions stay traceable without a break, so a gap you can explain with a stored reason is acceptable. An unexplained gap is the actual finding, not the gap itself.

Does this apply only once the 2027 e-invoicing mandate starts?

No. The sequential-number requirement in §14(4) UStG already applies to every invoice a business issues today, on paper or as a PDF. The 2027 and 2028 dates change the format and transmission, not the numbering rule.

What happens to the number when an order is refunded or cancelled?

If the invoice had not yet been numbered, nothing: draft, blocked, held and skipped invoices never consume a number. If it had already been approved and numbered, voiding it creates a gap with a stored reason, and the correction itself runs in its own separate series.

Can Zeppol issue the credit note for me?

Not automatically in this version. Zeppol marks a refunded order rather than issuing a credit note for it; you raise the correction yourself, in its own number series, separate from invoices.

This guide is general information for Shopify merchants, not tax or legal advice. Confirm your own numbering setup with a qualified tax adviser. Sources: §14(4) UStG on gesetze-im-internet.de, the GoBD (BMF letter of 28 November 2019, consolidated with the amendments of 11 March 2024 and 14 July 2025) on completeness and traceability, and Zeppol's own invoice numbering policy, retrieved and current on 18 September 2026.

E-invoices from your Shopify B2B orders

Zeppol turns every B2B order into an EN 16931 document, checks it against the EU and the German rules, and sends it over Peppol or by email. Join the list and I'll be in touch before the deadline.