Zum Inhalt springen

PEPPOL-EN16931-R055: Steuerbetrag in Rechnungs- und Buchungswährung mit unterschiedlichem Vorzeichen

Offizielle Meldung

[PEPPOL-EN16931-R055] Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign

XRechnung (CII) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[PEPPOL-EN16931-R055] Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign

XRechnung (UBL) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31
Schweregrad
Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
Gilt für
XRechnung (CII), XRechnung (UBL)

Was bedeutet das?

Ist eine Steuerwährung (BT-6) angegeben, müssen der Gesamtbetrag der Umsatzsteuer in Rechnungswährung (BT-110) und in Buchungswährung (BT-111) dasselbe Vorzeichen haben: beide positiv oder beide negativ. Die Beträge haben unterschiedliche Vorzeichen.
Die Regel stammt aus Peppol BIS Billing 3.0 und wird bei der XRechnung-Prüfung angewendet. In CII zählt ein Betrag von 0 als positiv, in UBL passt 0 zu beiden Vorzeichen.

Typische Ursachen

Bei einer Gutschrift oder Rechnungskorrektur wurde nur einer der beiden Beträge negativ angegeben.

So beheben Sie den Fehler

BT-111 aus BT-110 mit dem Umrechnungskurs berechnen, sodass beide Beträge dasselbe Vorzeichen haben.
CII: zwei ram:TaxTotalAmount mit currencyID BT-5 bzw. BT-6, UBL: cac:TaxTotal/cbc:TaxAmount in beiden Währungen.
Die Rechnung erneut erzeugen und prüfen.

In E-Rechnungsfreund

Im Rechnungsformular in der Ansicht „Experte“ im Abschnitt „Belegsummen (BG-22)“ das Feld „Steuer in Buchungswährung (BT-111)“ mit demselben Vorzeichen wie „Steuer gesamt (BT-110)“ ausfüllen.

Beispiel

Fehlerhaft

<ram:TaxTotalAmount currencyID="EUR">-63.75</ram:TaxTotalAmount>
<ram:TaxTotalAmount currencyID="CHF">59.90</ram:TaxTotalAmount>

Richtig

<ram:TaxTotalAmount currencyID="EUR">-63.75</ram:TaxTotalAmount>
<ram:TaxTotalAmount currencyID="CHF">-59.90</ram:TaxTotalAmount>
Für Entwickler: Prüfausdruck je Syntax

XRechnung (CII) (CII)

Kontext: ram:ApplicableHeaderTradeSettlement

not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode and ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $documentCurrencyCode]) or (ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $taxCurrencyCode] < 0 and ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $documentCurrencyCode] < 0) or (ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $taxCurrencyCode] >= 0 and ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $documentCurrencyCode] >= 0)

XRechnung (UBL) (UBL)

Kontext: ubl-creditnote:CreditNote | ubl-invoice:Invoice

not(cbc:TaxCurrencyCode) or (cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] <= 0 and cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] <= 0) or (cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] >= 0 and cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] >= 0)

Verwandte Prüfregeln

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.