Checklist

E-Invoice 2027 — developer readiness

A practical list for product and engineering teams embedding invoicing in Germany.

Updated on

Which deadlines apply to the German B2B e-invoice mandate?

DateObligationWho it applies to
1 January 2025Receive e-invoices (EN 16931)All German businesses (B2B)
1 January 2027Issue e-invoicesBusinesses with > €800,000 prior-year revenue
1 January 2028Issue e-invoicesAll remaining German businesses (see exceptions below)

Legal basis: the Wachstumschancengesetz amending § 14 UStG. Compliant formats are the EN 16931 profiles — XRechnung (UBL or CII), and ZUGFeRD from version 2.0.1 / Factur-X from version 1.0 in every profile except MINIMUM and BASIC-WL, which do not carry a complete EN 16931 data set. Earlier ZUGFeRD versions (1.0, and 2.0 before the 2.0.1 correction) are not compliant — check the version your PDF pipeline actually emits (BMF letter of 15 October 2024).

Permanent exceptions from the obligation to issue. Small-amount invoices up to €250 gross (§ 33 UStDV) and tickets (§ 34 UStDV) may still be issued on paper or as a PDF, and supplies exempt under § 4 Nr. 8–29 UStG are outside the mandate. Kleinunternehmer under § 19 UStG must still be able to receive e-invoices, but are not obliged to issue them. If you build for these cases, keep a non-EN 16931 path.

What should your team check before 2027?

  1. Receive path — Can you ingest supplier XRechnung (UBL/CII) into your domain model? See /v1/invoices/parse.
  2. Issue path — Do you generate XRechnung 3.0 (UBL and/or CII) for B2G and the coming B2B mandate? When to use which format: XRechnung vs ZUGFeRD.
  3. Authoritative validation — Do you run KoSIT (or an equivalent that maps to it), not only XSD?
  4. Leitweg-ID / buyer reference — A missing BT-10 is one of the most frequent public-sector rejections. See BR-DE-15.
  5. Error UX — Can a developer fix a failed invoice without reading raw Schematron? Try the free validator.
  6. Build vs buy — Library ownership vs API. Read OSS vs API.
  7. Quotas & retries — Idempotent generate, free validation within fair use, no charge for failed documents.

Ready to wire it: get a free API key or open the playground.

Deutsche Fassung →

Spotted something?

Bug, missing feature, wrong validation result — tell us. The page you're on is attached automatically; email optional.