PEPPOL-EN16931-R005PEPPOL

PEPPOL-EN16931-R005: Steuerwährung gleich Rechnungswährung

Die Währung für die Umsatzsteuer-Abrechnung (BT-6) darf nur angegeben werden, wenn sie sich von der Rechnungswährung (BT-5) unterscheidet. Häufigster Auslöser: die Software schreibt EUR in beide Felder.

Regeltext im Prüfregelwerk

VAT accounting currency code MUST be different from invoice currency code when provided.

BT-5BT-6

Diese Meldung wirkt paradox, denn inhaltlich ist an zweimal EUR nichts falsch. Der Fehler liegt darin, dass das zweite Währungsfeld überhaupt gefüllt ist.

Was die Regel prüft

Die Rechnung trägt immer eine Rechnungswährung (BT-5, BT = Business Term, das nummerierte Feld der Norm), in Deutschland fast immer EUR. Daneben gibt es das optionale Feld Steuerwährung (BT-6). Es existiert für einen einzigen Sonderfall: Die Rechnung wird in einer Fremdwährung gestellt, die Umsatzsteuer muss aber in der Landeswährung des Steuerlands abgerechnet werden, etwa eine Rechnung in USD mit Steuerausweis in EUR. BT-6 ist also per Definition eine abweichende Währung. Steht dort derselbe Code wie in BT-5, ist die Angabe sinnlos, und die Peppol-Regeln lehnen sie ab.

Warum sie in der Praxis fehlschlägt

Der Auslöser ist praktisch immer die erzeugende Software: Sie befüllt beide Währungsfelder aus derselben Einstellung, weil das Datenmodell nur eine Währung kennt. In der XML stehen dann ram:InvoiceCurrencyCode und ram:TaxCurrencyCode beide auf EUR. Nach der Basisnorm EN 16931 ist das noch zulässig, erst die Peppol-Schematron-Regeln (und damit auch die XRechnung-Prüfung) machen daraus einen Fehler.

Der zweite, seltenere Fall: Es liegt wirklich ein Fremdwährungsfall vor, aber beim Befüllen wurde derselbe Code in beide Felder kopiert, statt in BT-6 die Steuerwährung einzutragen.

So behebst du den Fehler

Für den Normalfall einer reinen EUR-Rechnung: Entfern BT-6 komplett aus der Datei, das Element ram:TaxCurrencyCode darf dann gar nicht vorhanden sein (auch nicht leer). Nur wenn du tatsächlich in Fremdwährung fakturierst und die Steuer in EUR ausweist, gehört in BT-6 ein anderer Code als in BT-5, und dann brauchst du zusätzlich den Steuerbetrag in beiden Währungen (BT-110 und BT-111, geprüft von BR-53 und PEPPOL-EN16931-R054). Belegschmied schreibt BT-6 nur bei tatsächlich abweichender Steuerwährung.

XML-Beispiel: vorher und nachher

Beide Währungsfelder tragen denselben Code:

<!-- verletzt PEPPOL-EN16931-R005: TaxCurrencyCode gleich InvoiceCurrencyCode -->
<ram:ApplicableHeaderTradeSettlement>
  <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
  <ram:TaxCurrencyCode>EUR</ram:TaxCurrencyCode>
  <!-- … -->
</ram:ApplicableHeaderTradeSettlement>

Korrigiert: BT-6 entfällt bei gleicher Währung ersatzlos:

<ram:ApplicableHeaderTradeSettlement>
  <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
  <!-- … -->
</ram:ApplicableHeaderTradeSettlement>

Rechnung selbst prüfen

Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.

Regeln, die oft zusammen auftreten

← Alle Fehlermeldungen im Überblick