Zum Inhalt springen

Ironfang Finance - Regelreferenz

PEPPOL-EN16931-P0100: Einen Rechnungstyp-Code verwenden, den Peppol BIS Billing erlaubt

Peppol BIS Billing akzeptiert nur einen Teil der Rechnungscodes aus UNTDID 1001. Ein Code wie 325 (Proforma) besteht EN 16931 und schlägt hier fehl.

Peppol BIS BillingFehler: Das Dokument ist ungültigCodelistenProzess und Referenzen

Auf dieser Seite

Die kurze Antwort

PEPPOL-EN16931-P0100 schlägt fehl, wenn cbc:InvoiceTypeCode einen Code außerhalb der Liste von Peppol BIS Billing enthält. Senden Sie 380 für eine Handelsrechnung oder einen anderen Code aus dieser Liste, der das Dokument zutreffend beschreibt, etwa 386 für eine Vorauszahlungsrechnung oder 383 für eine Belastungsanzeige.

Ein Code kann ein echter Rechnungscode aus UNTDID 1001 sein, den BR-CL-01 akzeptiert, und hier trotzdem fehlschlagen. Das aufgezeichnete 325 ist eine Proformarechnung, die keine Zahlung fordert; Peppol BIS Billing hat dafür keinen Code, und eine Umcodierung in 380 würde ein Dokument, das nichts verlangt, als Zahlungsaufforderung darstellen.

Was die Regel prüft

Die Regel liest cbc:InvoiceTypeCode, entfernt umgebende Leerzeichen und vergleicht den Wert mit 26 Codes: 71, 80, 82, 84, 102, 218, 219, 326, 331, 380, 382, 383, 384, 386, 388, 393, 395, 553, 575, 623, 780, 817, 870, 875, 876 und 877.

EN 16931 erlaubt mehr Rechnungscodes. Im Versuch bestanden 325, 389 (Rechnung im Selbstfakturierungsverfahren) und 130 jeweils BR-CL-01 und schlugen nur bei dieser Regel fehl.

Sie greift nur, wenn cbc:ProfileID eine Geschäftsprozesskennung ist, die die Peppol-Regeln kennen. Unter einer unbekannten Prozesskennung ergab 325 im Versuch PEPPOL-EN16931-R007 und keinen Befund dieser Regel; wird die Prozesskennung korrigiert, kann also als Nächstes diese Regel erscheinen.

Auf der Liste zu stehen reicht nicht immer. 326 (Teilrechnung) und 384 (Rechnungskorrektur) sind gelistet, aber PEPPOL-EN16931-P0112 beschränkt sie dann auf Rechnungen zwischen zwei deutschen Parteien; 326 meldete im Versuch beim britischen Beispiel diese Regel.

BegriffBedeutungUBL-Element
BT-3Code für den Rechnungstypcbc:InvoiceTypeCode
BT-23Geschäftsprozesstypcbc:ProfileID

Wie es in einer Integration dazu kommt

Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:

  • Die Codetabelle wurde aus der vollständigen Liste UNTDID 1001 oder aus der Teilmenge von EN 16931 aufgebaut statt aus der Peppol-Teilmenge.
  • Entwürfe, Proformarechnungen oder Angebote laufen durch denselben Export wie endgültige Rechnungen und behalten ihren eigenen Typcode.
  • Rechnungen im Selbstfakturierungsverfahren, codiert als 389, werden über den gewöhnlichen Billing-Prozess gesendet.
  • Eine interne Dokumenttypnummer ist zufällig ein gültiger Code aus UNTDID 1001 mit anderer Bedeutung.

So korrigieren Sie das Dokument

  1. Klären Sie, was das Dokument ist. Handelt es sich um eine gewöhnliche Zahlungsforderung für Waren oder Dienstleistungen, verwenden Sie 380.
  2. Wählen Sie für andere Rechnungsarten den passenden Code aus der obigen Peppol-Liste, nicht aus der vollständigen Liste UNTDID 1001. Bei 326 oder 384 prüfen Sie zusätzlich die Bedingung der deutschen Parteien.
  3. Fordert das Dokument keine Zahlung, wie bei einer Proformarechnung, verhindern Sie, dass es als Peppol-Rechnung gesendet wird, statt es umzucodieren.
  4. Beschränken Sie die Codetabelle in Ihrer Zuordnung auf die Peppol-Liste, damit ein nicht unterstützter Code schon beim Erzeugen des Dokuments auffällt.

Korrigierte Rechnung prüfen

Vorher und nachher

Dies sind Ausschnitte, keine vollständigen Dokumente. Die vollständigen synthetischen Dokumente, aus denen sie stammen, sind unten verlinkt.

Ausschnitt der fehlerhaften Rechnung: ein bekannter Billing-Prozess mit Typcode 325, Proformarechnung

<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<cbc:DueDate>2026-10-08</cbc:DueDate>
<cbc:InvoiceTypeCode>325</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>

Ausschnitt der korrigierten Rechnung: Typcode 380, Handelsrechnung

<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<cbc:DueDate>2026-10-08</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>

Nur cbc:InvoiceTypeCode unterscheidet sich: 325 in der fehlerhaften Rechnung, 380 in der korrigierten. Das fehlerhafte Dokument meldet nur PEPPOL-EN16931-P0100; der Prüfschritt EN 16931 besteht, weil 325 auf der umfassenderen Liste steht, die BR-CL-01 prüft. Der korrigierte Wert passt zu diesem Beispiel, das eine gewöhnliche Rechnung ist; er ist keine Anleitung, eine echte Proformarechnung umzucodieren.

Was der Validator gemeldet hat

Aufgezeichnet mit phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, der Engine hinter dem kostenlosen Validator, mit synthetischen Daten. Ein aufgezeichnetes Ergebnis ist ein Regressionsnachweis für diese Dokumente, keine Zertifizierung.

Wo die Regel gilt

  • Gilt nur für UBL Invoice. Eine CreditNote trägt cbc:CreditNoteTypeCode, das PEPPOL-EN16931-P0101 gegen eine eigene Liste prüft.
  • Dieselbe Liste gilt unter jeder bekannten Prozesskennung, auch unter urn:peppol:bis:billing_with_response: 325 schlug im Versuch auch mit dieser Kennung fehl.
  • Ein Code, der auf keiner der beiden Listen steht, etwa 999, oder ein leeres Element wird hier und von BR-CL-01 gemeinsam gemeldet.

Umfang und Quelle

Geschrieben für Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, angewendet auf Invoice- und CreditNote-Dokumente in UBL 2.1. Andere Profile, Syntaxen und Releases können diese Kennung anders definieren. Version des Hinweiskatalogs 2026-09-24.1: Quelle geprüft am 2026-09-24, Erklärung zuletzt aktualisiert am 2026-09-24.

Die offizielle Definition von PEPPOL-EN16931-P0100 (auf Englisch) enthält den normativen Wortlaut und den Test. Diese Seite ist unsere Erklärung dazu, keine Kopie.

Die Erklärung ändert das Urteil der Engine nicht. Dass Sie diesen Befund beheben, heißt nicht, dass das Dokument jeden Prüfschritt besteht. Die Validierung bescheinigt keine rechtliche oder steuerliche Konformität und überträgt kein Dokument über Peppol.