La date de fin de la période de facturation précède la date de début

Erreur BR-30 EN 16931

Si la date de début de la période de la ligne de facture (BT-134) et la date de fin de la période de la ligne de facture (BT-135) sont toutes deux indiquées, la date de fin de la période de la ligne de facture (BT-135) doit être postérieure ou égale à la date de début de la période de la ligne de facture (BT-134).

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

Lorsque ram:StartDateTime et ram:EndDateTime sont tous deux indiqués avec un udt:DateTimeString au format 102, la date de fin précède la date de début. La date de fin doit être égale ou postérieure à la date de début.

Ce que signifie la règle

Une période de facturation doit respecter l’ordre chronologique : sa date de fin ne peut pas précéder sa date de début.

Champs concernés BT-134 BT-135
Veuillez remettre les dates de début et de fin de la période de facturation dans le bon ordre

La date de fin de la période de facturation d’une ligne de facture précède sa date de début. Modifiez les dates pour que la date de fin soit égale ou postérieure.

Que faire ?
  1. Vérifiez ram:StartDateTime et ram:EndDateTime dans la période de facturation.
  2. Définissez TradeLineItem.BillingPeriodEnd à une date égale ou postérieure à TradeLineItem.BillingPeriodStart.
  3. Générez à nouveau la facture et vérifiez-la une nouvelle fois.
À quoi cela ressemble
✗ Déclenche le message
<ram:BillingSpecifiedPeriod>
  <ram:StartDateTime>
    <udt:DateTimeString format="102">20250110</udt:DateTimeString>
  </ram:StartDateTime>
  <ram:EndDateTime>
    <udt:DateTimeString format="102">20250109</udt:DateTimeString>
  </ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
✓ Correct
<ram:BillingSpecifiedPeriod>
  <ram:StartDateTime>
    <udt:DateTimeString format="102">20250109</udt:DateTimeString>
  </ram:StartDateTime>
  <ram:EndDateTime>
    <udt:DateTimeString format="102">20250110</udt:DateTimeString>
  </ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
À vérifier dans FactoorSharp
  • TradeLineItem.BillingPeriodStart (BT-134)
  • TradeLineItem.BillingPeriodEnd (BT-135)
Détails techniques

Le test compare les valeurs des éléments udt:DateTimeString avec format='102'. Il réussit également si l’un des deux éléments de date est absent.

Où la règle s'applique

La règle s’applique à la période de facturation d’une ligne de facture dans ram:BillingSpecifiedPeriod.

Message d'origine du Schematron
If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).
Contexte (rule/@context)
//ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod
Expression de contrôle (assert/@test)
(ram:EndDateTime/udt:DateTimeString[@format = '102']) >= (ram:StartDateTime/ udt:DateTimeString[@format = '102']) or not (ram:EndDateTime) or not (ram:StartDateTime)