Texte officiel de la règle
[PEPPOL-EN16931-R111] End date of line period MUST be within invoice period.
Le texte normatif est en anglais ; il est cité tel quel.
Pourquoi cette erreur apparaît
Lorsque le document et une ligne indiquent tous deux une période de facturation, la période de ligne doit être comprise dans celle du document ; cette règle contrôle la date de fin. Elle compare cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate à cac:InvoicePeriod/cbc:EndDate en en-tête (UBL), ou ram:BillingSpecifiedPeriod/ram:EndDateTime de la ligne à ram:BillingSpecifiedPeriod/ram:EndDateTime de l'en-tête (CII). Elle échoue souvent pour les abonnements dont une ligne court jusqu'à la fin d'un trimestre alors que la période d'en-tête se termine en fin de mois, ou lorsque la date de fin d'en-tête est la date de facture.
Comment corriger
Repoussez la date de fin de la période d'en-tête (BT-74) jusqu'à la date de fin de ligne la plus tardive, ou raccourcissez la période de ligne, de sorte que chaque date de fin de ligne soit antérieure ou égale à la date de fin d'en-tête. Si la période d'en-tête n'est pas nécessaire, supprimez cac:InvoicePeriod de l'en-tête et conservez les périodes sur les lignes. En CII, la date de fin se place dans ram:EndDateTime/udt:DateTimeString format="102" au format AAAAMMJJ. Après la modification, vérifiez ensemble le début (PEPPOL-EN16931-R110) et la fin.
Exemple (valide)
<cac:InvoicePeriod>
<cbc:StartDate>2026-07-01</cbc:StartDate>
<cbc:EndDate>2026-09-30</cbc:EndDate>
</cac:InvoicePeriod>
...
<cac:InvoiceLine>...<cac:InvoicePeriod><cbc:StartDate>2026-07-01</cbc:StartDate><cbc:EndDate>2026-09-30</cbc:EndDate></cac:InvoicePeriod>...</cac:InvoiceLine>
Ce que le validateur vérifie
Élément vérifié (contexte):
UBL
ubl-invoice:Invoice[cac:InvoicePeriod/cbc:EndDate]/cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate | ubl-creditnote:CreditNote[cac:InvoicePeriod/cbc:EndDate]/cac:CreditNoteLine/cac:InvoicePeriod/cbc:EndDateTest (XPath):
xs:date(text()) <= xs:date(../../../cac:InvoicePeriod/cbc:EndDate)CII
rsm:SupplyChainTradeTransaction[ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime]/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTimeTest (XPath):
udt:DateTimeString <= ../../../../ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString
Vérifier votre facture
Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.
La même vérification par API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRègles liées
PEPPOL-EN16931-R001Identifiant du processus métier (BT-23) absentPEPPOL-EN16931-R002Une seule note autorisée au niveau document, sauf si l'acheteur et le vendeur…PEPPOL-EN16931-R003Ni référence acheteur ni référence de bon de commandePEPPOL-EN16931-R004Identifiant de spécification autre que Peppol BIS Billing 3.0PEPPOL-EN16931-R005Devise de comptabilisation de la TVA identique à la devise de facturePEPPOL-EN16931-R006Un seul objet facturé autorisé au niveau documentPEPPOL-EN16931-R007Identifiant du processus métier au format incorrectPEPPOL-EN16931-R008Le document contient des éléments vides
Questions fréquentes
Que signifie PEPPOL-EN16931-R111 ?
PEPPOL-EN16931-R111 est une règle peppol bis billing 3.0 : End date of line period MUST be within invoice period.
Ma facture sera-t-elle rejetée à cause de PEPPOL-EN16931-R111 ?
Oui. PEPPOL-EN16931-R111 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.
À quels formats s'applique PEPPOL-EN16931-R111 ?
Factures et avoirs transmis via le réseau Peppol (UBL) et, XRechnung reprenant ces règles, toute XRechnung. Syntaxe : UBL et CII.
Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.