Sur cette page
La réponse courte
BR-CO-03 échoue lorsque le document a un cbc:TaxPointDate et que son cac:InvoicePeriod porte aussi un cbc:DescriptionCode. Conservez la date d'exigibilité si vous connaissez la date réelle à laquelle la TVA est devenue exigible ; sinon, conservez le code et supprimez cbc:TaxPointDate.
Les deux éléments indiquent l'exigibilité de la TVA : la date la donne directement, tandis que le code nomme l'événement qui la fixe. Les codes autorisés sont 3 (date d'émission de la facture), 35 (date de livraison effective) et 432 (date de paiement).
Ce que la règle vérifie
La règle est évaluée une fois pour tout le document. Elle cherche cbc:TaxPointDate sous la racine et cbc:DescriptionCode dans le cac:InvoicePeriod au niveau du document, et n'échoue que si elle trouve les deux.
N'avoir aucun des deux passe, de même que n'en avoir qu'un seul. Lors d'un essai, la facture enregistrée, avec sa date d'exigibilité conservée et une période de facturation ajoutée contenant une date de début et une date de fin, a été acceptée : les dates de période n'entrent pas en conflit avec la date d'exigibilité, seul le code le fait.
Ajouter des dates à la période n'aide pas. Lors d'un essai, une période avec une date de début, une date de fin et le code 35, à côté d'un cbc:TaxPointDate, a toujours signalé BR-CO-03.
Un code sur une période de ligne n'est pas pris en compte. Lors d'un essai, cbc:DescriptionCode dans le cac:InvoicePeriod d'une ligne, à côté d'une date d'exigibilité, n'a pas signalé cette règle ; il a signalé BR-CO-20 et l'avertissement UBL-CR-523, car une période de ligne a besoin de dates et n'a pas de place pour le code.
La valeur du code est contrôlée par d'autres règles. Un code autre que 3, 35 et 432, comme 99, signale BR-CL-06 et PEPPOL-EN16931-CL006.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-7 | Date d'exigibilité de la TVA | cbc:TaxPointDate |
| BT-8 | Code de date d'exigibilité de la TVA | cac:InvoicePeriod/cbc:DescriptionCode |
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 modèle écrit un code de date d'exigibilité par défaut, par exemple
35pour des marchandises, tandis qu'un champ distinct remplitcbc:TaxPointDatechaque fois que la source a une date d'exigibilité. - Une période de facturation est créée uniquement pour porter le code, et le code est ajouté même sur les factures dont la date d'exigibilité est déjà connue.
- Les deux valeurs sont tirées de l'enregistrement de livraison : la date de livraison effective va dans
cbc:TaxPointDate, et le fait qu'il s'agisse d'une date de livraison est aussi envoyé sous la forme du code35.
Comment corriger le document
- Déterminez lequel des deux éléments la facture requiert. Si la date à laquelle la TVA est devenue exigible est connue et diffère de la date d'émission, envoyez-la dans
cbc:TaxPointDateet supprimezcbc:DescriptionCodede la période. - Si seul l'événement est connu au moment de l'émission de la facture, envoyez le code dans
cac:InvoicePeriod/cbc:DescriptionCodeet supprimezcbc:TaxPointDate. - Si la suppression du code laisse
cac:InvoicePeriodsans enfants, supprimez aussi la période, sinonBR-CO-19etPEPPOL-EN16931-R008suivent. - Si l'exigibilité de la TVA correspond simplement à la date d'émission, aucun des deux éléments n'est nécessaire : la description Peppol de
cbc:TaxPointDatele prévoit pour le cas où l'exigibilité diffère de la date d'émission.
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 date d'exigibilité de la TVA et le code de date d'exigibilité 35 côte à côte
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<!-- note omitted from this fragment -->
<cbc:TaxPointDate>2026-09-07</cbc:TaxPointDate>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>COST-123</cbc:AccountingCost>
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<cac:InvoicePeriod>
<cbc:DescriptionCode>35</cbc:DescriptionCode>
</cac:InvoicePeriod>
<!-- references and parties omitted from this fragment -->
<cac:Delivery>
<cbc:ActualDeliveryDate>2026-09-07</cbc:ActualDeliveryDate>
<!-- delivery location omitted from this fragment -->
</cac:Delivery>Fragment de la facture corrigée : seule la date d'exigibilité de la TVA reste
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<!-- note omitted from this fragment -->
<cbc:TaxPointDate>2026-09-07</cbc:TaxPointDate>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>COST-123</cbc:AccountingCost>
<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<!-- references and parties omitted from this fragment -->
<cac:Delivery>
<cbc:ActualDeliveryDate>2026-09-07</cbc:ActualDeliveryDate>
<!-- delivery location omitted from this fragment -->
</cac:Delivery>La facture corrigée n'a pas de cac:InvoicePeriod ; la facture en échec ajoute une période dont le seul contenu est le code 35. BR-CO-03 est le seul constat. Le code indiquait que l'exigibilité de la TVA correspond à la date de livraison effective, et la facture indique déjà cette date, 2026-09-07, à la fois comme cbc:ActualDeliveryDate et comme cbc:TaxPointDate : supprimer le code ne fait donc rien perdre.
Ce que le validateur a signalé
- La facture en erreur signale BR-CO-03. 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 aussi bien à
Invoicequ'àCreditNote; lors d'un essai, un avoir avec les deux éléments a signaléBR-CO-03à la racine du document. - Une règle EN 16931, signalée à l'étape EN 16931.
- Une période qui ne contient que le code satisfait
BR-CO-19, qui exige sinon des dates ; lors d'un essai, supprimer la date d'exigibilité de la facture en échec a laissé un document valide. - Une date d'exigibilité écrite avec un suffixe de fuseau horaire, comme
2026-09-07Z, passe le XSD mais est rejetée à l'étape Peppol parPEPPOL-EN16931-F001.
Règles liées
- BR-CO-19 permet à une période de facturation de ne porter que le code de date d'exigibilité de la TVA, à condition que cette règle soit aussi respectée
- PEPPOL-EN16931-F001 contrôle le format de la date d'exigibilité lorsque vous la conservez
- 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-CO-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.

