Auf dieser Seite
Die kurze Antwort
BR-27 schlägt fehl, wenn cac:Price/cbc:PriceAmount in einer Position kleiner als null ist. Ein Preis gibt an, was eine Einheit kostet, und das ist nie negativ. Wenn eine Position Geld vom Dokument abzieht, etwa bei einer Rücksendung, einer Korrektur oder einer Stornierung, halten Sie den Preis positiv und machen Sie die Menge negativ.
Der Nettobetrag der Position ändert sich nicht. Im aufgezeichneten Beispiel ist die Position in beiden Fällen -2.00 wert; die Regel beanstandet, dass dieser Wert als 1 zum Preis von -2 zustande kommt, wo es -1 zum Preis von 2 sein sollte.
Was die Regel prüft
Für jede cac:InvoiceLine oder cac:CreditNoteLine liest die Regel cac:Price/cbc:PriceAmount und verlangt, dass der Wert größer oder gleich null ist. Sie betrachtet sonst nichts an der Position: weder die Menge noch den Nettobetrag der Position.
Ein Preis von null besteht. Eine vollständig stimmige Rechnung mit einem Preis von 0 und einem Nettobetrag der Position von 0.00 wird ohne Befund validiert.
Eine negative Menge und ein negativer Nettobetrag der Position sind nach dieser Regel beide erlaubt. Das korrigierte Beispiel hat genau das.
Schreiben Sie null ohne Vorzeichen. Im Versuch wurde ein Preis von -0.00 von dieser Regel gemeldet.
Eine Position ganz ohne cbc:PriceAmount meldet ebenfalls BR-27, neben BR-26, der Regel, die den Preis verlangt. Die Angabe des Preises behebt beide.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-146 | Nettopreis des Artikels | cac:InvoiceLine/cac:Price/cbc:PriceAmount |
| BT-146 | Nettopreis des Artikels (Gutschrift) | cac:CreditNoteLine/cac:Price/cbc:PriceAmount |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Das Quellsystem speichert eine Minderungs- oder Korrekturposition als Menge 1 mit negativem Preis je Einheit, und die Abbildung übernimmt beide Felder unverändert.
- Der Preis wird ermittelt, indem der Positionsbetrag durch eine Menge ohne Vorzeichen geteilt wird, sodass das Vorzeichen des Betrags beim Preis landet.
- Ein Rabatt wird als eigene Position mit negativem Preis abgebildet, obwohl ein Nachlass auf die Position oder das Dokument ihn besser beschreiben würde.
- Ein Vorzeichenwechsel, der für Gutschriften gedacht ist, wird auf jedes numerische Feld der Position angewendet, auch auf den Preis.
So korrigieren Sie das Dokument
- Ermitteln Sie die Position anhand der Fundstelle des Befunds und sehen Sie sich
cac:Price/cbc:PriceAmountan. - Machen Sie den Preis positiv und setzen Sie das Vorzeichen an
cbc:InvoicedQuantity(odercbc:CreditedQuantity): Aus Menge 1 zu -2 wird Menge -1 zu 2. - Lassen Sie
cbc:LineExtensionAmountunverändert. Menge mal Preis ergibt denselben Wert, daher bleiben der Nettobetrag der Position und jede darauf aufbauende Summe, wie sie sind. - Ist die Position in Wirklichkeit ein Rabatt auf andere Waren und keine zurückgenommene Menge, erwägen Sie, sie stattdessen als Nachlass auf die Position oder das Dokument zu übermitteln. Das ist eine Entscheidung darüber, wie der Geschäftsvorfall abgebildet wird, nichts, was diese Regel erzwingt.
- Stellen Sie das Dokument nicht auf eine Gutschrift um, nur um die negative Position zu vermeiden. Eine Rechnung darf eine negative Position enthalten, wie das korrigierte Beispiel zeigt.
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: Position 3 ist Menge 1 zu einem Nettopreis von -2
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="GBP">-2.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Example correction</cbc:Name>
<!-- tax category omitted from this fragment -->
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="GBP">-2</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>Ausschnitt der korrigierten Rechnung: dieselbe Position als Menge -1 zu einem Nettopreis von 2
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">-1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="GBP">-2.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Example correction</cbc:Name>
<!-- tax category omitted from this fragment -->
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="GBP">2</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>In Position 3 unterscheiden sich zwei Werte: cbc:InvoicedQuantity geht von 1 auf -1 und cbc:PriceAmount von -2 auf 2. Der Nettobetrag der Position ist in beiden Fällen -2.00. Das fehlerhafte Dokument meldet nur BR-27. Der Peppol-Prüfschritt besteht, weil seine Prüfung der Positionsberechnung, PEPPOL-EN16931-R120, weiterhin feststellt, dass 1 mal -2 gleich -2.00 ist.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-27. 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
- Gilt für
cac:InvoiceLinein einerInvoiceundcac:CreditNoteLinein einerCreditNote. Ein negativer Preis in einer Gutschriftsposition wurde auf dieselbe Weise gemeldet. - Eine Gutschrift braucht keine negativen Werte, um eine Gutschrift darzustellen. Die Gutschrift-Beispieldateien tragen positive Mengen, Preise und Beträge und werden ohne Befund validiert; eine Korrektur innerhalb einer Gutschrift verwendet eine negative Menge, genauso wie bei einer Rechnung.
- Die Regel betrifft nur den Nettopreis. Der Bruttopreis,
cac:Price/cac:AllowanceCharge/cbc:BaseAmount, hat eine eigene Regel,BR-28, die gemeldet wurde, als ein negativer Bruttopreis versucht wurde. - Wenn der negative Preis außerdem nicht zum Nettobetrag der Position passt, meldet das Dokument neben
BR-27auchPEPPOL-EN16931-R120. Das geschah, als nur der Preis negativ gemacht wurde, und als sowohl Preis als auch Menge negativ waren, bei einem negativen Nettobetrag der Position.
Verwandte Regeln
- PEPPOL-EN16931-R120 prüft, dass der Nettobetrag der Position gleich Menge mal Preis ist, abzüglich Nachlässen und zuzüglich Zuschlägen
- PEPPOL-EN16931-R046 prüft den Nettopreis gegen den Bruttopreis und dessen Nachlass
- BR-CO-10 prüft die Summe der Nettobeträge der Positionen, einschließlich negativer Positionen
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): Understanding EN 16931 validation errors
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-20.
Die offizielle Definition von BR-27 (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.

