Belegschmied

Integrations-Guide

Word- und Excel-Rechnungen: der Feldabgleich

Welche Angabe auf einer Word- oder Excel-Rechnung in welchem Feld der E-Rechnung landet, welche Felder EN 16931 erzwingt und was passiert, wenn eine fehlt. Vollständige Zuordnungstabelle mit BT-Nummern, dazu die typischen Vorlagenfehler.

14 Min. Zuletzt aktualisiert: 2026-08-31

Kurze Antwort: Eine Word- oder Excel-Rechnung wird zur E-Rechnung, indem die Angaben auf dem Dokument in die Felder der EN 16931 überführt werden. Die Zuordnung steht unten vollständig. Die einzige Regel, die Sie sich merken müssen: was ins XML soll, muss auf dem Dokument stehen. Belegschmied erfindet keine Inhalte, sondern lehnt lieber ab.

Dieser Guide richtet sich an alle, deren Rechnungen in einer Vorlage entstehen: kleine Betriebe ohne ERP genauso wie Fachabteilungen großer Häuser, in denen die Restmenge neben SAP oder einem anderen führenden System anfällt. Für die Zuordnung macht das keinen Unterschied, weil sie am Dokument ansetzt.

Wie die Umwandlung abläuft

Fünf Schritte, davon vier ohne Zutun:

  1. Extraktion. Die Rechnungsdaten werden aus der PDF gelesen.
  2. Überlagerung der Stammdaten. Wo im Arbeitsbereich etwas zur eigenen Firma hinterlegt ist, gewinnt dieser Wert gegen den aus dem Dokument gelesenen. Ist dort nichts hinterlegt, bleibt der Dokumentwert stehen.
  3. Selbstprüfung. Pflichtfelder, Rechenwege und Plausibilität. Jeder Befund senkt den Confidence-Wert um 0,15.
  4. Deterministische Checks. Rechnungsnummer im Dokumenttext, Arithmetik, Validierung gegen EN 16931.
  5. Erzeugung und Versand. ZUGFeRD-PDF mit eingebettetem XML oder XRechnung als eigenständige XML-Datei.

Bleibt der Confidence-Wert unter dem Schwellwert des Arbeitsbereichs (Standard 0,85), geht die Rechnung in die Freigabe statt raus.

Was aus den Stammdaten kommt und was vom Dokument

Das ist die wichtigste Unterscheidung dieses Guides, weil sie festlegt, was Sie in der Vorlage nachbessern müssen und was nicht.

Aus den Stammdaten des Arbeitsbereichs, sofern dort gefüllt: Name, Straße, PLZ, Ort, Land, USt-IdNr., Steuernummer und Bankverbindung des Rechnungsstellers. Diese Angaben sind für alle Ihre Rechnungen gleich, deshalb sind sie dort besser aufgehoben als in jeder einzelnen Vorlage. Wer sie hinterlegt, ist gegen Vorlagen abgesichert, die die USt-IdNr. nur als Bildbestandteil in der Fußzeile tragen.

Vom Dokument, ausnahmslos: alles Übrige. Rechnungsnummer, Datum, Empfänger, Positionen, Beträge, Steuersätze, Leistungsdatum, Befreiungsgründe, Referenzen, Zahlungsbedingungen.

Der Grund für die harte Trennung: Ein Default für einen Inhalt wäre eine Behauptung über einen Geschäftsvorfall, den wir nicht kennen. Ein falsches Leistungsdatum im XML ist ein Steuerthema, eine abgelehnte Rechnung nur ein Arbeitsschritt.

Der Feldabgleich

Die BT-Nummern sind die Feldbezeichner der EN 16931. Sie tauchen in Prüfberichten und Fehlermeldungen auf, deshalb stehen sie hier mit.

Rechnungskopf

Angabe auf der RechnungFeldPflichtWenn es fehlt
RechnungsnummerBT-1jaMISSING_INVOICE_NUMBER, Verarbeitung bricht ab
RechnungsdatumBT-2jaMISSING_INVOICE_DATE, Verarbeitung bricht ab
Belegart: Rechnung, Gutschrift, KorrekturBT-3jaWird als Rechnung (380) behandelt
WährungBT-5jaStandard des Arbeitsbereichs, in der Regel EUR
LeistungsdatumBT-72eines von beidenEN-16931-Ablehnung
Leistungszeitraum von/bisBT-73 / BT-74eines von beidenEN-16931-Ablehnung
FälligkeitsdatumBT-9nein
Zahlungsbedingungen als TextBT-20nein
VerwendungszweckBT-83nein
Freitext, HinweiseBT-22nein
Leitweg-ID (nur bei Behörden)BT-10bei B2GBR-DE-15, XRechnung wird abgelehnt
Bestellnummer des KundenBT-13nein
VertragsnummerBT-12nein
LieferscheinnummerBT-16nein
ProjektnummerBT-11nein
Bezug auf Vorrechnung bei Gutschrift oder KorrekturBT-25 / BT-26bei 381/384Prüfregel-Ablehnung

Rechnungssteller

Angabe auf der RechnungFeldPflichtWenn es fehlt
FirmennameBT-27jaMISSING_SUPPLIER_NAME, sofern auch die Stammdaten leer sind
Straße, PLZ, Ort, LandBT-35, BT-38, BT-37, BT-40jaEN-16931-Ablehnung
USt-IdNr.BT-31eines von beidenMISSING_SUPPLIER_TAX_ID
SteuernummerBT-32eines von beidenMISSING_SUPPLIER_TAX_ID
HandelsregisternummerBT-30nein
Rechtliche PflichtangabenBT-33nein
Ansprechpartner, Telefon, E-MailBT-41, BT-42, BT-43nein

Die USt-IdNr. wird gegen das Muster Ländercode plus mindestens acht Zeichen geprüft. DE123456789 läuft durch, DE 123 456 789 löst INVALID_SUPPLIER_VAT_ID aus. Schreiben Sie sie ohne Leerzeichen und ohne Bindestriche.

Rechnungsempfänger

Angabe auf der RechnungFeldPflichtWenn es fehlt
FirmennameBT-44jaMISSING_CUSTOMER_NAME
Straße, PLZ, Ort, LandBT-50, BT-53, BT-52, BT-55jaEN-16931-Ablehnung
USt-IdNr. des KundenBT-48bei Reverse Charge und innergemeinschaftlicher LieferungPrüfregel-Ablehnung
KundennummerBT-46nein
E-Mail-AdresseBT-49neinOhne Adresse auf dem Dokument und ohne recipient_email wird die Rechnung nur gespeichert, nicht versendet
Abweichende LieferanschriftBG-13neinWird nur übernommen, wenn sie vollständig ist

Positionen

Jede Zeile braucht mindestens Bezeichnung, Menge, Einzelpreis und Steuersatz. Ohne erkennbare Positionstabelle bricht die Verarbeitung mit NO_LINE_ITEMS ab.

Angabe auf der RechnungFeldPflichtAnmerkung
Bezeichnung der LeistungBT-153ja
MengeBT-129ja
EinheitBT-130jaFreitext wie „Pauschale" wird auf einen gültigen UN/ECE-Code abgebildet
Einzelpreis nettoBT-146ja
Steuersatz der PositionBT-152ja
PositionsrabattBG-27 / BT-136neinNur positiv und höchstens bis zur Zeilensumme
Zeilensumme nettoBT-131jaWird immer neu gerechnet, nie übernommen
ArtikelnummerBT-155nein

Die Zeilensumme wird als Menge × Einzelpreis minus Positionsrabatt neu berechnet, auch wenn auf dem Dokument ein anderer Wert steht. Grund: die Erzeugung rechnet ebenso, und eine Abweichung zwischen der Anzeige in der App und dem XML wäre der schwerere Fehler.

Summen und Steuer

Angabe auf der RechnungFeldPflichtWenn es nicht aufgeht
Summe der PositionenBT-106jaNET_TOTAL_MISMATCH
Nachlässe auf DokumentebeneBT-107nein
Zuschläge auf DokumentebeneBT-108nein
Gesamtbetrag nettoBT-109jaNET_TOTAL_MISMATCH
Gesamtbetrag SteuerBT-110jaVAT_TOTAL_MISMATCH
Gesamtbetrag bruttoBT-112jaGROSS_TOTAL_MISMATCH
Steueraufstellung je SatzBG-23, BT-116 bis BT-119jaVAT_BREAKDOWN_MISMATCH
Befreiungsgrund bei 0 ProzentBT-120bei 0-Prozent-PositionenBR-S-02, BR-S-05
Bereits gezahlte AbschlägeBT-113bei SchlussrechnungenPREPAID_MISMATCH
ZahlbetragBT-115neinDient als Gegenprobe zu den Abschlägen

Die Arithmetik wird mit einer Toleranz von einem Cent nachgerechnet, in drei Richtungen: Positionssumme gegen Gesamt-Netto, Netto mal Satz gegen die ausgewiesene Steuer je Satz, und Netto plus Steuer gegen Brutto.

Bankverbindung

Angabe auf der RechnungFeldPflichtAnmerkung
IBANBT-84neinKommt bevorzugt aus den Stammdaten
BICBT-86neinKommt bevorzugt aus den Stammdaten
KontoinhaberBT-85nein

Die fünf Vorlagenfehler, die tatsächlich auftreten

1. Kein Leistungsdatum

Die häufigste Lücke. Viele Vorlagen tragen nur ein Rechnungsdatum, weil das jahrzehntelang gereicht hat. EN 16931 verlangt zusätzlich, wann geleistet wurde: entweder ein Leistungsdatum (BT-72) oder ein Leistungszeitraum (BT-73/BT-74).

Abhilfe: eine Zeile in die Vorlage, „Leistungsdatum: …" oder „Leistungszeitraum: … bis …". Steht auf der Rechnung sinngemäß „Leistungsdatum entspricht Rechnungsdatum", reicht das ebenfalls, weil die Angabe dann auf dem Dokument steht.

2. 0-Prozent-Positionen ohne Befreiungsgrund

Reverse Charge, innergemeinschaftliche Lieferung, Kleinunternehmerregelung: Wer mit 0 Prozent abrechnet, muss den Grund auf die Rechnung schreiben. Ohne ihn werden diese Positionen als regulär besteuert eingestuft, und die Validierung lehnt mit BR-S-02 und BR-S-05 ab.

Abhilfe: den Befreiungstext ausschreiben, etwa „Steuerschuldnerschaft des Leistungsempfängers (Reverse Charge)" oder „Innergemeinschaftliche Lieferung, steuerfrei nach § 4 Nr. 1b UStG". Der Text wird als BT-120 übernommen.

3. Positionen ohne Einzelpreis

Eine Zeile mit Bezeichnung und Gesamtbetrag, aber ohne Menge und Einzelpreis, ist für EN 16931 keine Position. Typisch bei Pauschalen und bei Rechnungen, die aus einem Fließtext bestehen.

Abhilfe: Menge 1, Einheit „Pauschale", Einzelpreis gleich Gesamtbetrag. Damit ist die Zeile vollständig, ohne dass sich am Erscheinungsbild etwas ändert.

4. Rabatte als Fließtext neben der Summe

„abzüglich 3 % Treuerabatt" unter der Summenzeile ist für einen Menschen klar und für die Zuordnung nicht. Die Positionssumme geht dann gegen das Gesamt-Netto nicht auf, Ergebnis ist NET_TOTAL_MISMATCH.

Abhilfe: Rabatte als eigene Position mit negativem Betrag oder als ausgewiesenen Nachlass auf Dokumentebene darstellen, mit Betrag und zugehörigem Steuersatz.

5. Mehrere Rechnungen in einer PDF

Sammel-PDFs werden bewusst abgelehnt (MULTIPLE_INVOICES), weil eine E-Rechnung genau eine Rechnung abbildet. Ohne Abbruch würde die Extraktion würfeln, welche Rechnung im Ergebnis landet, und das Ergebnis wäre formal gültig und inhaltlich falsch.

Abhilfe: eine PDF je Rechnung einliefern.

Die Vorlage einmal prüfen

Zehn Minuten, ohne Konto: eine echte Rechnung durch PDF zu ZUGFeRD schicken. Das Werkzeug extrahiert, erzeugt die E-Rechnung und validiert das Ergebnis. Was durchläuft, läuft auch im Betrieb; was hängen bleibt, zeigt die Lücke, bevor sie ein Kunde meldet.

Der Validator beantwortet diese Frage nicht. Er prüft eine bereits strukturierte Datei gegen EN 16931 und setzt damit voraus, was Sie gerade erst erzeugen wollen. In einer gewöhnlichen Word-PDF findet er kein Profil.

Prüfen Sie mit einer Rechnung, die typisch ist, nicht mit der einfachsten: gemischte Steuersätze, ein Rabatt, eine 0-Prozent-Position. Genau dort liegen die Lücken.

Danach: automatisieren

Sobald die Vorlage trägt, ist die Frage nur noch, auf welchem Weg die PDFs ankommen. Für Microsoft-365-Häuser ist das ein Flow auf einen beobachteten Ordner, für alles Programmatische die REST-API, und für Abteilungen ohne IT-Beteiligung eine Mail an die Versandadresse oder das CC-Feld. Die Übersicht aller Wege steht auf der Integrationsseite.

Häufige Fragen

Kann Belegschmied fehlende Angaben ergänzen?

Nur bei der eigenen Identität. Anschrift, USt-IdNr., Steuernummer, Handelsregisternummer und Bankverbindung des Rechnungsstellers kommen aus den Stammdaten des Arbeitsbereichs, wo sie hinterlegt sind. Alles andere – Positionen, Beträge, Leistungsdatum, Empfänger, Befreiungsgründe – muss auf dem Dokument stehen. Inhalte werden nicht geraten, weil eine erfundene Angabe schlimmer ist als eine abgelehnte Rechnung.

Muss die Vorlage umgebaut werden?

Meistens nicht. Die üblichen Lücken sind drei: kein Leistungsdatum oder Leistungszeitraum, kein Befreiungsgrund bei 0-Prozent-Positionen, und Positionen ohne Einzelpreis. Das sind Ergänzungen in der Vorlage, kein Umbau.

Wie teste ich eine Vorlage, ohne ein Konto anzulegen?

Über /tools/pdf-zu-zugferd. Das Werkzeug extrahiert, erzeugt die E-Rechnung und validiert sie gegen EN 16931. Der Validator unter /tools/validieren ist dafür das falsche Werkzeug: er prüft eine bereits strukturierte Datei und findet in einer gewöhnlichen Word-PDF kein Profil.

Funktioniert das auch mit gescannten Rechnungen?

Nicht zuverlässig. Vor der Erzeugung wird geprüft, ob die Rechnungsnummer wortwörtlich im Text der PDF vorkommt. Ein Scan hat keine Textschicht, die Prüfung schlägt mit INVOICE_NUMBER_NOT_IN_PDF fehl. Liefern Sie die digital erzeugte PDF statt eines eingescannten Ausdrucks.

Weitere Integrations-Guides

Anbindung besprechen

Sagen Sie uns, welches System die Rechnungen erzeugt und wie sie heute verschickt werden. Wir sagen Ihnen, welcher Weg passt und was er kostet.

Wir verwenden Ihre Angaben ausschließlich, um Sie zu dieser Anfrage zu kontaktieren. Keine Weitergabe an Dritte, kein Newsletter. Details in der Datenschutzerklärung.