Aller au contenu

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

BR-IC-02 : Ajouter les identifiants TVA du vendeur et de l'acheteur à une livraison intracommunautaire

Un document avec une ligne de livraison intracommunautaire (catégorie K) a besoin d'un identifiant TVA du vendeur ou du représentant fiscal et d'un identifiant TVA de l'acheteur.

EN 16931Erreur : le document n'est pas valideTVAParties et adresses

Sur cette page

La réponse courte

BR-IC-02 échoue lorsqu'une ligne est classée K, livraison intracommunautaire, et qu'il manque au document un identifiant TVA d'un côté. Le côté vendeur a besoin d'un cbc:CompanyID dans un cac:PartyTaxScheme VAT sous cac:AccountingSupplierParty/cac:Party, ou sous cac:TaxRepresentativeParty ; le côté acheteur a besoin de la même chose sous cac:AccountingCustomerParty/cac:Party. Ajoutez celui qui manque.

Le constat n'indique pas quel côté est en cause, contrôlez donc les deux. Dans l'exemple enregistré, c'est l'identifiant TVA de l'acheteur, et le numéro d'immatriculation de l'entreprise de l'acheteur, que le document porte toujours, ne le remplace pas.

Ce que la règle vérifie

Le déclencheur est une ligne : tout cac:ClassifiedTaxCategory avec un cbc:ID à K sous le régime fiscal VAT, qui en UBL se trouve dans le cac:Item d'une ligne de facture ou d'avoir. Une ventilation de TVA K ou une remise au niveau du document ne déclenche pas la règle à elle seule, car celles-ci utilisent cac:TaxCategory.

Une fois la règle déclenchée, deux éléments doivent être présents. Côté vendeur : un identifiant TVA du vendeur, ou un identifiant TVA du représentant fiscal du vendeur ; l'un ou l'autre convient. Côté acheteur : un identifiant TVA de l'acheteur, sans alternative.

Seul un cac:PartyTaxScheme dont le cac:TaxScheme/cbc:ID vaut VAT compte, des deux côtés. Lors d'un essai, l'identifiant de l'acheteur DE123456789 placé sous le régime TAX a toujours signalé BR-IC-02. Le contrôle du taux normal, BR-S-02, est plus souple côté vendeur et accepte une immatriculation fiscale sous n'importe quel régime.

Les identifiants d'immatriculation légale ne jouent aucun rôle. La facture en échec conserve le cac:PartyLegalEntity/cbc:CompanyID de l'acheteur à 87654321 et échoue malgré tout. L'autoliquidation est différente : BR-AE-02 accepte un identifiant d'immatriculation légale de l'acheteur à la place d'un identifiant TVA de l'acheteur.

La règle teste la présence, pas le contenu. Lors d'un essai, un cbc:CompanyID vide pour l'acheteur l'a satisfaite et a été signalé par PEPPOL-EN16931-R008 à la place. Un identifiant TVA de l'acheteur avec le préfixe GB, le même pays que le vendeur, a passé toutes les étapes : les deux pays ne sont jamais comparés.

Il y a un seul constat par document, situé à la racine, qu'il manque un identifiant ou les deux.

TermeSignificationÉlément UBL
BT-151Code de catégorie de TVA de l'article facturécac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID in a credit note)
BT-31Identifiant à la TVA du vendeurcac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID
BT-63Identifiant à la TVA du représentant fiscal du vendeurcac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID
BT-48Identifiant à la TVA de l'acheteurcac: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 :

  • Le numéro de TVA de l'acheteur figure sur la fiche client, mais l'export ne le mappe que pour les documents en autoliquidation, pas pour les livraisons intracommunautaires.
  • La base clients ne contient qu'un numéro d'immatriculation de l'entreprise, si bien que l'acheteur se retrouve avec cac:PartyLegalEntity/cbc:CompanyID et sans cac:PartyTaxScheme.
  • L'identifiant TVA de l'acheteur est écrit sous un code de régime fiscal autre que VAT, repris d'un champ générique de type de taxe dans le système source.
  • Le vendeur facture par l'intermédiaire d'un représentant fiscal, et la cac:TaxRepresentativeParty est envoyée sans son propre cac:PartyTaxScheme alors que l'identifiant du vendeur est lui aussi omis.
  • La catégorie K est attribuée à partir du seul pays de livraison, si bien qu'un acheteur qui n'a jamais fourni de numéro de TVA reçoit quand même K. C'est alors la décision de catégorie qu'il faut corriger.

Comment corriger le document

  1. Examinez les deux parties. Sous cac:AccountingSupplierParty/cac:Party et cac:AccountingCustomerParty/cac:Party, cherchez un cac:PartyTaxScheme dont le cac:TaxScheme/cbc:ID vaut VAT et dont le cbc:CompanyID a une valeur.
  2. Pour l'acheteur, prenez l'identifiant TVA que l'acheteur vous a communiqué, stocké sur la fiche client, complet avec son préfixe pays. S'il n'y en a pas, revenez à la détermination fiscale : la catégorie K suppose un numéro de TVA de l'acheteur, et ni un numéro copié ni un numéro deviné ne constitue une correction.
  3. Écrivez-le sous la forme d'un cac:PartyTaxScheme avec cbc:CompanyID et un cac:TaxScheme/cbc:ID à VAT, après cac:PostalAddress et avant cac:PartyLegalEntity. Placé après l'entité juridique, il a échoué à l'étape XSD lors d'un essai, et les règles EN 16931 ont été ignorées.
  4. Pour le vendeur, envoyez l'identifiant TVA du vendeur dans la même structure. Si le vendeur est représenté, une cac:TaxRepresentativeParty avec nom, adresse postale et un cac:PartyTaxScheme VAT satisfait aussi le côté vendeur : lors d'un essai, elle a rendu le document valide sans identifiant TVA du vendeur.

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 : l'acheteur a un identifiant d'immatriculation légale mais pas d'identifiant TVA

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <!-- postal address in Berlin, DE, omitted from this fragment -->
    <cac:PartyLegalEntity>
      <cbc:RegistrationName>Example Buyer Ltd</cbc:RegistrationName>
      <cbc:CompanyID>87654321</cbc:CompanyID>
    </cac:PartyLegalEntity>
  </cac:Party>
</cac:AccountingCustomerParty>

Fragment de la facture corrigée : l'identifiant TVA de l'acheteur se place entre l'adresse et l'entité juridique

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <!-- postal address in Berlin, DE, omitted from this fragment -->
    <cac:PartyTaxScheme>
      <cbc:CompanyID>DE123456789</cbc:CompanyID>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:PartyTaxScheme>
    <cac:PartyLegalEntity>
      <cbc:RegistrationName>Example Buyer Ltd</cbc:RegistrationName>
      <cbc:CompanyID>87654321</cbc:CompanyID>
    </cac:PartyLegalEntity>
  </cac:Party>
</cac:AccountingCustomerParty>

La facture corrigée donne à l'acheteur un cac:PartyTaxScheme contenant DE123456789 sous le régime VAT ; la facture en échec n'a pas d'identifiant TVA de l'acheteur. L'identifiant TVA du vendeur GB123456789 et la ligne K sont identiques dans les deux. Le document en échec ne signale que BR-IC-02, bien que l'identifiant d'immatriculation légale de l'acheteur soit toujours là.

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 aux documents UBL Invoice et CreditNote. Lors d'un essai, la facture en échec convertie en avoir, avec cac:CreditNoteLine pour sa ligne, a signalé le même constat unique.
  • Signalée par l'étape EN 16931, qui ne s'exécute qu'une fois l'étape XSD passée. Un cac:PartyTaxScheme mal placé échoue d'abord au schéma et masque cette règle.
  • Les autres règles intracommunautaires donnent des constats distincts : BR-IC-10 pour le motif d'exonération, BR-IC-11 pour la date de livraison ou la période de facturation, et BR-IC-12 pour le pays de livraison. BR-CO-09 vérifie ensuite le préfixe pays des identifiants que vous ajoutez.
  • La validation vérifie que les identifiants sont présents, pas qu'ils sont enregistrés. Confirmer un numéro de TVA de l'acheteur, par exemple via le service VIES de l'UE, est une étape distincte.

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-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.

La définition officielle de BR-IC-02 (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.