Zum Inhalt springen

Ironfang Finance - Regelreferenz

PEPPOL-EN16931-R101: Eine Dokumentreferenz an der Position nur für das abgerechnete Objekt verwenden, mit Typcode 130

Eine cac:DocumentReference an einer Rechnungsposition muss das abgerechnete Objekt sein, mit cbc:DocumentTypeCode 130. Andere Dokumente gehören auf die Dokumentenebene.

Peppol BIS BillingFehler: Das Dokument ist ungültigPositionen und PreiseProzess und Referenzen

Auf dieser Seite

Die kurze Antwort

PEPPOL-EN16931-R101 schlägt fehl, wenn eine Position eine cac:DocumentReference trägt und keine ihrer Referenzen cbc:DocumentTypeCode 130 hat. Im aufgezeichneten Beispiel bezeichnet die Position den Zähler METER-0042, gibt aber keinen Typcode an. Ist die Referenz das abgerechnete Objekt, etwa ein Zähler, ein Abonnement oder ein Fahrzeug, ergänzen Sie <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode> nach ihrer cbc:ID.

Handelt es sich um ein anderes Dokument, etwa einen Lieferschein oder einen Stundenzettel, hat es an der Position nichts zu suchen. Verweisen Sie stattdessen auf Dokumentenebene darauf, zum Beispiel als Referenz auf eine Versandanzeige oder als rechnungsbegründende Unterlage.

Was die Regel prüft

Die Regel läuft für jede cac:InvoiceLine und cac:CreditNoteLine. Eine Position ohne cac:DocumentReference besteht; eine Position mit einer besteht nur, wenn deren cbc:DocumentTypeCode genau 130 ist.

Jeder andere Code scheitert, ebenso ein aufgefüllter. Im Versuch meldeten 916, 50 und 130 mit einem führenden Leerzeichen jeweils diese Regel; ein leerer Code meldete sie zusammen mit PEPPOL-EN16931-R008.

Bei mehreren Referenzen an einer Position genügt dieser Regel, dass eine davon 130 hat. Im Versuch bestand eine Position mit der Zählerreferenz und einer zweiten Referenz ohne Typcode diese Regel und wurde stattdessen von PEPPOL-EN16931-R100 und UBL-SR-52 gemeldet, die eine Referenz je Position zulassen.

Ein Schema an der Kennung ersetzt den Typcode nicht. Im Versuch meldete die untypisierte Referenz diese Regel weiterhin, als ihre cbc:ID ein Attribut schemeID erhielt.

BegriffBedeutungUBL-Element
BT-128Objektkennung auf Ebene der Rechnungspositioncac:InvoiceLine/cac:DocumentReference/cbc:ID (cac:CreditNoteLine/cac:DocumentReference/cbc:ID in a credit note)
-Dokumenttypcode einer Dokumentreferenz auf Positionsebenecac:InvoiceLine/cac:DocumentReference/cbc:DocumentTypeCode

Wie es in einer Integration dazu kommt

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

  • Die Referenz der Position wird für den Lieferschein oder Stundenzettel hinter der Position verwendet, weil sie das einzige Referenzelement ist, das eine Position bietet.
  • Das Mapping füllt die Objektkennung, aber nicht den festen Code 130, der sie begleiten muss.
  • Ein Dokumenttypcode, der für Referenzen auf Dokumentenebene gedacht ist, wird auf die Referenz der Position übertragen.

So korrigieren Sie das Dokument

  1. Fragen Sie, was die Referenz der Position bezeichnet. Ein abgerechnetes Objekt ist etwas, wofür die Position berechnet wird und das der Käufer nachverfolgt, etwa ein Zähler, ein Abonnement oder ein Fahrzeug.
  2. Schreiben Sie für ein abgerechnetes Objekt 130 in cbc:DocumentTypeCode direkt nach cbc:ID, und ergänzen Sie schemeID an der Kennung, wenn das Objekt zu einem bekannten Kennungsschema gehört.
  3. Entfernen Sie bei jedem anderen Dokument die Referenz der Position und verweisen Sie auf Dokumentenebene auf das Dokument: cac:DespatchDocumentReference für eine Versandanzeige oder cac:AdditionalDocumentReference für eine rechnungsbegründende Unterlage, bei Bedarf mit der dort angehängten Datei.
  4. Behalten Sie eine einzige cac:DocumentReference je Position.

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: Die Position nennt den Zähler METER-0042 ohne Dokumenttypcode

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:DocumentReference>
    <cbc:ID>METER-0042</cbc:ID>
  </cac:DocumentReference>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Ausschnitt der korrigierten Rechnung: dieselbe Referenz als abgerechnetes Objekt typisiert, Code 130

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:DocumentReference>
    <cbc:ID>METER-0042</cbc:ID>
    <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
  </cac:DocumentReference>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Die korrigierte Rechnung ergänzt <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode> in der Referenz der Position für METER-0042; die fehlerhafte Rechnung hat nur die Kennung. Gemeldet wird nur PEPPOL-EN16931-R101, an der Position, und der Prüfschritt EN 16931 besteht: Das Schema akzeptiert eine Dokumentreferenz ohne Typcode, und keine Regel von EN 16931 verlangt einen an einer Position.

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 für Invoice und CreditNote. Im Versuch meldete eine Gutschriftsposition mit derselben untypisierten Referenz diese Regel und bestand, sobald 130 ergänzt war.
  • Eine Regel von Peppol BIS, gemeldet nur im Peppol-Prüfschritt.
  • Referenzen auf Dokumentenebene sind nicht betroffen. Im Versuch bestand ein Lieferschein, als cac:DespatchDocumentReference angegeben, alle Prüfschritte.
  • Weitere Kinder einer Referenz auf Positionsebene bringen UBL-Warnungen. Im Versuch fügte eine Beschreibung an der typisierten Zählerreferenz die Warnung UBL-CR-543 hinzu, und ein an eine untypisierte Referenz angehängtes PDF brachte UBL-CR-544 neben dieser Regel.

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-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.

Die offizielle Definition von PEPPOL-EN16931-R101 (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.