Umsatzsteuer in der E-Rechnung: Kategorien, Reverse Charge, § 19

Ein Satz von 0 % erklärt im XML nichts. Die Norm will Kategorie, Satz und Grund — drei getrennte Felder.

Die Umsatzsteuer ist der Teil der E-Rechnung, an dem die meisten Dateien scheitern — und fast nie, weil ein Betrag falsch wäre. Sie scheitern daran, dass „0 %“ im strukturierten Teil nichts erklärt: Die Norm will wissen, welche Kategorie, welcher Satz und, wenn nicht besteuert wird, warum nicht.

Das hier ist Orientierung, keine Steuerberatung. Ob ein Umsatz dem Reverse-Charge-Verfahren unterliegt, steuerfrei ist oder gar nicht steuerbar, entscheidet der Einzelfall. Hier geht es um die Frage danach: Wie wird das, was Ihre Steuerberatung festgestellt hat, korrekt in der Datei abgebildet?

Drei Felder, nicht eins

In einer Rechnung nach EN 16931 steht die Umsatzsteuer an drei Stellen, und sie werden regelmäßig verwechselt:

AngabeIn der ZeileIn der Aufstellung (BG-23)
KategoriecodeBT-151BT-118
Satz in ProzentBT-152BT-119
Befreiungsgrund—BT-120 (Text) oder BT-121 (Code)

Der Kategoriecode ist nicht der Satz. Ein Satz von null kann bedeuten: steuerfrei, Reverse Charge, innergemeinschaftliche Lieferung, Ausfuhr oder gar nicht steuerbar — fünf verschiedene Sachverhalte mit fünf verschiedenen Codes und unterschiedlichen Pflichtfeldern. Deshalb reicht es nicht, im Rechnungstext „steuerfrei“ zu schreiben und den Satz auf 0 zu setzen.

Für jede Kombination aus Code und Satz entsteht außerdem eine eigene Gruppe BG-23. Mehrere Sätze auf einer Rechnung sind damit kein Sonderfall und brauchen kein EXTENDED-Profil: Das beherrscht schon EN 16931.

Die Kategoriecodes im Überblick

Sieben Kategoriecodes untereinander — S, Z, E, AE, K, G, O — jeweils mit dem, was der Code zusätzlich im XML verlangt
Der Code entscheidet, welche weiteren Felder Pflicht werden. Deshalb fallen Dateien durch, bei denen rechnerisch alles stimmt.

Insgesamt kennt die Norm neun Codes. Sieben davon sehen Sie oben; dazu kommen L und M für die kanarische IGIC und die IPSI in Ceuta und Melilla — außerhalb Spaniens praktisch nie.

Eine Verwechslung vorweg, die sich durch viele Anleitungen zieht: Der Code für die innergemeinschaftliche Lieferung ist K. Die Geschäftsregeln dazu heißen BR-IC-*. „IC“ ist kein Kategoriecode, sondern der Name der Regelfamilie — wer „IC“ ins Feld schreibt, bekommt eine Datei, die an der Codeliste scheitert.

Reverse Charge: Code AE

Beim Reverse-Charge-Verfahren schuldet der Leistungsempfänger die Steuer, nicht der Leistende (§ 13b UStG, unionsrechtlich Artikel 194 ff. der Mehrwertsteuer-Systemrichtlinie). Im XML heißt das:

  • Kategoriecode AE in der Zeile und genau eine AE-Gruppe in der Aufstellung (BR-AE-01).
  • Satz 0 (BR-AE-05) und Steuerbetrag 0 (BR-AE-09).
  • Ein Befreiungsgrund: entweder der Code VATEX-EU-AE in BT-121 oder der Text „Reverse charge“ in BT-120 (BR-AE-10).
  • Beide Seiten identifiziert: die USt-IdNr. oder Steuernummer des Verkäufers und die USt-IdNr. des Käufers (BR-AE-02). Das ist die Bedingung, an der es am häufigsten hängt.

Auf der sichtbaren Seite bleibt die Pflichtangabe „Steuerschuldnerschaft des Leistungsempfängers“ nach § 14a Absatz 5 UStG bestehen; zulässig sind auch die Formulierungen anderer Amtssprachen, etwa „Reverse charge“. Der gesonderte Steuerausweis entfällt dabei.

Die teure Falle: Wer trotz Reverse Charge Umsatzsteuer ausweist, schuldet diese Steuer nach § 14c Absatz 1 UStG — während der Empfänger sie nicht als Vorsteuer abziehen kann. Ein einzelnes falsch gesetztes Feld kostet also auf beiden Seiten Geld.

Innergemeinschaftliche Lieferung: Code K

Warenlieferungen zwischen Unternehmen in verschiedenen EU-Staaten sind unter den Bedingungen des Artikels 138 der Mehrwertsteuer-Systemrichtlinie (§ 6a UStG) steuerfrei. Der Code dafür ist K, Satz und Steuerbetrag sind null, und ein Befreiungsgrund ist Pflicht — VATEX-EU-IC oder der entsprechende Text (BR-IC-10).

Zwei Felder, die sonst optional sind, werden hier zwingend, und beide stehen nicht bei den Beträgen, sondern bei der Lieferung:

  • Lieferdatum (BT-72) oder Abrechnungszeitraum (BG-14) darf nicht leer sein (BR-IC-11).
  • Das Lieferland (BT-80) darf nicht leer sein (BR-IC-12).
  • Dazu die USt-IdNr. des Verkäufers und die des Käufers (BR-IC-02).

Dass diese Rechnungen öfter durchfallen als andere, liegt genau daran: Wer die Lieferangaben für Beiwerk hält, produziert eine Datei, die rechnerisch stimmt und trotzdem abgewiesen wird. Wo die Felder im Baum sitzen, steht in der Struktur des XML.

Steuerlich kommt etwas hinzu, das kein Validator prüfen kann: Seit den „Quick Fixes“ zum 1. Januar 2020 sind die gültige USt-IdNr. des Abnehmers und die fristgerechte Zusammenfassende Meldung materielle Voraussetzungen der Steuerbefreiung — nicht bloß Formalien. Fehlt eines von beidem, entfällt die Befreiung, auch wenn die Ware nachweislich über die Grenze ging. Die Meldung ist in Deutschland bis zum 25. des Folgemonats abzugeben.

Steuerfrei (E) — und der Kleinunternehmer

E und Z werden ständig verwechselt. Z ist der Nullsatz auf Waren und darf keinen Befreiungsgrund tragen (BR-Z-10). E ist die echte Steuerbefreiung und muss einen tragen (BR-E-10). Wer eine steuerfreie Leistung als Z codiert, bekommt eine formal gültige Datei mit der falschen inhaltlichen Aussage — der Validator sagt nichts dazu, das Finanzamt schon.

Für Kleinunternehmer nach § 19 UStG ist E der Normalfall. Deren Umsätze sind seit dem 1. Januar 2025 ausdrücklich steuerfrei (vorher wurde die Steuer „nicht erhoben“) — mit neuen Schwellen: 25 000 € Vorjahresumsatz und 100 000 € im laufenden Jahr, bei deren Überschreiten der Wechsel sofort greift. In der Datei sieht das so aus:

  • Kategoriecode E, Satz 0, Steuerbetrag 0.
  • Als Grund ein Text in BT-120 mit Hinweis auf § 19 UStG. Ein VATEX-Code ist für diesen Fall nicht vorgesehen.
  • Wer keine USt-IdNr. hat, nennt die Steuernummer: BR-E-02 lässt BT-31, BT-32 oder BT-63 zu.

Der Hinweis ist keine Höflichkeit, sondern Pflichtangabe nach § 34a UStDV. Dieselbe Vorschrift nimmt Kleinunternehmer von der Pflicht aus, überhaupt strukturiert zu fakturieren: Papier und einfaches PDF bleiben zulässig. Empfangen müssen sie E-Rechnungen trotzdem — das gilt seit dem 1. Januar 2025 für alle, siehe Fristen nach Ländern.

Neu ist seit 2025 auch die grenzüberschreitende Variante: Über das besondere Meldeverfahren nach § 19a UStG vergibt das Bundeszentralamt für Steuern eine Kleinunternehmer-Identifikationsnummer mit dem Suffix „EX“, mit der die Befreiung in anderen Mitgliedstaaten genutzt werden kann — bei EU-weit höchstens 100 000 € Umsatz.

Die USt-IdNr. prüfen, bevor die Rechnung rausgeht

Formal prüft die Norm nur das Präfix: BR-CO-09 verlangt zwei Buchstaben nach ISO 3166-1 alpha-2. Ein Blick in die Prüfregeln zeigt, dass die erlaubte Liste mehr enthält, als man erwartet — neben GR auch EL für Griechenland und XI für Nordirland. Ob die Nummer existiert, prüft dabei niemand.

Dafür gibt es zwei Wege, und sie sind nicht gleichwertig:

  • VIES, die Abfrage bei der EU-Kommission, beantwortet: gültig oder nicht.
  • Die qualifizierte Bestätigungsabfrage beim Bundeszentralamt für Steuern nach § 18e UStG vergleicht zusätzlich Firmenname samt Rechtsform, Ort, Postleitzahl und Straße mit den registrierten Daten. Die Antwort lautet nur „stimmt überein“ oder „stimmt nicht überein“; eine einfache Abfrage muss ihr vorausgehen.

Der Unterschied wird praktisch, wenn jemand nachfragt: Der Umsatzsteuer-Anwendungserlass nennt in Abschnitt 18e.1 Absatz 2 das Ergebnis des BZSt als das, was aufzubewahren ist — als Ausdruck, Datei oder übernommener Datensatz. Für einen VIES-Screenshot gibt es diese Regelung nicht. Wer regelmäßig viele Nummern prüft, nutzt die Schnittstelle des BZSt statt der Eingabemaske.

In der Praxis heißt das: bei Neuanlage eines Kunden prüfen, das Datum festhalten, und bei laufenden Geschäftsbeziehungen wiederholen — Nummern werden ungültig, ohne dass jemand Bescheid sagt.

Was dabei am häufigsten schiefgeht

FehlerWas die Prüfung meldet
Satz 0 bei E, AE, K, G oder O, aber kein BefreiungsgrundBR-E-10, BR-AE-10, BR-IC-10, BR-G-10, BR-O-10
Befreiungsgrund bei S oder Z eingetragenBR-S-10, BR-Z-10
AE gesetzt, aber die USt-IdNr. des Käufers fehltBR-AE-02
K ohne Lieferdatum und ohne LieferlandBR-IC-11, BR-IC-12
„Nicht steuerbar“ zusammen mit anderen Gruppen auf einer RechnungBR-O-11 bis BR-O-14
Steuerbetrag je Gruppe nicht auf zwei Stellen gerundetBR-CO-17, BR-S-09

Die Rundungsfälle sind eine eigene Geschichte — warum ein Cent Differenz eine ganze Rechnung stoppt, steht bei den Geschäftsregeln.

Ein Fehler steht in keiner Regel und ist trotzdem der gefährlichste: Die sichtbare Seite zeigt Umsatzsteuer, das XML sagt Reverse Charge. Das BMF-Schreiben vom 15. Oktober 2025 stellt klar, dass bei hybriden Formaten der strukturierte Teil maßgeblich ist — eine Abweichung stellt den Vorsteuerabzug infrage. Keine Prüfung schlägt hier an, weil beide Teile für sich genommen in Ordnung sind.

Was E-Rechnung Pro hier kann

Prüfen: alles davon. Der Validator läuft mit dem Schematron der Norm, also auch mit den Regelfamilien BR-AE-*, BR-IC-*, BR-E-*, BR-G-* und BR-O-*. Für eingehende Rechnungen mit Reverse Charge oder innergemeinschaftlicher Lieferung ist das der kürzeste Weg zu der Frage, ob der Lieferant sauber codiert hat.

Erzeugen: Nullsatz und Befreiungen. Steht der Steuersatz einer Rechnung auf 0 %, fragt die Eingabemaske nach dem Fall — Nullsatz (Z), Kleinunternehmer nach § 19 UStG (E), Reverse Charge (AE) oder innergemeinschaftliche Lieferung (K) — und setzt den Kategoriecode entsprechend. Den Befreiungsgrund für BT-120 schlagen wir in der Rechnungssprache vor, überschreiben lässt er sich; bei AE und K kommt der passende Code in BT-121 dazu, für die Kleinunternehmerregelung ist keiner vorgesehen. Was der Fall zusätzlich verlangt, prüft das Formular vor dem Absenden: bei AE die Nummern beider Seiten, bei K außerdem Lieferdatum und Lieferland. Auf der sichtbaren Seite steht die Befreiung ebenfalls — der Hinweis nach § 14a Absatz 5 UStG beziehungsweise auf § 19 UStG wird mitgedruckt.

Mehrere Fälle in einer Rechnung: ja. Die Steuergruppe ist im Standard das Paar aus Kategoriecode und Satz — 19 % und 7 % sind zwei Gruppen, S 19 % und AE 0 % ebenfalls. In der Eingabemaske trägt deshalb jede Position ihren eigenen Fall, und eine Rechnung darf steuerpflichtige und steuerfreie Zeilen nebeneinander führen. Jede Gruppe bekommt im XML ihre eigene Aufstellung mit eigener Bemessungsgrundlage, und jede Befreiung ihren eigenen Grund. Auf der sichtbaren Seite steht dann eine MwSt.-Spalte in der Positionstabelle und je eine Zeile pro Gruppe im Summenblock — sichtbare Seite und XML sagen dasselbe.

Häufige Fragen

Reicht es, „Reverse Charge“ in den Rechnungstext zu schreiben?

Nein. Für den strukturierten Teil zählt der Kategoriecode AE mit Satz null und Befreiungsgrund. Die sichtbare Angabe nach § 14a Absatz 5 UStG bleibt zusätzlich Pflicht — beides zusammen, nicht eines statt des anderen.

Was ist der Unterschied zwischen Z und E?

Z ist der Nullsatz und darf keinen Befreiungsgrund haben. E ist die Steuerbefreiung und muss einen haben. Für § 19 UStG und die Befreiungen nach § 4 UStG ist E richtig.

Brauche ich für den Befreiungsgrund einen VATEX-Code?

Nicht zwingend, ein Text in BT-120 genügt. Für die klaren Fälle gibt es passende Codes — VATEX-EU-AE, VATEX-EU-IC, VATEX-EU-G, VATEX-EU-O. Für die Kleinunternehmerregelung ist keiner vorgesehen.

Muss ein Kleinunternehmer ab 2027 E-Rechnungen ausstellen?

Nein, § 34a UStDV nimmt ihn davon aus; Papier und PDF bleiben zulässig. Empfangen und archivieren muss er strukturierte Rechnungen aber seit dem 1. Januar 2025.

Meine innergemeinschaftliche Rechnung fällt durch, obwohl alle Beträge stimmen. Warum?

Fast immer wegen BR-IC-11 oder BR-IC-12: Es fehlt das Lieferdatum beziehungsweise der Abrechnungszeitraum oder das Lieferland. Beide Felder sind nur bei Code K Pflicht, deshalb fallen sie sonst nie auf.

Darf eine Rechnung mehrere Steuersätze enthalten?

Ja. Für jede Kombination aus Kategoriecode und Satz entsteht eine eigene Gruppe BG-23. EN 16931 kann das ohne Erweiterung; ein EXTENDED-Profil braucht es dafür nicht.

Genügt eine VIES-Abfrage als Nachweis?

Für die Frage, ob die Nummer gültig ist, ja. In Deutschland ist es jedoch das Ergebnis der qualifizierten Bestätigungsabfrage beim BZSt, das der Umsatzsteuer-Anwendungserlass als aufzubewahrenden Nachweis benennt.

Kurz zusammengefasst

  • Kategorie, Satz und Grund sind drei getrennte Angaben — „0 %“ allein erklärt nichts.
  • AE verlangt beide USt-IdNr. und einen Grund; ein falscher Steuerausweis kostet nach § 14c UStG bares Geld.
  • K verlangt zusätzlich Lieferdatum oder Zeitraum und das Lieferland — daran scheitern diese Rechnungen.
  • E statt Z bei echten Befreiungen, samt Hinweis auf § 19 UStG in BT-120.
  • Die USt-IdNr. vorher prüfen, in Deutschland qualifiziert beim BZSt; ihre Gültigkeit ist seit 2020 materielle Voraussetzung der Steuerbefreiung.
  • Sichtbare Seite und XML müssen dasselbe sagen — bei Abweichung entscheidet das XML.

Unsicher, ob eine eingehende Rechnung mit Reverse Charge oder innergemeinschaftlicher Lieferung sauber codiert ist? Datei hochladen — die Regelfamilien dazu laufen mit.