Aller au contenu

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

BR-IC-03 : Ajouter les identifiants TVA qu'exige une remise intracommunautaire au niveau du document

Une remise au niveau du document de catégorie K a besoin de ce dont une ligne K a besoin : un identifiant TVA du vendeur ou du représentant fiscal, et un identifiant TVA de l'acheteur.

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

Sur cette page

La réponse courte

BR-IC-03 échoue lorsqu'une remise au niveau du document, cbc:ChargeIndicator à false, a la catégorie de taxe K et qu'il manque au document un identifiant TVA du côté vendeur ou pour l'acheteur. Dans l'exemple enregistré, la remise palette complète de 1.25 est en K et l'acheteur n'a pas de cac:PartyTaxScheme ; ajouter l'identifiant TVA de l'acheteur DE123456789 sous le schéma VAT corrige le problème.

Une remise intracommunautaire accompagne normalement des lignes K, si bien que BR-IC-02 arrive avec elle, comme ici. Un seul identifiant manquant donne les deux constats, et l'ajouter corrige les deux.

Ce que la règle vérifie

Le déclencheur est tout cac:AllowanceCharge dont le cbc:ChargeIndicator vaut false et dont la cac:TaxCategory est K sous le schéma VAT. Le constat est émis une seule fois, à la racine du document.

La remise suffit, sans aucune ligne K. Lors d'un essai, la facture en échec enregistrée, avec sa ligne passée en catégorie Z et les ventilations ajustées en conséquence, a signalé cette règle et pas BR-IC-02.

Les identifiants demandés sont ceux qu'exige une ligne K : côté vendeur, un cac:PartyTaxScheme/cbc:CompanyID VAT pour le vendeur ou pour un représentant fiscal, et côté acheteur, un cac:PartyTaxScheme/cbc:CompanyID VAT pour l'acheteur.

Un identifiant d'immatriculation légale de l'acheteur ne le remplace pas. La facture en échec garde 87654321 dans le cac:PartyLegalEntity de l'acheteur et échoue malgré tout, alors que la règle d'autoliquidation pour les remises BR-AE-03 l'accepterait.

Un numéro de l'acheteur sous un autre schéma ne compte pas non plus. Lors d'un essai, DE123456789 avec le schéma fiscal TAX a signalé cette règle et BR-IC-02, exactement comme son absence.

TermeSignificationÉlément UBL
BT-95Code de catégorie de TVA de la remise au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID
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 n'est mappé que pour les documents en autoliquidation, et l'export remplit les parties d'une livraison intracommunautaire comme pour une opération nationale.
  • Le client a été configuré pour les livraisons dans l'UE à partir du seul pays de livraison, et son numéro de TVA n'a jamais été collecté.
  • La remise reprend la catégorie K des lignes, alors que la partie acheteur vient d'un enregistrement de commande sans champs fiscaux.
  • Le numéro de TVA de l'acheteur se trouve dans un enregistrement de contact ou de livraison que l'export des factures ne lit pas.

Comment corriger le document

  1. Confirmez que la remise se rattache à la livraison intracommunautaire. Une remise sur des marchandises K prend la catégorie K et un taux de 0.
  2. Prenez l'identifiant TVA de l'acheteur dans la fiche client, avec son préfixe pays, et écrivez-le sous la forme d'un cac:PartyTaxScheme avec cbc:CompanyID et un cac:TaxScheme/cbc:ID à VAT, entre cac:PostalAddress et cac:PartyLegalEntity dans la partie acheteur.
  3. Contrôlez en même temps le côté vendeur : le cac:PartyTaxScheme du vendeur doit utiliser le schéma VAT, ou une cac:TaxRepresentativeParty doit porter un identifiant VAT. BR-IC-04 montre le côté vendeur en échec.
  4. Si l'acheteur n'a pas de numéro de TVA, renvoyez la catégorie des lignes et de la remise à la détermination fiscale plutôt que d'inventer un identifiant.

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 remise de catégorie K, et un acheteur avec un identifiant d'immatriculation légale mais sans 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>
<!-- delivery omitted from this fragment -->
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Full pallet discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">1.25</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>K</cbc:ID>
    <cbc:Percent>0</cbc:Percent>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

Fragment de la facture corrigée : l'identifiant TVA de l'acheteur DE123456789 sous le schéma VAT

<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>
<!-- the K discount of 1.25 is unchanged -->

La facture corrigée donne à l'acheteur DE123456789 dans un cac:PartyTaxScheme VAT ; la facture en échec n'a pas d'identifiant TVA de l'acheteur, et la remise de 1.25 en K est identique dans les deux. Outre BR-IC-03, le document en échec signale BR-IC-02, car sa ligne est aussi de catégorie K.

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. Convertie en avoir, la facture en échec a signalé BR-IC-02 et cette règle lors d'un essai.
  • Signalée par l'étape EN 16931 comme un seul constat fatal à la racine, quel que soit le côté manquant.
  • Les frais en K ont la même exigence selon BR-IC-04, et les lignes selon BR-IC-02. L'équivalent en autoliquidation pour les remises, BR-AE-03, accepte en outre un identifiant du vendeur sous n'importe quel schéma et un identifiant d'immatriculation légale de l'acheteur.

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 BR-IC-03 (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.