Aller au contenu

Ironfang Finance - Référence des règles

PEPPOL-EN16931-P0108 : Placer le code des moyens de transport d'occasion VATEX-EU-D dans une ventilation exonérée

VATEX-EU-D signale un moyen de transport d'occasion, comme une voiture d'occasion, et n'est accepté qu'avec la catégorie E. La voiture d'occasion enregistrée était codée K.

Peppol BIS BillingErreur : le document n'est pas valideTVAListes de codes

Sur cette page

La réponse courte

PEPPOL-EN16931-P0108 échoue pour chaque cac:TaxCategory qui porte VATEX-EU-D alors que son cbc:ID n'est pas E. Le code indique que la TVA sur un moyen de transport d'occasion, comme une voiture d'occasion, a été traitée selon le régime transitoire propre à ces véhicules, et la liste VATEX ne l'admet qu'avec la catégorie exonérée.

L'exemple enregistré vend une voiture d'occasion à un acheteur de Berlin et code la ventilation et la ligne en K, livraison intracommunautaire. Le nom du code sur la liste VATEX commence par "Intra-Community acquisition", ce qui fait paraître K correct, mais Peppol associe VATEX-EU-D à E et à rien d'autre.

Ce que la règle vérifie

La règle met le code d'exonération en majuscules avant la comparaison, puis exige la catégorie E, sans espaces de bord. Lors d'un essai, vatex-eu-d dans la ventilation K a été signalé exactement comme le code en majuscules.

L'échec enregistré se limite à cette règle, car le reste du document satisfait la catégorie K : les deux identifiants TVA, une date de livraison et un pays de livraison sont présents, et un motif est donné. Avec VATEX-EU-IC à la place de VATEX-EU-D, le même document a réussi toutes les étapes lors d'un essai.

Le taux zéro ne convient pas non plus. Lors d'un essai, la ventilation et la ligne de la voiture d'occasion codées Z avec VATEX-EU-D ont signalé cette règle et BR-Z-10.

TermeSignificationÉlément UBL
BT-121Code du motif d'exonération de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode
BT-118Code de catégorie de TVAcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID
BT-151Code de catégorie de TVA de l'article facturécac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID

Comment une intégration en arrive là

Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :

  • Le code est choisi d'après son nom sur la liste VATEX, "Intra-Community acquisition from second hand means of transport", et associé à la catégorie intracommunautaire.
  • Un système de concessionnaire fixe la catégorie d'après le pays de l'acheteur et le code d'après la fiche du véhicule, si bien qu'un véhicule d'occasion vendu dans un autre État membre reçoit K avec VATEX-EU-D.
  • Les ventes de véhicules sans TVA sur la facture sont associées au taux zéro.

Comment corriger le document

  1. Vérifiez comment la vente est imposée. Si le véhicule est vendu selon le régime des moyens de transport d'occasion, la catégorie est E et VATEX-EU-D reste.
  2. Mettez cbc:ID à E dans la ventilation et sur les lignes qu'elle couvre, avec le taux 0. L'exemple corrigé n'a eu besoin de rien d'autre : E exige un identifiant fiscal du vendeur, et son identifiant TVA était présent ; le code vaut motif au sens de BR-E-10.
  3. Si la vente est réellement une livraison intracommunautaire, gardez K et remplacez le code par VATEX-EU-IC, comme l'attend PEPPOL-EN16931-P0106.

Valider votre facture corrigée

Avant et après

Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.

Fragment de la facture en échec : une voiture d'occasion codée comme livraison intracommunautaire, K

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

Fragment de la facture corrigée : la voiture d'occasion est exonérée, E, avec le même 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>

La facture en échec a K là où la facture corrigée a E, dans la ventilation et sur la ligne de la voiture d'occasion ; VATEX-EU-D, le texte de motif, les deux identifiants TVA et les données de livraison sont identiques dans les deux. Seule cette règle Peppol est signalée, car une ventilation K avec un motif et les données intracommunautaires réussit l'étape EN 16931.

Ce que le validateur a signalé

Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.

Où la règle s'applique

  • S'applique à UBL Invoice et CreditNote. Lors d'un essai, un avoir portant VATEX-EU-D dans une ventilation d'exportation, catégorie G, a signalé cette règle.
  • Seule l'étape Peppol contrôle l'association ; EN 16931 accepte VATEX-EU-D dans n'importe quelle catégorie via BR-CL-22.
  • Une ventilation exonérée portant ce code n'a besoin ni d'identifiant TVA de l'acheteur ni de données de livraison, mais ils peuvent rester : l'exemple corrigé les garde et a réussi toutes les étapes.

Portée et source

Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.

La définition officielle de PEPPOL-EN16931-P0108 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.

Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.