Belegschmied
BR-04EN 16931

BR-04: Rechnungstyp-Code (BT-3) fehlt

Die Rechnung sagt nicht, welche Art Dokument sie ist (Rechnung, Gutschrift, korrigierte Rechnung). Meist fehlt der Code, weil das erzeugende System den Belegtyp nicht auf die UNTDID-1001-Codeliste abbildet.

Regeltext im Prüfregelwerk

An Invoice shall have an Invoice type code (BT-3).

BT-3

Der Rechnungstyp-Code entscheidet, wie der Empfänger das Dokument verbucht: als normale Rechnung, als Gutschrift oder als Korrektur. Ohne ihn kann keine automatische Verarbeitung starten.

Was die Regel prüft

BT-3 (BT = Business Term, das nummerierte Feld der Norm EN 16931) muss vorhanden sein. Der Wert ist ein numerischer Code aus der Codeliste UNTDID 1001. Die wichtigsten Werte im deutschen Alltag: 380 Handelsrechnung, 381 Gutschrift, 384 korrigierte Rechnung, 326 Teilrechnung, 389 Gutschrift im Gutschriftverfahren. In der CII-Syntax steht der Code in rsm:ExchangedDocument/ram:TypeCode.

BR-04 verlangt nur, dass ein Code da ist. Welche Codes die XRechnung zulässt, regelt zusätzlich BR-DE-17; und wer 384 nutzt, braucht wegen BR-DE-26 eine Referenz auf die Vorgängerrechnung.

Warum sie in der Praxis fehlschlägt

Der häufigste Auslöser ist ein fehlendes Mapping: Das Vorsystem kennt Belegarten wie „Ausgangsrechnung" oder „Storno" als interne Kürzel, und beim XML-Export wird vergessen, sie in UNTDID-1001-Codes zu übersetzen, das Feld bleibt leer. Zweiter Fall: Ein Freitext oder das interne Kürzel („RG", „Rechnung") landet im Element; dann schlägt zwar meist erst die Codelisten-Prüfung an, manche Validatoren werten das Feld aber als nicht vorhanden. Dritter Fall sind selbst gebaute Templates, die ram:TypeCode schlicht nicht enthalten, weil das Beispiel, von dem kopiert wurde, es auch nicht hatte.

So behebst du den Fehler

Bilde jede Belegart deines Systems fest auf einen UNTDID-1001-Code ab und schreib diesen Code nach ram:TypeCode. Für den Normalfall einer Rechnung ist 380 richtig. Nutz keine Fantasiewerte: Der Code wird gegen die Codeliste geprüft. In Belegschmied wird der Typ-Code aus der gewählten Belegart abgeleitet, das Feld kann dort nicht leer bleiben.

XML-Beispiel: vorher und nachher

<rsm:ExchangedDocument>
  <ram:ID>RE-2026-0142</ram:ID>
  <!-- verletzt BR-04: ram:TypeCode fehlt komplett -->
  <ram:IssueDateTime>
    <udt:DateTimeString format="102">20260810</udt:DateTimeString>
  </ram:IssueDateTime>
</rsm:ExchangedDocument>
<rsm:ExchangedDocument>
  <ram:ID>RE-2026-0142</ram:ID>
  <ram:TypeCode>380</ram:TypeCode>
  <ram:IssueDateTime>
    <udt:DateTimeString format="102">20260810</udt:DateTimeString>
  </ram:IssueDateTime>
</rsm:ExchangedDocument>

Rechnung selbst prüfen

Laden Sie Ihre Datei hoch und sehen Sie in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.

Regeln, die oft zusammen auftreten

← Alle Fehlermeldungen im Überblick

Gepflegt von Emilio Irmscher, Gründer von Belegschmied. Über den Autor