Aller au contenu

Ironfang Finance - Référence des règles

PEPPOL-EN16931-R111 : Terminer chaque période de ligne au plus tard à la date de fin de la période de facturation

Lorsque la période de facturation a une date de fin, aucune période de ligne ne peut finir plus tard. Corrigez la date de fin de la ligne ou prolongez la période du document.

Peppol BIS BillingErreur : le document n'est pas valideLignes et prixChamps de base

Sur cette page

La réponse courte

PEPPOL-EN16931-R111 échoue lorsque le cac:InvoicePeriod/cbc:EndDate d'une ligne tombe après le cbc:EndDate du cac:InvoicePeriod au niveau du document. Dans l'exemple enregistré, la période de facturation se termine le 2026-08-31 et la période de ligne le 2026-09-15. Corrigez la date de la ligne si elle est fausse ; si la ligne dure vraiment plus longtemps, faites finir la période de facturation à la date de fin de ligne la plus tardive ou après.

Le constat est placé sur la date de fin de la ligne, si bien que chaque ligne qui dépasse la période de facturation est signalée séparément.

Ce que la règle vérifie

La règle ne s'applique que si la période du document a une date de fin. Lors d'un essai, une ligne se terminant le 2026-09-15 a réussi une fois la date de fin du document retirée, et a encore échoué lorsque la période du document avait une date de fin mais pas de date de début.

Les dates sont comparées comme des dates calendaires et la borne est incluse : une ligne se terminant le 2026-08-31, dernier jour de la période de facturation, a réussi lors d'un essai.

Une ligne entièrement postérieure à la période de facturation est interceptée ici et nulle part ailleurs. Lors d'un essai, une période de ligne du 2026-09-05 au 2026-09-15 n'a signalé que cette règle, puisque le contrôle des dates de début ne cherche que les lignes qui commencent trop tôt.

Rien ne compare la date de fin d'une ligne à la date de début du document. Lors d'un essai, une période de ligne avec seulement une date de fin au 2026-07-20, avant le début de la période de facturation, a passé toutes les étapes.

TermeSignificationÉlément UBL
BT-135Date de fin de la période de facturation de la lignecac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate (cac:CreditNoteLine/cac:InvoicePeriod/cbc:EndDate in a credit note)
BT-74Date de fin de la période de facturationcac:InvoicePeriod/cbc:EndDate

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 :

  • Une ligne d'abonnement ou de service est facturée pour toute sa durée alors que la période de facturation est fixée au mois civil.
  • La période du document est reprise de la première ligne, et une ligne suivante dure plus longtemps.
  • La date de fin de la ligne est calculée comme la date de début plus une durée, et une erreur d'un jour la fait passer au mois suivant.
  • Une conversion de fuseau horaire décale une date de fin de ligne au lendemain, au-delà du dernier jour de la période.

Comment corriger le document

  1. Prenez la ligne indiquée dans le constat et vérifiez sa date de fin de service à la source.
  2. Si la date est fausse, corrigez-la à cet endroit et écrivez la date corrigée dans le cac:InvoicePeriod/cbc:EndDate de cette ligne.
  3. Si la date est juste, la période de facturation est trop courte. Fixez le cac:InvoicePeriod/cbc:EndDate du document à la date de fin de ligne la plus tardive, et comparez la date de début de ligne la plus précoce à la date de début du document, comme PEPPOL-EN16931-R110 l'exige.
  4. Écrivez les deux dates sous forme de simples valeurs YYYY-MM-DD ; un suffixe de fuseau horaire est rejeté par PEPPOL-EN16931-F001.

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 : la période de facturation se termine le 31 août, la période de ligne le 15 septembre

<cac:InvoicePeriod>
  <cbc:StartDate>2026-08-01</cbc:StartDate>
  <cbc:EndDate>2026-08-31</cbc:EndDate>
</cac:InvoicePeriod>
<!-- parties, VAT and totals omitted from this fragment -->
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- quantity and line net amount omitted from this fragment -->
  <cac:InvoicePeriod>
    <cbc:StartDate>2026-08-01</cbc:StartDate>
    <cbc:EndDate>2026-09-15</cbc:EndDate>
  </cac:InvoicePeriod>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Fragment de la facture corrigée : la période de ligne se termine le 15 août, à l'intérieur de la période de facturation

<cac:InvoicePeriod>
  <cbc:StartDate>2026-08-01</cbc:StartDate>
  <cbc:EndDate>2026-08-31</cbc:EndDate>
</cac:InvoicePeriod>
<!-- parties, VAT and totals omitted from this fragment -->
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- quantity and line net amount omitted from this fragment -->
  <cac:InvoicePeriod>
    <cbc:StartDate>2026-08-01</cbc:StartDate>
    <cbc:EndDate>2026-08-15</cbc:EndDate>
  </cac:InvoicePeriod>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Seule la date de fin de la ligne diffère : 2026-09-15 dans la facture en échec, 2026-08-15 dans la facture corrigée, face à une période de facturation qui se termine le 2026-08-31 dans les deux. Le document en échec ne signale que PEPPOL-EN16931-R111. L'étape EN 16931 n'a aucune règle qui compare les périodes de ligne et de document : BR-30 vérifie seulement que la ligne ne se termine pas avant sa propre date de début du 2026-08-01, et ce n'est pas le cas.

Ce que le validateur a signalé

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 à Invoice et à CreditNote. La ligne d'un avoir est cac:CreditNoteLine, mais sa période s'appelle toujours cac:InvoicePeriod ; lors d'un essai avec les mêmes dates, elle a signalé cette règle.
  • Une règle Peppol BIS, signalée par la seule étape Peppol.
  • Une période de ligne qui commence avant la période de facturation relève de PEPPOL-EN16931-R110. Lors d'un essai, une ligne allant du 2026-07-25 au 2026-09-15 a signalé les deux règles, une sur chaque date.
  • Une date de fin de ligne avec un suffixe de fuseau horaire est aussi signalée par PEPPOL-EN16931-F001. Lors d'un essai, 2026-09-15Z a entraîné les deux constats.

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 PEPPOL-EN16931-R111 (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.