Sur cette page
La réponse courte
BR-IC-09 échoue lorsque le cbc:TaxAmount d'un cac:TaxSubtotal de catégorie K n'est pas nul. La facture enregistrée, adressée à un acheteur à Berlin, a calculé la TVA allemande à 19 %, soit 4.75 sur 25.00. Mettez le montant de taxe de la ventilation à 0.00 et son taux à 0, puis retirez les 4.75 du total de TVA, du total TVA comprise et du montant à payer.
Pour une livraison intracommunautaire, l'acheteur déclare la TVA sur l'acquisition dans son propre État membre : ni le taux du vendeur ni celui de l'acheteur n'ont leur place dans les montants de taxe du vendeur.
Ce que la règle vérifie
Seule la ventilation est examinée : le cbc:TaxAmount voisin d'un cac:TaxCategory K sous le régime VAT dans le cac:TaxTotal racine doit valoir zéro en tant que nombre décimal, et le constat pointe sur cet élément de catégorie.
Aucune règle intracommunautaire ne lit le taux d'une ventilation K. La facture en échec le fixe à 19, ce qui n'a entraîné aucun constat propre, et BR-CO-17 reste muet car 4.75 représente exactement 19 % de 25.00.
Avec le taux laissé à 0 et les mêmes 4.75 dans la ventilation et les totaux, BR-CO-17 a aussi été signalé lors d'un essai, car une ventilation au taux de 0 exige un montant de taxe qui s'arrondit à zéro.
Le total de TVA du document relève d'un contrôle distinct. Lors d'un essai, 4.75 dans une ventilation K au taux de 0, avec cac:TaxTotal/cbc:TaxAmount laissé à 0.00, a ajouté BR-CO-14 à cette règle et à BR-CO-17.
Ce n'est pas la ligne qui échoue. Son cac:ClassifiedTaxCategory garde K à 0 dans les deux documents ; un taux positif à cet endroit serait le constat distinct BR-IC-05.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-117 | Montant de la TVA de la catégorie | cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount |
| BT-118 | Code de catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID |
| BT-119 | Taux de la catégorie de TVA | cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent |
| BT-110 | Montant total de la TVA de la facture | cac:TaxTotal/cbc:TaxAmount |
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 taux de TVA est déduit du pays de livraison, l'Allemagne à 19 % dans l'exemple, et appliqué alors que la livraison est intracommunautaire.
- Le taux national du vendeur est appliqué d'abord, puis la catégorie passe à
K, sans effacer la TVA calculée. - La commande a été chiffrée avec TVA avant la confirmation du numéro de TVA de l'acheteur, et le montant de taxe enregistré a survécu au reclassement de la facture en
K. - La TVA que l'acheteur autoliquidera est calculée à titre d'information et écrite dans le montant de taxe de la ventilation.
Comment corriger le document
- Vérifiez que la livraison est bien intracommunautaire : une livraison à un acheteur établi dans un autre État membre et qui y dispose d'un identifiant TVA. Si c'est le cas, la ventilation reste
K. - Mettez
cbc:TaxAmountà0.00dans lecac:TaxSubtotalKet soncbc:Percentà0, le même taux que celui de la ligne. - Recalculez
cac:TaxTotal/cbc:TaxAmountà partir des ventilations, puiscbc:TaxInclusiveAmountetcbc:PayableAmount. Dans l'exemple enregistré, ils reviennent à 0.00, 25.00 et 25.00. - Si le vendeur doit réellement la TVA, la livraison n'est pas une livraison intracommunautaire et appelle la catégorie et le taux applicables. Soumettez la question au responsable de la détermination fiscale plutôt que de modifier seulement les montants.
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 : TVA allemande de 4.75 à 19 % dans la ventilation K, reportée dans les totaux
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">4.75</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">4.75</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>K</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
<!-- reason text and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">29.75</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">29.75</cbc:PayableAmount>
</cac:LegalMonetaryTotal>Fragment de la facture corrigée : la ventilation K à 0 sans taxe, et des totaux sans elle
<cac:TaxTotal>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>K</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
<!-- reason text and tax scheme omitted from this fragment -->
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="GBP">25.00</cbc:TaxInclusiveAmount>
<!-- allowance, charge, prepaid and rounding amounts omitted from this fragment -->
<cbc:PayableAmount currencyID="GBP">25.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>La facture en échec donne à la ventilation K un taux de 19 et un montant de taxe de 4.75, et reporte ces 4.75 dans un total de TVA de 4.75 ainsi que dans un total TVA comprise et un montant à payer de 29.75 chacun ; la facture corrigée a un taux de 0, 0.00, 0.00, 25.00 et 25.00. BR-IC-09 est le seul constat : les totaux concordent entre eux et 4.75 représente 19 % de 25.00, si bien que ni BR-CO-14 ni BR-CO-17 n'est signalé.
Ce que le validateur a signalé
- La facture en erreur signale BR-IC-09. 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 reconstruite en avoir, avec unecac:CreditNoteLine, a signalé le même constat unique. - Signalée par l'étape EN 16931 comme un constat fatal sur le
cac:TaxCategoryde la ventilationK. - L'exportation hors UE a la même exigence pour la catégorie
GavecBR-G-09. Une ventilation intracommunautaire a aussi besoin de son motif (BR-IC-10) et d'une base imposable qui corresponde à ses lignes, remises et frais (BR-IC-08).
Règles liées
- BR-IC-10 demande le motif de livraison intracommunautaire dans la même ventilation K
- BR-G-09 impose de la même façon un montant de taxe nul à une ventilation d'exportation
- BR-CO-17 s'ajoute à cette règle lorsque la ventilation K garde un taux de 0 mais porte un montant de taxe qui ne s'arrondit pas à zéro
- BR-IC-08 contrôle la base imposable de la ventilation intracommunautaire
- 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-28.1 : source vérifiée le 2026-09-28, explication mise à jour le 2026-09-28.
La définition officielle de BR-IC-09 (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.

