Aller au contenu

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

BR-10 : Ajouter l'adresse postale de l'acheteur

Le cac:Party de l'acheteur doit avoir un enfant cac:PostalAddress. Seule sa présence est testée ici ; le code pays de l'acheteur qu'il contient relève de BR-11.

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

Sur cette page

La réponse courte

BR-10 échoue lorsqu'il n'y a pas de cac:PostalAddress dans cac:AccountingCustomerParty/cac:Party. Ajoutez-y l'adresse postale du client que vous facturez, avec cac:Country/cbc:IdentificationCode.

Une adresse de livraison ne la satisfait pas. L'adresse d'expédition se place sous cac:Delivery, et la règle ne lit que la partie acheteur.

Ce que la règle vérifie

Il s'agit d'un contrôle de présence sur un seul élément : cac:PostalAddress comme enfant direct du cac:Party de l'acheteur. La règle ne lit pas le contenu de l'adresse.

Un groupe d'adresse sans enfant passe BR-10. Lors d'un essai, <cac:PostalAddress/> dans la partie acheteur a été signalé à la place par BR-11, pour le code pays manquant, et par PEPPOL-EN16931-R008, pour l'élément vide.

La plus petite adresse d'acheteur qui passe toutes les étapes ne contient que le code pays : lors d'un essai, un cac:PostalAddress d'acheteur contenant seulement cac:Country/cbc:IdentificationCode n'a produit aucun constat.

La règle est évaluée sur le document dans son ensemble : l'emplacement du constat est donc l'élément racine, et non la partie acheteur.

TermeSignificationÉlément UBL
BG-8Adresse postale de l'acheteurcac:AccountingCustomerParty/cac:Party/cac:PostalAddress
BT-55Code de pays de l'acheteurcac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode

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 :

  • Les clients configurés pour la facturation électronique ont été créés avec seulement un nom et une adresse électronique, et les champs d'adresse n'ont jamais été remplis.
  • La seule adresse de la commande est l'adresse de livraison, et le mapping l'écrit dans cac:Delivery en laissant la partie acheteur sans adresse.
  • Le générateur saute le bloc d'adresse dès que la rue est vide, même lorsque la ville et le pays sont connus.
  • Les données de l'acheteur proviennent d'une référence client sur la commande, qui porte des identifiants mais pas l'adresse.

Comment corriger le document

  1. Lisez l'adresse postale de l'acheteur dans la fiche client de référence : la partie facturée, et non le lieu de livraison.
  2. Produisez-la sous la forme de cac:PostalAddress dans cac:AccountingCustomerParty/cac:Party, après l'éventuel cac:PartyName et avant cac:PartyTaxScheme et cac:PartyLegalEntity.
  3. Terminez l'adresse par cac:Country/cbc:IdentificationCode avec le code ISO 3166-1 à deux lettres ; sans lui, le constat suivant est BR-11.
  4. Si la fiche client n'a pas d'adresse, complétez la fiche. Copier l'adresse du vendeur ou l'adresse de livraison dans la partie acheteur affirme quelque chose de faux sur l'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 : la partie acheteur a une adresse électronique et une entité juridique, mais pas d'adresse postale

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <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'adresse postale de l'acheteur précède l'entité juridique

<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <cac:PostalAddress>
      <cbc:StreetName>2 Example Street</cbc:StreetName>
      <cbc:CityName>London</cbc:CityName>
      <cbc:PostalZone>SW1A 2AA</cbc:PostalZone>
      <cac:Country>
        <cbc:IdentificationCode>GB</cbc:IdentificationCode>
      </cac:Country>
    </cac:PostalAddress>
    <cac:PartyLegalEntity>
      <cbc:RegistrationName>Example Buyer Ltd</cbc:RegistrationName>
      <cbc:CompanyID>87654321</cbc:CompanyID>
    </cac:PartyLegalEntity>
  </cac:Party>
</cac:AccountingCustomerParty>

La seule différence est le cac:PostalAddress de l'acheteur, avec rue, ville, code postal et pays GB, entre le cbc:EndpointID de l'acheteur et cac:PartyLegalEntity. Le document en échec signale BR-10 et rien d'autre. BR-11 n'apparaît pas, car son contrôle s'exécute à l'intérieur de l'adresse de l'acheteur et le document en échec n'en a pas.

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

  • Les avoirs exigent l'adresse de l'acheteur au même endroit. Lors d'un essai, la retirer d'un avoir a signalé BR-10 à la racine CreditNote.
  • C'est un constat de la norme EN 16931. La facture en échec enregistrée n'a aucun constat à l'étape Peppol : l'exigence d'adresse de l'acheteur vous vient donc de la seule norme EN 16931.
  • Un document auquel manquent à la fois l'adresse du vendeur et celle de l'acheteur signale BR-08 et BR-10 ensemble.
  • Une adresse placée après cac:PartyLegalEntity rompt l'ordre des éléments UBL et est rejetée à l'étape XSD : cette règle n'est donc pas atteinte.

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