Aller au contenu

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

PEPPOL-EN16931-R110 : Faire commencer chaque période de ligne à la date de début de la période de facturation ou après

Si le document a une date de début de période de facturation, aucune période de ligne ne peut commencer plus tôt. Corrigez la date de la ligne ou avancez le début de 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-R110 échoue lorsque le cac:InvoicePeriod/cbc:StartDate d'une ligne est antérieur au cbc:StartDate du cac:InvoicePeriod au niveau du document. Soit la date de la ligne est fausse et doit être corrigée, soit la ligne couvre réellement des jours antérieurs et la période de facturation doit commencer à ces jours ou avant.

Le constat pointe sur la date de début de la ligne elle-même : sur un document comportant de nombreuses lignes, il vous indique donc laquelle sort de la plage. Les dates de fin de ligne relèvent de PEPPOL-EN16931-R111.

Ce que la règle vérifie

La règle ne s'exécute que si la période au niveau du document a un cbc:StartDate. Lors d'un essai, la même date de ligne précoce a passé lorsque la période du document n'avait qu'une date de fin, et de nouveau lorsqu'il n'y avait aucune période de document.

Chaque date de début de période de ligne est ensuite comparée à la date de début du document en tant que date calendaire. Le même jour passe : dans la facture corrigée, les deux périodes commencent le 2026-08-01.

Seules les dates de début interviennent. Une ligne dont la date de fin est postérieure à la date de fin du document signale PEPPOL-EN16931-R111 à la place ; lors d'un essai, une ligne se terminant le 2026-09-05 dans une période se terminant le 2026-08-31 a fait exactement cela.

La règle ne vérifie pas si une ligne commence après la fin de la période de facturation. Lors d'un essai, une période de ligne avec seulement une date de début au 2026-09-05, au-delà de la date de fin du document au 2026-08-31, a passé toutes les étapes.

TermeSignificationÉlément UBL
BT-134Date de début de la période de facturation de la lignecac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate (cac:CreditNoteLine/cac:InvoicePeriod/cbc:StartDate in a credit note)
BT-73Date de début de la période de facturationcac:InvoicePeriod/cbc:StartDate

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 :

  • La période de facturation est fixée au mois de facturation en cours alors qu'une ligne porte des montants pour des jours antérieurs, comme une consommation facturée à terme échu ou une première période au prorata.
  • La période du document est copiée depuis la première ligne, et une ligne suivante commence plus tôt.
  • Les dates de ligne et les dates du document passent par des conversions de fuseau horaire différentes, si bien qu'une ligne commençant à minuit heure locale est écrite à la veille.
  • Une ligne de correction garde les dates de prestation de la facture d'origine alors que la période du document est la période en cours.

Comment corriger le document

  1. Pour la ligne nommée dans le constat, vérifiez ses dates de prestation dans la source : la date de début est-elle juste ?
  2. Si elle est fausse, corrigez-la à la source et écrivez la date corrigée dans le cac:InvoicePeriod/cbc:StartDate de cette ligne.
  3. Si elle est juste, la période de facturation ne couvre pas toute la facture. Donnez au cac:InvoicePeriod/cbc:StartDate du document la date de début de ligne la plus ancienne, et comparez la date de fin du document à la date de fin de ligne la plus tardive, comme l'exige PEPPOL-EN16931-R111.
  4. Écrivez chaque date sous la forme simple YYYY-MM-DD, tirée de la date calendaire dans le fuseau horaire de l'activité, sans conversion en UTC.

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 commence le 1er août, la période de ligne le 25 juillet

<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>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:InvoicePeriod>
    <cbc:StartDate>2026-07-25</cbc:StartDate>
    <cbc:EndDate>2026-08-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 commence le 1er août, premier jour 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>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <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 début de la ligne diffère : 2026-07-25 dans la facture en échec, 2026-08-01 dans la facture corrigée. Le document en échec ne signale que PEPPOL-EN16931-R110. Son étape EN 16931 passe, car la règle de période de ligne de cette étape, BR-30, ne compare la date de début d'une ligne qu'à la date de fin de la même ligne, et 2026-08-15 est postérieur à 2026-07-25.

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. Dans un avoir, la ligne est cac:CreditNoteLine, dont l'élément de période s'appelle toujours cac:InvoicePeriod ; lors d'un essai, la même date précoce y a signalé cette règle.
  • C'est une règle Peppol BIS, qui n'apparaît qu'à l'étape Peppol ; l'étape EN 16931 a passé la facture en échec enregistrée.
  • Une valeur qui n'est pas du tout une date, comme 25/07/2026, échoue à l'étape XSD avant que cette règle puisse s'exécuter ; une date avec un suffixe de fuseau horaire passe la XSD et est rejetée par PEPPOL-EN16931-F001.
  • Une date de fin de ligne antérieure à sa propre date de début relève de BR-30 ; une date de fin de ligne postérieure à la date de fin du document relève de PEPPOL-EN16931-R111.

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-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.

La définition officielle de PEPPOL-EN16931-R110 (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.