Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-27: Einen negativen Nettopreis des Artikels durch Verlagern des Vorzeichens auf die Menge korrigieren

Der Nettopreis des Artikels in einer Position liegt unter null. Preise müssen null oder positiv sein: Drücken Sie eine Minderung oder Korrektur mit einer negativen Menge aus.

EN 16931Fehler: Das Dokument ist ungültigPositionen und Preise

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.

BegriffBedeutungUBL-Element
BT-146Nettopreis des Artikelscac:InvoiceLine/cac:Price/cbc:PriceAmount
BT-146Nettopreis 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

  1. Ermitteln Sie die Position anhand der Fundstelle des Befunds und sehen Sie sich cac:Price/cbc:PriceAmount an.
  2. Machen Sie den Preis positiv und setzen Sie das Vorzeichen an cbc:InvoicedQuantity (oder cbc:CreditedQuantity): Aus Menge 1 zu -2 wird Menge -1 zu 2.
  3. Lassen Sie cbc:LineExtensionAmount unverändert. Menge mal Preis ergibt denselben Wert, daher bleiben der Nettobetrag der Position und jede darauf aufbauende Summe, wie sie sind.
  4. 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.
  5. 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.

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: 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

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:InvoiceLine in einer Invoice und cac:CreditNoteLine in einer CreditNote. 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-27 auch PEPPOL-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.

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.