Sur cette page
La réponse courte
BR-IC-12 échoue lorsque la ventilation de la TVA a une catégorie K et qu'il n'y a aucun code pays à cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode sous la racine du document. Ajoutez l'adresse de livraison avec le code ISO 3166-1 du pays où les marchandises sont allées : DE dans l'exemple enregistré.
Le chemin est exact. Un pays dans cac:Delivery/cac:DeliveryAddress, ou dans l'adresse postale de l'acheteur, ne le satisfait pas.
Ce que la règle vérifie
C'est une catégorie K dans la ventilation de la TVA au niveau du document, sous le régime VAT, qui fait intervenir la règle ; les lignes ne sont pas consultées. Elle signale une seule fois, à la racine.
Elle lit un seul emplacement : le cbc:IdentificationCode dans le cac:Country du cac:Address du cac:DeliveryLocation du cac:Delivery au niveau du document, et la valeur doit y faire plus d'un caractère.
L'adresse de l'acheteur ne sert pas de solution de repli. La facture en échec a un acheteur à Berlin avec le pays DE et échoue quand même.
Le pays seul suffit. Lors d'un essai, un cac:DeliveryLocation/cac:Address ne contenant que cac:Country a donné un document valide ; la ville de l'exemple enregistré est facultative.
Le code n'est comparé à rien. Un pays de livraison GB, le même que celui du vendeur, a passé toutes les étapes lors d'un essai : la règle ne signalera donc pas une livraison marquée K qui n'a jamais quitté le pays du vendeur.
Savoir si le code est un vrai pays est laissé à BR-CL-14. Avec de en minuscules, cette règle a passé et BR-CL-14 a échoué ; un code vide a fait échouer ensemble cette règle, BR-CL-14 et PEPPOL-EN16931-R008.
Une adresse sans cac:Country fait échouer cette règle et BR-57, qui veut un pays dans toute adresse de livraison.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-118 | Code de catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BG-15 | Adresse de livraison | cac:Delivery/cac:DeliveryLocation/cac:Address |
| BT-80 | Code de pays de livraison | cac:Delivery/cac:DeliveryLocation/cac:Address/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 :
- Le mapping écrit la destination dans
cac:Delivery/cac:DeliveryAddress, un élément qu'UBL possède mais que Peppol n'utilise pas. Lors d'un essai, cela a signalé cette règle plus l'avertissementUBL-CR-682. - Seul un nom de partie destinataire est envoyé, dans
cac:DeliveryParty, sans lieu. Cela a aussi échoué lors d'un essai. - L'export omet
cac:Deliverylorsque les marchandises vont à l'adresse de l'acheteur, en supposant que l'adresse de l'acheteur suffit. - L'adresse de livraison est mappée sans pays, parce que la source ne conserve le pays que sur la fiche client.
Comment corriger le document
- Prenez le pays de destination dans les données d'expédition ou d'envoi. Il peut différer de l'adresse de l'acheteur ; utilisez le lieu où les marchandises ont été livrées, pas celui où la facture est adressée.
- Écrivez-le à
cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCodesous la forme d'un code ISO 3166-1 alpha-2 en majuscules. La rue, la ville et le code postal peuvent aller dans le mêmecac:Addresslorsque vous les avez. - Si le mapping utilise
cac:DeliveryAddress, déplacez plutôt son contenu danscac:DeliveryLocation/cac:Address. - Gardez
cbc:ActualDeliveryDatedans le mêmecac:Delivery, avantcac:DeliveryLocation. Avec la date après le lieu, le document a échoué à l'étape XSD lors d'un essai.
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 : le bloc de livraison a une date et aucun lieu de livraison
<cac:Delivery>
<cbc:ActualDeliveryDate>2026-09-07</cbc:ActualDeliveryDate>
</cac:Delivery>Fragment de la facture corrigée : l'adresse de livraison à Berlin avec le pays DE
<cac:Delivery>
<cbc:ActualDeliveryDate>2026-09-07</cbc:ActualDeliveryDate>
<cac:DeliveryLocation>
<cac:Address>
<cbc:CityName>Berlin</cbc:CityName>
<cac:Country>
<cbc:IdentificationCode>DE</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:DeliveryLocation>
</cac:Delivery>La facture corrigée a un cac:DeliveryLocation avec une adresse à Berlin et le pays DE à l'intérieur de cac:Delivery ; la facture en échec n'y a que la date de livraison. Le document en échec ne signale que BR-IC-12. L'adresse postale de son acheteur indique aussi DE, ce qui montre que la règle n'emprunte pas le pays de l'acheteur.
Ce que le validateur a signalé
- La facture en erreur signale BR-IC-12. 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 aux documents UBL
InvoiceetCreditNote. Lors d'un essai, la facture en échec convertie en avoir a produit le même constat. - Signalée par l'étape EN 16931 : toute erreur XSD dans le document, comme des éléments dans le mauvais ordre à l'intérieur de
cac:Delivery, l'empêche donc d'être signalée. - En dehors de la catégorie
K, une adresse de livraison est facultative, mais une adresse envoyée a quand même besoin d'un pays selonBR-57.
Règles liées
- BR-57 exige un pays dans toute adresse de livraison, quelle que soit la catégorie de TVA
- BR-IC-11 demande la date de livraison ou la période de facturation sur le même document
- UBL-CR-682 avertit lorsque l'adresse est envoyée comme cac:DeliveryAddress, où cette règle ne regarde pas
- BR-CL-14 vérifie que le code du pays de livraison est un code ISO 3166-1 valide
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
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-12 (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.

