← Back to all articles

XRechnung 3.0: what changed and how to comply

SealDoc Team · · 8 min read

Updated 21 September 2026: dates and rules corrected against the XRechnung specification and the KoSIT schematron.

XRechnung 3.0 has been in force since 1 February 2024 and stays in force until at least 31 July 2027. The current specification is version 3.0.2. In XRechnung 3.0, three fields are mandatory: the business process type (BT-23), the seller electronic address (BT-34) and the buyer electronic address (BT-49). The KoSIT schematron treats a missing electronic address as a fatal error. Since September 2025, the German federal administration receives e-invoices through one platform, OZG-RE.

This guide covers what XRechnung is, who must use it, what changed in version 3.0, which German rules an invoice must pass, how to validate it, and how SealDoc creates and checks an XRechnung.

What XRechnung is

XRechnung is the German standard for electronic invoices to public-sector buyers. It is built on the European standard EN 16931 and adds national business rules, the BR-DE rules. The Koordinierungsstelle für IT-Standards (KoSIT) publishes the specification and the schematron that checks it.

An XRechnung is XML, not a PDF. Two syntaxes are allowed: UBL (Universal Business Language) and CII (Cross Industry Invoice). Both carry the same invoice data. Factur-X and ZUGFeRD are hybrid formats: a PDF with embedded XML. For an XRechnung, the recipient creates the readable view itself.

Since September 2025, the federal administration (the Bund) receives e-invoices through a single platform, OZG-RE. The migration was completed on 19 September 2025, and the former ZRE (Zentraler Rechnungseingang des Bundes) was switched off at the end of 2025. OZG-RE has four channels:

  • Weberfassung: free web entry, registration required
  • upload
  • Peppol
  • email

OZG-RE accepts only bare XML without a visual part; for ZUGFeRD it gives the XRECHNUNG profile as an example.

Who must comply

Suppliers to the German federal administration have had to invoice electronically since 27 November 2020. In B2B, every domestic company in Germany must be able to receive e-invoices since 1 January 2025. The obligation to issue them phases in until 2028. In B2B, XRechnung is one of the valid formats, not the only one.

Invoices to the federal administration (B2G)

  • Suppliers to the Bund have had to invoice electronically since 27 November 2020 (§ 3 Abs. 1 and § 11 Abs. 3 ERechV).
  • Direct awards (Direktaufträge) up to 1,000 euros are exempt (§ 3 Abs. 3 Nr. 1 ERechV).
  • The ERechV applies only to the Bund. The Länder have their own rules, so check the rules of the Land whose authorities you invoice.

Invoices to companies (B2B)

Since 1 January 2025, every domestic company must be able to receive an E-Rechnung. According to the FAQ of the Federal Ministry of Finance (BMF), an email inbox is enough for that.

When you must issue e-invoices follows from the transition rules in § 27 Abs. 38 UStG:

  • until 31 December 2026: paper, or another format with the recipient’s consent
  • until 31 December 2027: this remains allowed for issuers whose total turnover (Gesamtumsatz) in the previous year was at most 800,000 euros
  • from 1 January 2028: e-invoices, with exceptions such as small invoices up to 250 euros and invoices from Kleinunternehmer

According to the BMF-FAQ, the formats that qualify include “XRechnung und ZUGFeRD ab Version 2.0.1 (mit Ausnahme der Profile MINIMUM und BASIC-WL)”: XRechnung, and ZUGFeRD from version 2.0.1 except the MINIMUM and BASIC-WL profiles.

What changed in version 3.0

In XRechnung 3.0, three fields are mandatory: BT-23, BT-34 and BT-49. The KoSIT schematron treats a missing BT-34 or BT-49 as a fatal error. The German BR-DE rules also require a complete seller contact, a buyer reference and payment instructions. Each point is set out below.

Versions and dates

  • XRechnung 3.0 has been in force since 1 February 2024. The version page on xeinkauf.de states: “Am 01. Februar 2024 ist die Version 3.0 in Kraft getreten”.
  • The current specification is 3.0.2, in the version (Fassung) of 20 June 2024.
  • The newest bundle is “3.0.2 Summer 2026 Bugfix”, dated 31 August 2026.
  • XRechnung 3.0 remains in force until at least 31 July 2027.
  • A preliminary version (Vorversion) of XRechnung 4.0 appeared on 15 September 2026. The final 4.0 is expected in spring 2027. That is an expectation, not a fixed date.

Three fields are mandatory in 3.0

In the current specification 3.0.2, all three have cardinality 1, so they are mandatory:

FieldMeaning
BT-23Business process type
BT-34Seller electronic address
BT-49Buyer electronic address

A missing electronic address is a fatal error

The KoSIT schematron enforces both electronic addresses. In schematron release v2.6.0 of 2 September 2026, two rules carry the flag fatal:

  • PEPPOL-EN16931-R010: the buyer electronic address (BT-49) must be present
  • PEPPOL-EN16931-R020: the seller electronic address (BT-34) must be present

For the CII syntax, both rules have been fatal since schematron v2.2.0 of 31 October 2024. If either address is missing, the invoice is invalid.

The German rules you must meet

The KoSIT XRechnung schematron adds the BR-DE rules to EN 16931. A rule with the flag fatal makes the invoice invalid. A rule with the flag warning reports a problem but is not a hard requirement.

RuleWhat it requiresFlag
BR-DE-1Payment instructions (BG-16)fatal
BR-DE-2The seller contact group (BG-6)fatal
BR-DE-5Contact point (BT-41): a person or departmentfatal
BR-DE-6Contact telephone number (BT-42)fatal
BR-DE-7Contact email address (BT-43)fatal
BR-DE-15Buyer reference (BT-10); for public buyers, this is the Leitweg-IDfatal
BR-DE-16For VAT categories S, Z, E, AE, K, G, L and M: the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the seller tax representative (BG-11)fatal
BR-DE-23-aFor payment means code 30 or 58 (credit transfer): the credit transfer group (BG-17)fatal
BR-DE-19A valid IBANwarning

Two points matter most. The seller contact needs all three fields: name, telephone and email. One of them is not enough. And BR-DE-15 applies to every XRechnung: in B2B too, BT-10 must be filled, for example with the reference your customer gives you.

The Leitweg-ID format

The Leitweg-ID tells the systems of a public authority which office receives the invoice. Its format is set in the KoSIT format specification 2.0.2 of 28 July 2021:

  • Grobadressierung (coarse addressing): mandatory, 2 to 12 characters
  • Feinadressierung (fine addressing): optional, up to 30 characters
  • Prüfziffer (check digit): mandatory, calculated with ISO/IEC 7064 Modulo 97-10

The XRechnung schematron does not check this format. Take the Leitweg-ID from the authority you invoice and copy it exactly into BT-10.

Validation tools

Validate every XRechnung before you send it. The reference is the KoSIT validator, an open-source tool you run yourself. SealDoc offers a free online check with the open-source Mustang validator.

The KoSIT validator

The KoSIT validator runs as a command-line tool or as a daemon you host yourself. It is published on GitHub as itplr-kosit/validator (release v1.6.3). For XRechnung it needs a separate configuration: itplr-kosit/validator-configuration-xrechnung (release v2026-08-31, “compatible with XRechnung 3.0”). We found no official KoSIT web service.

The SealDoc XRechnung validator

The SealDoc XRechnung validator is a free online check. You upload a file, and it checks the file with the open-source Mustang validator.

How SealDoc generates XRechnung 3.0

SealDoc creates an XRechnung as one file: a PDF/A-3 with the XRechnung (version 3.0, CII syntax) embedded as xrechnung.xml. You create it in SealDoc Invoice, the web app with a free package of 5 invoices per month, or through the SealDoc API. Each request produces the profile you choose: Factur-X BASIC or XRechnung.

What SealDoc checks

Before it creates the file, SealDoc requires:

  • a buyer reference in BT-10 (the Leitweg-ID for public buyers)
  • the telephone number (BT-42) and email address (BT-43) of the seller contact
  • an IBAN when an amount is due

The web app also asks for the name of the contact person (BT-41) and always asks for the IBAN.

After it creates the file, SealDoc checks the PDF/A-3 with veraPDF against PDF/A-3B.

The archival question

An XRechnung is XML, so a person needs a viewer or the recipient’s system to read it as a document. The SealDoc file carries both in one: the PDF/A-3 shows the invoice as a page, and the XRechnung is embedded in it as xrechnung.xml.

PDF/A-3 is the archival variant of PDF that allows embedded files. SealDoc checks each file against PDF/A-3B with veraPDF after it creates it.

Validate your XRechnung invoices now

If your invoice generator was built for XRechnung 2.x, check three fields first: BT-23, BT-34 and BT-49. Then check the seller contact: name, telephone and email must all be present.

Validate your own invoice, no account needed →
← Back to all articles