Auf dieser Seite
Die kurze Antwort
PEPPOL-EN16931-P0108 schlägt für jede cac:TaxCategory fehl, die VATEX-EU-D trägt, deren cbc:ID aber nicht E ist. Der Code zeigt an, dass die Umsatzsteuer auf ein gebrauchtes Beförderungsmittel, etwa einen Gebrauchtwagen, nach der Übergangsregelung für solche Fahrzeuge behandelt wurde, und die VATEX-Liste erlaubt ihn nur mit der steuerbefreiten Kategorie.
Das aufgezeichnete Beispiel verkauft einen Gebrauchtwagen an einen Käufer in Berlin und codiert die Aufschlüsselung und die Position mit K, innergemeinschaftliche Lieferung. Der Name des Codes auf der VATEX-Liste beginnt mit "Intra-Community acquisition", was K richtig erscheinen lässt, doch Peppol verbindet VATEX-EU-D mit E und mit nichts anderem.
Was die Regel prüft
Die Regel wandelt den Befreiungsgrund-Code vor dem Abgleich in Großbuchstaben um und verlangt dann die Kategorie E ohne Randleerzeichen. Im Versuch wurde vatex-eu-d in der Aufschlüsselung K genauso gemeldet wie der Code in Großbuchstaben.
Der aufgezeichnete Fehler besteht aus dieser Regel allein, weil der Rest des Dokuments die Kategorie K erfüllt: Beide Umsatzsteuer-Identifikationsnummern, ein Lieferdatum und ein Lieferland sind vorhanden, und ein Grund ist angegeben. Mit VATEX-EU-IC statt VATEX-EU-D bestand dasselbe Dokument im Versuch jeden Prüfschritt.
Auch ein Nullsatz funktioniert nicht. Im Versuch meldeten die Aufschlüsselung und die Position des Gebrauchtwagens, mit Z und VATEX-EU-D codiert, diese Regel und BR-Z-10.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-121 | Code für den Grund der Umsatzsteuerbefreiung | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode |
| BT-118 | Code der Umsatzsteuerkategorie | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-151 | Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikels | cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Der Code wird nach seinem Namen auf der VATEX-Liste ausgewählt, "Intra-Community acquisition from second hand means of transport", und mit der innergemeinschaftlichen Kategorie verbunden.
- Ein Händlersystem setzt die Kategorie nach dem Land des Käufers und den Code nach dem Fahrzeugdatensatz, sodass ein Gebrauchtfahrzeug, das in einen anderen Mitgliedstaat verkauft wird,
KmitVATEX-EU-Derhält. - Fahrzeugverkäufe ohne Umsatzsteuer auf der Rechnung werden auf den Nullsatz abgebildet.
So korrigieren Sie das Dokument
- Klären Sie, wie der Verkauf besteuert wird. Wird das Fahrzeug nach der Regelung für gebrauchte Beförderungsmittel verkauft, ist die Kategorie
E, undVATEX-EU-Dbleibt. - Setzen Sie
cbc:IDin der Aufschlüsselung und in den von ihr abgedeckten Positionen aufE, mit dem Satz0. Das korrigierte Beispiel brauchte sonst nichts:Everlangt eine Steuerkennung des Verkäufers, und seine Umsatzsteuer-Identifikationsnummer war vorhanden; der Code zählt als der Grund, denBR-E-10verlangt. - Ist der Verkauf wirklich eine innergemeinschaftliche Lieferung, behalten Sie
Kund ersetzen den Code durchVATEX-EU-IC, wie esPEPPOL-EN16931-P0106erwartet.
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: ein Gebrauchtwagen, als innergemeinschaftliche Lieferung, K, codiert
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>K</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-D</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Second-hand means of transport</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<!-- totals and the start of the invoice line omitted from this fragment -->
<cac:Item>
<cbc:Name>Used car</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>K</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>Ausschnitt der korrigierten Rechnung: Der Gebrauchtwagen ist steuerbefreit, E, mit demselben Code
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-D</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Second-hand means of transport</cbc:TaxExemptionReason>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<!-- totals and the start of the invoice line omitted from this fragment -->
<cac:Item>
<cbc:Name>Used car</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>Die fehlerhafte Rechnung hat K, wo die korrigierte E hat, in der Aufschlüsselung und in der Position für den Gebrauchtwagen; VATEX-EU-D, der Begründungstext, beide Umsatzsteuer-Identifikationsnummern und die Lieferangaben sind in beiden identisch. Gemeldet wird nur diese Peppol-Regel, da eine Aufschlüsselung K mit Grund und den innergemeinschaftlichen Angaben den Prüfschritt EN 16931 besteht.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet PEPPOL-EN16931-P0108. 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 UBL
InvoiceundCreditNote. Im Versuch meldete eine Gutschrift mitVATEX-EU-Din einer Ausfuhraufschlüsselung, KategorieG, diese Regel. - Nur der Peppol-Prüfschritt prüft die Paarung; EN 16931 akzeptiert
VATEX-EU-DüberBR-CL-22in jeder Kategorie. - Eine steuerbefreite Aufschlüsselung mit diesem Code braucht weder eine Umsatzsteuer-Identifikationsnummer des Käufers noch Lieferangaben, aber sie dürfen bleiben: Das korrigierte Beispiel behält sie und bestand jeden Prüfschritt.
Verwandte Regeln
- PEPPOL-EN16931-P0109 verbindet den Code der Differenzbesteuerung für Gebrauchtgegenstände, VATEX-EU-F, mit der Kategorie E
- PEPPOL-EN16931-P0106 regelt den Code, der tatsächlich zur Kategorie K gehört, VATEX-EU-IC
- BR-E-10 verlangt einen Grund in der steuerbefreiten Aufschlüsselung, den VATEX-EU-D liefert
- BR-Z-10 fügt einen zweiten Befund hinzu, wenn das Fahrzeug mit diesem Code zum Nullsatz codiert ist
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): How Peppol invoice validation actually works
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-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.
Die offizielle Definition von PEPPOL-EN16931-P0108 (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.

