BR-30 Champ BT-135 Règles de base EN 16931 (BR)

Corriger BR-30 : La date de fin de la période de la ligne est antérieure à la date de début

[BR-30] 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)

BR-30 dans votre propre facture ? Déposez le fichier et trouvez toutes les erreurs en quelques secondes.

Que signifie BR-30 ?

Si une ligne de facture indique à la fois une date de début (BT-134) et une date de fin (BT-135) de la période de prestation, la date de fin doit être égale ou postérieure à la date de début. La règle ne s'applique que si les deux dates sont présentes. S'il en manque une, BR-30 ne vérifie rien. Une période dont la fin précède le début est impossible et se voit rejetée.

Causes fréquentes de BR-30

Comment corriger BR-30

  1. Repérer l'endroit fautif dans le XML. Ouvrez le XML de la facture et allez au champ BT-135 par le XPath suivant ://rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString
  2. Appliquer la correction. Mettez dans ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString (format="102", AAAAMMJJ) une date égale ou postérieure à la date de début figurant dans ram:StartDateTime. Vérifiez si le début et la fin ont été inversés.
  3. Valider à nouveau. Enregistrez le fichier et validez-le à nouveau pour vérifier que BR-30 n'est plus signalé.
Proposition de correction

Mettez dans ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString (format="102", AAAAMMJJ) une date égale ou postérieure à la date de début figurant dans ram:StartDateTime. Vérifiez si le début et la fin ont été inversés.

XPath//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString

Avant / après : l'exemple XML

Voici l'endroit concerné avant et après la correction (Cross Industry Invoice, Factur-X/ZUGFeRD).

Incorrect
<ram:SpecifiedLineTradeSettlement>
  <ram:BillingSpecifiedPeriod>
    <ram:StartDateTime>
      <udt:DateTimeString format="102">20260401</udt:DateTimeString>
    </ram:StartDateTime>
    <ram:EndDateTime>
      <udt:DateTimeString format="102">20260331</udt:DateTimeString>
    </ram:EndDateTime>
  </ram:BillingSpecifiedPeriod>
</ram:SpecifiedLineTradeSettlement>
Correct
<ram:SpecifiedLineTradeSettlement>
  <ram:BillingSpecifiedPeriod>
    <ram:StartDateTime>
      <udt:DateTimeString format="102">20260401</udt:DateTimeString>
    </ram:StartDateTime>
    <ram:EndDateTime>
      <udt:DateTimeString format="102">20260430</udt:DateTimeString>
    </ram:EndDateTime>
  </ram:BillingSpecifiedPeriod>
</ram:SpecifiedLineTradeSettlement>

Questions fréquentes sur BR-30

La date de fin peut-elle être égale à la date de début ?
Oui. Pour une période d'un jour, mettez la même valeur en début et en fin. BR-30 exige seulement que la fin ne précède pas le début.
Faut-il indiquer une période pour chaque ligne ?
Non. La période de la ligne est facultative. Si vous l'indiquez, les dates doivent être cohérentes entre elles.
Quel format faut-il pour les dates ?
L'attribut format="102" signifie AAAAMMJJ, donc par exemple 20260430 pour le 30/04/2026.

Codes d'erreur voisins

Vérifier BR-30 automatiquement

Plutôt que de fouiller le XML à la main, vous pouvez valider votre fichier Factur-X ou XRechnung en ligne – déposez le PDF ou le XML et vous recevez chaque erreur avec l'identifiant de la règle, le champ concerné, la proposition de correction et le XPath, sous forme de rapport lisible ou de JSON par l'API.

Trouver chaque erreur automatiquement au lieu de chercher à la main

Déposez votre fichier Factur-X ou XRechnung – vous recevez chaque manquement avec l'identifiant de la règle, le champ, la proposition de correction et le XPath.

Valider gratuitement en ligne
Vérifier la facture