Sur cette page
La réponse courte
PEPPOL-EN16931-P0111 échoue pour chaque cac:TaxCategory qui porte VATEX-EU-J alors que son cbc:ID n'est pas E. VATEX-EU-J indique que la vente relève du régime de la marge pour les objets de collection et d'antiquité, et Peppol ne l'accepte qu'avec la catégorie exonérée.
L'exemple enregistré vend une pendule ancienne à un acheteur portant l'identifiant TVA DE123456789 et code la ventilation et la ligne en AE, comme si l'acheteur acquittait la TVA. Sous le régime de la marge, c'est le vendeur qui acquitte la TVA sur sa marge, si bien que l'autoliquidation ne décrit pas la vente.
Ce que la règle vérifie
Le code d'exonération est mis en majuscules et comparé à VATEX-EU-J ; une correspondance exige la catégorie E, sans espaces de bord. Les espaces autour du code ne sont pas supprimées : lors d'un essai, le code précédé d'une espace dans la ventilation AE a réussi toutes les étapes, bien que BR-CL-22 l'ait toujours accepté comme code VATEX.
L'identifiant TVA de l'acheteur ne joue aucun rôle dans la règle. Lors d'un essai, la facture exonérée corrigée sans l'identifiant TVA de l'acheteur a elle aussi réussi toutes les étapes ; il peut donc être gardé ou retiré sans effet sur l'association.
Avec la catégorie laissée à AE, seul le code peut changer. Lors d'un essai, VATEX-EU-AE à la place de VATEX-EU-J a fait réussir toutes les étapes à l'exemple enregistré ; ce n'est correct que si la vente ne relève pas du régime de la marge.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-121 | Code du motif d'exonération de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode |
| BT-118 | Code de catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-48 | Identifiant à la TVA de l'acheteur | cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID |
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 :
- L'autoliquidation est appliquée automatiquement dès que l'acheteur donne un identifiant TVA d'un autre État membre, et le régime de la marge ne fixe que le code d'exonération.
- Les antiquités vendues à d'autres marchands sont traitées comme des ventes professionnelles et passent par les règles fiscales entre entreprises.
- Le libellé de la liste de codes, "Intra-Community acquisition of collectors items and antiques", est lu comme la description d'une vente professionnelle transfrontalière.
Comment corriger le document
- Établissez si l'antiquité est vendue sous le régime de la marge. Si c'est le cas, la catégorie est
EetVATEX-EU-Jreste ; l'acheteur n'acquitte pas la TVA. - Mettez
cbc:IDàEdans la ventilation et sur la ligne de chaque objet vendu sous ce régime, avec le taux0, comme dans l'exemple corrigé. - Si la vente ne relève pas du régime de la marge, choisissez la catégorie d'après le traitement réel, par exemple
KavecVATEX-EU-ICpour des biens expédiés à un acheteur assujetti d'un autre État membre, et retirezVATEX-EU-J.
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 antiquité vendue sous le régime de la marge, codée en autoliquidation, AE
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>AE</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-J</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Margin scheme - Collectors items and antiques</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>Antique clock</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>AE</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 pendule ancienne est exonérée, E, sous 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-J</cbc:TaxExemptionReasonCode>
<cbc:TaxExemptionReason>Margin scheme - Collectors items and antiques</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>Antique clock</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 AE là où la facture corrigée a E, dans la ventilation et sur la ligne de la pendule ancienne ; VATEX-EU-J, le texte de motif et l'identifiant TVA de l'acheteur restent les mêmes. Le document en échec ne signale que cette règle : sa ventilation AE a le motif et les deux identifiants TVA qu'EN 16931 exige pour une autoliquidation.
Ce que le validateur a signalé
- La facture en erreur signale PEPPOL-EN16931-P0111. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
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
InvoiceetCreditNote. Lors d'un essai, un avoir portantVATEX-EU-Jdans une ventilationGa signalé cette règle. - L'association n'est contrôlée que dans l'étape Peppol.
BR-CL-22, dans l'étape EN 16931, accepteVATEX-EU-Jà côté de n'importe quelle catégorie. - Une ligne exonérée sous le régime de la marge exige un identifiant fiscal du vendeur selon
BR-E-02, par exemple son identifiant TVA ; l'identifiant TVA de l'acheteur est facultatif.
Règles liées
- PEPPOL-EN16931-P0110 applique la même association au code des objets d'art, VATEX-EU-I
- PEPPOL-EN16931-P0109 l'applique au code des biens d'occasion, VATEX-EU-F
- BR-AE-02 liste les identifiants dont une véritable facture en autoliquidation a besoin
- BR-E-10 exige un motif sur la ventilation exonérée, que VATEX-EU-J fournit
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : How Peppol invoice validation actually works
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-P0111 (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.

