# BR-30 La fin de la période de ligne ne doit pas précéder son début

Si la date de début (BT-134) et la date de fin (BT-135) de la période de ligne sont fournies, BT-135 doit être identique ou postérieure à BT-134.

## Description du problème

> **ERREUR**: Règle métier de la norme EN 16931 (CEN)

## Contexte et importance

Même contrôle que BR-29, mais au niveau de la ligne : l’erreur vient de dates inversées à l’export, d’une confusion JJ/MM et MM/JJ ou d’une mauvaise année, souvent sur des lignes d’abonnement ou de location. La période de ligne (BG-26) permet au destinataire de rattacher chaque prestation récurrente à la bonne période. Il s’agit d’une règle de base de la norme EN 16931.

## Solution

Corrigez cac:InvoiceLine/cac:InvoicePeriod (CII : ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod) pour que la date de fin soit identique ou postérieure à la date de début, ou supprimez la période de ligne si elle est inutile.

- [Valider le XML](/fr/xrechnung-validator?source=resource&rule=BR-30)
- [Convertir la facture](/fr/pdf-to-xrechnung?source=resource&rule=BR-30)

## Exemples valides

- BT-134 = 2026-02-01, BT-135 = 2026-02-28

## Exemples invalides

- BT-134 = 2026-02-28, BT-135 = 2026-02-01 — fin avant début

## Exemples de code

### XML valide
```
<cac:InvoiceLine>
  <cac:InvoicePeriod>
    <cbc:StartDate>2026-02-01</cbc:StartDate>
    <cbc:EndDate>2026-02-28</cbc:EndDate>
  </cac:InvoicePeriod>
</cac:InvoiceLine>
```

### XML invalide
```
<cac:InvoiceLine>
  <cac:InvoicePeriod>
    <cbc:StartDate>2026-02-28</cbc:StartDate>
    <cbc:EndDate>2026-02-01</cbc:EndDate>
  </cac:InvoicePeriod>
</cac:InvoiceLine>
```

## Champs concernés

- [BT-134 Date de début de la période de ligne](/resources/xrechnung/bt-134-invoice-line-period-start-date)
- [BT-135 Date de fin de la période de ligne](/resources/xrechnung/bt-135-invoice-line-period-end-date)

## Règles associées

- [BR-29](/resources/kosit-validator-errors/br-29-invoicing-period-end-after-start)

## Outils de validation

- [Validateur KoSIT officiel](https://github.com/itplr-kosit/validator): Exécutez le validateur officiel du KoSIT avec la configuration XRechnung pour contrôler les règles EN 16931 et XRechnung.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Repérez les erreurs de validation pendant la conversion et vérifiez chaque correction.

## Ressources associées

- [Spécification officielle](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Toutes les erreurs de validation](/resources/kosit-validator-errors): Vue d’ensemble des règles de validation EN 16931, XRechnung et Peppol expliquées ici.
