Auf dieser Seite
Die kurze Antwort
PEPPOL-EN16931-R080 schlägt fehl, wenn eine CreditNote mehr als eine cac:AdditionalDocumentReference mit dem cbc:DocumentTypeCode 50 enthält. Behalten Sie eine einzige Projektreferenz je Gutschrift: das Projekt, auf das sich die Gutschrift bezieht.
Die Gutschrift in UBL 2.1 hat kein Element cac:ProjectReference, daher trägt Peppol das Projekt dort als zusätzliche Dokumentreferenz mit dem Typcode 50. Deshalb wird die Grenze über diese Referenzen gezählt, und deshalb gilt sie nur für Gutschriften.
Was die Regel prüft
Die Regel läuft einmal am Wurzelelement der Gutschrift und zählt die zusätzlichen Dokumentreferenzen mit dem Typcode 50. Eine ist erlaubt; jede größere Anzahl schlägt fehl, und der Befund wird trotzdem einmal gemeldet: Im Versuch ergaben drei solche Referenzen einen einzigen Befund am Wurzelelement.
Die Kennungen werden nicht miteinander verglichen. Im Versuch schlugen zwei Referenzen, die beide PROJECT-001 enthielten, genauso fehl wie zwei verschiedene.
Referenzen mit einem anderen oder gar keinem Typcode werden nicht gezählt. Im Versuch bestand eine zweite Referenz auf PROJECT-002 ohne Typcode alle Prüfschritte, sie ist dann aber eine gewöhnliche rechnungsbegründende Unterlage und keine Projektreferenz.
Rechnungen liegen außerhalb der Regel. Im Versuch meldete eine Invoice mit zwei Referenzen vom Typ 50 sie nicht; der Prüfschritt EN 16931 wies jede Referenz als UBL-SR-43 ab, weil eine Rechnung ihr Projekt in cac:ProjectReference führt, und zwei davon meldeten UBL-SR-39.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-11 | Projektreferenz | cac:AdditionalDocumentReference[cbc:DocumentTypeCode = 50]/cbc:ID (cac:ProjectReference/cbc:ID in an invoice) |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Eine Gutschrift, die aus einer Rechnung mit mehreren Projekten aufgebaut wird, macht aus jedem davon eine Referenz vom Typ
50. - Die Gutschrift betrifft Arbeiten an mehr als einem Projekt, und der Export führt sie alle auf.
- Andere Referenzen, etwa ein Arbeitsauftrag oder ein Vertrag, werden mit dem Typcode
50geschrieben, weil das Mapping für jede zusätzliche Referenz denselben Code verwendet. - Dasselbe Projekt wird zweimal geschrieben, einmal aus dem Kopf und einmal aus einer Kostenzuordnung.
So korrigieren Sie das Dokument
- Entscheiden Sie, zu welchem einzelnen Projekt die Gutschrift gehört, in der Regel zum Projekt der Rechnung, die sie korrigiert.
- Behalten Sie eine
cac:AdditionalDocumentReferencemit diesem Projekt incbc:IDund demcbc:DocumentTypeCode50, und entfernen Sie die übrigen. - Betrifft die Gutschrift tatsächlich mehrere Projekte, stellen Sie je Projekt eine Gutschrift aus.
- Übermitteln Sie Referenzen, die keine Projekte sind, in ihren eigenen Elementen: Ein Vertrag gehört in
cac:ContractDocumentReference, und eine rechnungsbegründende Unterlage ist eine zusätzliche Dokumentreferenz ohne Typcode.
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 Gutschrift: zwei zusätzliche Dokumentreferenzen vom Typ 50
<cac:BillingReference>
<!-- invoice reference omitted from this fragment -->
</cac:BillingReference>
<cac:AdditionalDocumentReference>
<cbc:ID>PROJECT-001</cbc:ID>
<cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
<cbc:ID>PROJECT-002</cbc:ID>
<cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>
<cac:AccountingSupplierParty>
<!-- seller omitted from this fragment -->
</cac:AccountingSupplierParty>Ausschnitt der korrigierten Gutschrift: eine Projektreferenz, PROJECT-001
<cac:BillingReference>
<!-- invoice reference omitted from this fragment -->
</cac:BillingReference>
<cac:AdditionalDocumentReference>
<cbc:ID>PROJECT-001</cbc:ID>
<cbc:DocumentTypeCode>50</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>
<cac:AccountingSupplierParty>
<!-- seller omitted from this fragment -->
</cac:AccountingSupplierParty>Die fehlerhafte Gutschrift hat eine zweite cac:AdditionalDocumentReference für PROJECT-002 mit dem Typcode 50; die korrigierte behält nur PROJECT-001, und sonst unterscheidet sich nichts. PEPPOL-EN16931-R080 ist der einzige Befund, am Wurzelelement CreditNote. Der Prüfschritt EN 16931 besteht, weil seine eigene Grenze für Projektreferenzen cac:ProjectReference zählt, das eine Gutschrift nicht hat.
Was der Validator gemeldet hat
- Die fehlerhafte Gutschrift meldet PEPPOL-EN16931-R080. Das korrigierte Dokument besteht jeden Prüfschritt ohne Befunde.Fehlerhaftes XML herunterladenKorrigiertes XML herunterladen
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
- Nur eine Regel für
CreditNote. EineInvoiceführt ihre einzige Projektreferenz incac:ProjectReference, und der Prüfschritt EN 16931 setzt die Grenze dort alsUBL-SR-39durch. - Eine Regel aus Peppol BIS, nur im Prüfschritt Peppol gemeldet.
- Die Referenz ist dennoch eine zusätzliche Dokumentreferenz, daher gelten die Regeln für diese auch für sie: Im Versuch meldete ein leeres
cbc:IDan der Referenz vom Typ50BR-52undPEPPOL-EN16931-R008. - Das Projekt nach
cac:ProjectReferencezu verschieben ist in einer Gutschrift keine Möglichkeit. Im Versuch scheiterte dieses Element am XSD-Prüfschritt, da das Schema der Gutschrift in UBL 2.1 es nicht definiert.
Verwandte Regeln
- PEPPOL-EN16931-R100 setzt die entsprechende Grenze von einem abgerechneten Objekt je Position
- BR-52 verlangt eine Kennung in jeder zusätzlichen Dokumentreferenz, die Projektreferenz eingeschlossen
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): How Peppol invoice validation actually works
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-R080 (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.

