N’indiquez pas à la fois la date de TVA et son code

Erreur BR-CO-03 EN 16931

La date d’exigibilité de la TVA (BT-7) et le code de la date d’exigibilité de la TVA (BT-8) s’excluent mutuellement.

Règle obligatoire : tant qu'elle n'est pas respectée, la facture est invalide et sera rejetée par les validateurs.
Ce qui ne va pas

ram:TaxPointDate (BT-7) et ram:DueDateTypeCode (BT-8) sont tous deux renseignés dans la même ventilation de la TVA. Ces deux valeurs s’excluent mutuellement.

Ce que signifie la règle

BT-7 contient la date de TVA, tandis que BT-8 contient un code de date de TVA. Les deux valeurs ne doivent pas être utilisées simultanément pour une facture.

Champs concernés BT-7 BT-8
Veuillez indiquer soit la date de TVA, soit son code

La facture contient à la fois une date de TVA et un code de date de TVA. Conservez l’une de ces valeurs ; vous pouvez également omettre les deux.

Que faire ?
  1. Repérez le ram:ApplicableTradeTax concerné.
  2. Si les deux éléments sont présents, supprimez soit ram:TaxPointDate, soit ram:DueDateTypeCode.
  3. Vérifiez l’appel à SetTaxPointDate(...).
  4. Générez de nouveau la facture et vérifiez-la à nouveau.
À quoi cela ressemble
✗ Déclenche le message
<ram:ApplicableTradeTax>
  <ram:TaxPointDate>2026-10-03</ram:TaxPointDate>
  <ram:DueDateTypeCode>5</ram:DueDateTypeCode>
</ram:ApplicableTradeTax>
✓ Correct
<ram:ApplicableTradeTax>
  <ram:TaxPointDate>2026-10-03</ram:TaxPointDate>
</ram:ApplicableTradeTax>
À vérifier dans FactoorSharp
  • Tax.SetTaxPointDate(taxPointDate, dueDateTypeCode) (BT-7; BT-8)
Détails techniques

Le test est satisfait lorsqu’un seul des deux éléments est présent ou lorsque les deux sont absents. Il échoue si ram:TaxPointDate et ram:DueDateTypeCode sont présents simultanément.

Où la règle s'applique

La règle s’applique dans chaque ram:ApplicableTradeTax du règlement au niveau du document.

Message d'origine du Schematron
Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
Contexte (rule/@context)
//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax
Expression de contrôle (assert/@test)
((ram:TaxPointDate) and not (ram:DueDateTypeCode)) or (not (ram:TaxPointDate) and (ram:DueDateTypeCode)) or (not (ram:TaxPointDate) and not (ram:DueDateTypeCode))