Aller au contenu

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

BR-IC-04 : Identifier le vendeur et l'acheteur sous le schéma VAT lorsque des frais au niveau du document sont intracommunautaires

Des frais au niveau du document de catégorie K exigent un identifiant TVA du vendeur, ou de son représentant fiscal, et un identifiant TVA de l'acheteur, tous deux sous le schéma VAT.

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

Sur cette page

La réponse courte

BR-IC-04 échoue lorsque des frais au niveau du document, cbc:ChargeIndicator à true, sont de catégorie K et que le document n'identifie pas le côté vendeur et l'acheteur sous le schéma VAT. Dans l'exemple enregistré, les frais de transport de 6.00 sont en K, et le numéro GB123456789 du vendeur se trouve dans un cac:PartyTaxScheme dont le schéma est TAX ; passer ce schéma à VAT corrige le problème.

Un numéro sous TAX est un identifiant d'enregistrement fiscal du vendeur, pas un identifiant à la TVA du vendeur. Côté vendeur, c'est sur cette distinction que repose cette règle, alors que certaines règles d'autres catégories de TVA acceptent l'un ou l'autre.

Ce que la règle vérifie

La règle se déclenche sur tout cac:AllowanceCharge dont le cbc:ChargeIndicator vaut true et dont la cac:TaxCategory a un cbc:ID à K sous le schéma VAT, et signale une seule fois, à la racine.

Côté vendeur, seul compte un cbc:CompanyID dans un cac:PartyTaxScheme du vendeur de schéma VAT, ou un autre dans cac:TaxRepresentativeParty de schéma VAT. Lors d'un essai, supprimer entièrement le cac:PartyTaxScheme du vendeur a donné les deux mêmes constats que le schéma TAX.

Un vendeur avec les deux schémas passe. Lors d'un essai, ajouter un cac:PartyTaxScheme VAT avec GB123456789 à côté de celui en TAX a rendu la facture en échec valide.

Un représentant fiscal satisfait à lui seul le côté vendeur. Lors d'un essai, une cac:TaxRepresentativeParty allemande avec DE987654321 sous VAT, ajoutée à la facture en échec alors que le vendeur restait sous TAX, l'a rendue valide.

Le côté acheteur n'a pas d'alternative : il lui faut un cac:PartyTaxScheme/cbc:CompanyID de l'acheteur sous VAT. Le retirer de la facture de transport valide a signalé cette règle et BR-IC-02 lors d'un essai.

Les frais déclenchent la règle sans aucune ligne K. Lors d'un essai avec l'unique ligne passée en catégorie Z et les ventilations ajustées en conséquence, le transport en K a signalé cette règle sans BR-IC-02.

TermeSignificationÉlément UBL
BT-102Code de catégorie de TVA des charges ou frais au niveau du documentcac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID
BT-31Identifiant à la TVA du vendeurcac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (tax scheme VAT)
BT-32Identifiant d'enregistrement fiscal du vendeurcac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (a tax scheme other than VAT)
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 (tax scheme VAT)

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 du vendeur est paramétré sous un code de schéma fiscal générique, TAX, que les factures nationales au taux normal acceptent.
  • Le vendeur détient un numéro fiscal national en plus d'un numéro de TVA, et l'export n'écrit que le premier qu'il trouve.
  • Le vendeur passe par un représentant fiscal dans le pays de destination, et cac:TaxRepresentativeParty est envoyée sans son cac:PartyTaxScheme.
  • Le transport est ajouté à la facture après que les données des parties ont été construites pour un document national.

Comment corriger le document

  1. Examinez chaque cac:PartyTaxScheme sous la partie vendeur et lisez son cac:TaxScheme/cbc:ID. Le numéro de TVA du vendeur doit être sous VAT.
  2. Si le numéro présent est l'identifiant à la TVA du vendeur, passez le schéma à VAT. S'il s'agit d'un numéro fiscal national, laissez-le sous TAX et ajoutez un second cac:PartyTaxScheme contenant l'identifiant à la TVA.
  3. Si le vendeur agit par l'intermédiaire d'un représentant fiscal, envoyez cac:TaxRepresentativeParty avec nom, adresse postale et un cac:PartyTaxScheme VAT, après cac:AccountingCustomerParty.
  4. Contrôlez aussi l'acheteur : dans l'exemple enregistré, DE123456789 sous VAT dans la partie acheteur satisfait déjà le côté acheteur.

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 : des frais de transport de catégorie K, et le numéro du vendeur sous le schéma fiscal TAX

<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <!-- postal address in London, GB, omitted from this fragment -->
    <cac:PartyTaxScheme>
      <cbc:CompanyID>GB123456789</cbc:CompanyID>
      <cac:TaxScheme>
        <cbc:ID>TAX</cbc:ID>
      </cac:TaxScheme>
    </cac:PartyTaxScheme>
    <!-- legal entity omitted from this fragment -->
  </cac:Party>
</cac:AccountingSupplierParty>
<!-- buyer and delivery omitted from this fragment -->
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>FC</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Freight to Berlin</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">6.00</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 : le même numéro du vendeur sous le schéma VAT

<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <!-- postal address in London, GB, omitted from this fragment -->
    <cac:PartyTaxScheme>
      <cbc:CompanyID>GB123456789</cbc:CompanyID>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:PartyTaxScheme>
    <!-- legal entity omitted from this fragment -->
  </cac:Party>
</cac:AccountingSupplierParty>
<!-- the K freight charge of 6.00 is unchanged -->

Seul le schéma fiscal du vendeur diffère : TAX dans la facture en échec, VAT dans la facture corrigée, avec GB123456789 dans les deux. Le document en échec signale BR-IC-02 en plus de BR-IC-04, car sa ligne est de catégorie K et passe par le même contrôle du côté vendeur.

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. En avoir, la facture en échec a donné BR-IC-02 et cette règle lors d'un essai.
  • Signalée par l'étape EN 16931 une fois par document, à la racine.
  • La règle d'autoliquidation pour les frais, BR-AE-04, accepterait le numéro du vendeur sous TAX, de même que le contrôle du vendeur au taux normal BR-S-02.
  • Le taux des frais relève séparément de BR-IC-07, et le montant des frais doit figurer dans la base imposable K selon BR-IC-08.

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-04 (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.