Zum Inhalt springen

Ironfang Finance - Regelreferenz

PEPPOL-EN16931-R054: Eine Steuersumme ohne Aufschlüsselung nur zusammen mit einer Umsatzsteuer-Buchungswährung übermitteln

Ein cac:TaxTotal ohne cac:TaxSubtotal muss genau einmal vorkommen, wenn cbc:TaxCurrencyCode angegeben ist, und gar nicht, wenn es fehlt.

Peppol BIS BillingFehler: Das Dokument ist ungültigUmsatzsteuerSummen

Auf dieser Seite

Die kurze Antwort

PEPPOL-EN16931-R054 zählt die cac:TaxTotal-Elemente direkt unter dem Wurzelelement, die kein cac:TaxSubtotal enthalten. Ist cbc:TaxCurrencyCode vorhanden, muss es genau eines geben, das die Umsatzsteuersumme in der Buchungswährung trägt; ohne diesen Code darf es keines geben. Im aufgezeichneten Beispiel ist eine Steuersumme in EUR vorhanden, der Code, der EUR als Buchungswährung angibt, aber nicht; ergänzen Sie daher entweder cbc:TaxCurrencyCode oder entfernen Sie die zusätzliche Summe.

Welche der beiden Möglichkeiten richtig ist, ist eine geschäftliche Tatsache, die der Validator nicht entscheiden kann. Behalten Sie die zweite Summe nur, wenn der Verkäufer die Umsatzsteuer tatsächlich in dieser Währung bucht.

Was die Regel prüft

Die Regel läuft einmal je Dokument. Eine Steuersumme wird gezählt, wenn sie ein direktes Kindelement des Wurzelelements ist und überhaupt kein Kindelement cac:TaxSubtotal hat; die Steuersumme mit der Umsatzsteueraufschlüsselung wird nie gezählt.

Die erwartete Anzahl ist 1, wenn cbc:TaxCurrencyCode vorhanden ist, und 0, wenn nicht. Die Währung der gezählten Summe wird hier nicht untersucht; eine überzählige Summe in der Rechnungswährung zählt daher genauso wie eine in der Buchungswährung. Im Versuch ohne cbc:TaxCurrencyCode meldeten diese Regel und BR-CO-15 eine doppelte GBP-Summe.

Zwei Summen ohne Aufschlüsselung schlagen fehl, selbst wenn beide in der angegebenen Währung sind. Eine doppelte EUR-Summe neben einem cbc:TaxCurrencyCode gleich EUR meldete im Versuch nur diese Regel.

Die Summe in der Buchungswährung darf keine eigene Aufschlüsselung tragen. Im Versuch blieb, als die EUR-Summe ein cac:TaxSubtotal erhielt, keine Summe ohne Aufschlüsselung übrig; diese Regel schlug daher an, und PEPPOL-EN16931-R053 (zwei Summen mit Aufschlüsselung), PEPPOL-EN16931-R051 (EUR-Beträge, wo die Rechnungswährung verlangt ist) und BR-S-08 kamen hinzu.

BegriffBedeutungUBL-Element
BT-6Code für die Umsatzsteuer-Buchungswährungcbc:TaxCurrencyCode
BT-111Gesamtbetrag der Umsatzsteuer in der Buchungswährungcac:TaxTotal/cbc:TaxAmount (in the tax total without cac:TaxSubtotal)
BG-23Umsatzsteueraufschlüsselungcac:TaxTotal/cac:TaxSubtotal

Wie es in einer Integration dazu kommt

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

  • Die umgerechnete Umsatzsteuersumme wird immer geschrieben, wenn der Quelldatensatz eine enthält, während cbc:TaxCurrencyCode von einer eigenen Einstellung abhängt, die ausgeschaltet ist.
  • Die Umsatzsteuersumme wird zweimal ausgegeben: einmal in der Steuersumme mit Aufschlüsselung und noch einmal als nackte Steuersumme in der Rechnungswährung.
  • Die Buchungswährung ist angegeben, aber der Serialisierer gibt immer nur ein cac:TaxTotal aus, sodass der umgerechnete Betrag nie erscheint.
  • Die umgerechnete Umsatzsteuer wird wie die Hauptsumme nach Kategorien aufgeschlüsselt, statt als einzelner Betrag übermittelt zu werden.

So korrigieren Sie das Dokument

  1. Stellen Sie fest, ob der Verkäufer die Umsatzsteuer in einer anderen Währung als der Rechnungswährung bucht.
  2. Wenn ja, schreiben Sie diesen Währungscode in cbc:TaxCurrencyCode, direkt nach cbc:DocumentCurrencyCode, und behalten Sie genau ein zusätzliches cac:TaxTotal, das nur cbc:TaxAmount mit diesem Code als currencyID enthält.
  3. Wenn nein, löschen Sie jedes cac:TaxTotal, das kein cac:TaxSubtotal hat. Die Umsatzsteuersumme in der Rechnungswährung gehört in die Steuersumme mit der Aufschlüsselung.
  4. Geben Sie der Summe in der Buchungswährung keine Aufschlüsselung, und schreiben Sie sie nicht zweimal.

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: eine Steuersumme in EUR ohne Aufschlüsselung, aber keine Umsatzsteuer-Buchungswährung angegeben

<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<!-- parties omitted from this fragment -->
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  <!-- VAT breakdown omitted from this fragment -->
</cac:TaxTotal>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">5.80</cbc:TaxAmount>
</cac:TaxTotal>

Ausschnitt der korrigierten Rechnung: EUR ist als Umsatzsteuer-Buchungswährung angegeben

<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode>
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<!-- parties omitted from this fragment -->
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  <!-- VAT breakdown omitted from this fragment -->
</cac:TaxTotal>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="EUR">5.80</cbc:TaxAmount>
</cac:TaxTotal>

Die korrigierte Rechnung ergänzt <cbc:TaxCurrencyCode>EUR</cbc:TaxCurrencyCode> nach der Dokumentwährung; beide Steuersummen sind in den zwei Dokumenten identisch. Das fehlerhafte Dokument meldet nur PEPPOL-EN16931-R054. Ohne angegebene Buchungswährung haben BR-53 und PEPPOL-EN16931-R055 nichts zu prüfen, und PEPPOL-EN16931-R051 nimmt Steuersummen ohne Aufschlüsselung von seiner Währungsprüfung aus; der verirrte EUR-Betrag wird daher nur von dieser Regel erfasst. Die EUR-Summe stattdessen zu entfernen, hätte ebenfalls zum Bestehen geführt.

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 UBL Invoice und CreditNote. Eine Gutschrift mit einer Steuersumme in EUR und ohne cbc:TaxCurrencyCode meldete im Versuch nur diese Regel.
  • Wird im Peppol-Prüfschritt gemeldet. Daneben erscheinen BR-53 und PEPPOL-EN16931-R055, wenn die Buchungswährung angegeben ist, ihre Summe aber fehlt, und PEPPOL-EN16931-R005, wenn die angegebene Buchungswährung die Rechnungswährung selbst ist.
  • Ein Dokument, dessen einziges cac:TaxTotal keine Aufschlüsselung hat, meldet diese Regel zusammen mit BR-CO-18, PEPPOL-EN16931-R053 und der Kategorieregel für seine Positionen: Diese einzige Summe zählt als eine ohne Aufschlüsselung.

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-R054 (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.