PEPPOL-EN16931-R110: Start of the line period (BT-134) is before the invoicing period
Official message
[PEPPOL-EN16931-R110] Start date of line period MUST be within invoice period.
[PEPPOL-EN16931-R110] Start date of line period MUST be within invoice period.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- XRechnung (CII), XRechnung (UBL)
What does this mean?
Start date of line period MUST be within invoice period: if an invoicing period start date (BT-73) is given, the invoice line period start date (BT-134) must not be before it. The line period starts earlier.
The rule originates from Peppol BIS Billing 3.0 and is applied in the XRechnung validation. CII: ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime against ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime. UBL: cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate against cac:InvoicePeriod/cbc:StartDate.
Typical causes
Services from an earlier period were included in the invoice without adjusting the invoicing period.
Day and month were swapped in the date.
How to fix the error
Choose the invoicing period start date (BT-73) so that it is not after the earliest line start, or correct the date of the line.
If lines do not belong to the invoicing period, invoice them separately.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form, "Experte" view, check the field "Abrechnungszeitraum Start (BT-73)" (invoicing period start) in section "Datum & Zeiträume" (dates and periods) and "Zeitraum Start (BT-134)" (period start) of the line in section "Rechnungspositionen (BG-25)" (invoice lines); the line start must not be before the invoicing period start.
Example
Wrong
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260201</udt:DateTimeString>
</ram:StartDateTime>
</ram:BillingSpecifiedPeriod>
...
<ram:SpecifiedLineTradeSettlement>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260115</udt:DateTimeString>
</ram:StartDateTime>
</ram:BillingSpecifiedPeriod>
...
</ram:SpecifiedLineTradeSettlement>
Correct
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260115</udt:DateTimeString>
</ram:StartDateTime>
</ram:BillingSpecifiedPeriod>
...
<ram:SpecifiedLineTradeSettlement>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260115</udt:DateTimeString>
</ram:StartDateTime>
</ram:BillingSpecifiedPeriod>
...
</ram:SpecifiedLineTradeSettlement>
For developers: test expression per syntax
XRechnung (CII) (CII)
Context: rsm:SupplyChainTradeTransaction[ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime]/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime
udt:DateTimeString >= ../../../../ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString
XRechnung (UBL) (UBL)
Context: ubl-invoice:Invoice[cac:InvoicePeriod/cbc:StartDate]/cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate | ubl-creditnote:CreditNote[cac:InvoicePeriod/cbc:StartDate]/cac:CreditNoteLine/cac:InvoicePeriod/cbc:StartDate
xs:date(text()) >= xs:date(../../../cac:InvoicePeriod/cbc:StartDate)
Related validation rules
- PEPPOL-EN16931-R001: Business process type (BT-23) is missing
- PEPPOL-EN16931-R005: VAT accounting currency (BT-6) equals the invoice currency (BT-5)
- PEPPOL-EN16931-R008: The invoice contains empty elements
- PEPPOL-EN16931-R010: Buyer electronic address (BT-49) is missing
- PEPPOL-EN16931-R020: Seller electronic address (BT-34) is missing
- PEPPOL-EN16931-R040: Allowance or charge amount does not match base amount and percentage
Last updated:
Explanation of the validation rule, not legal or tax advice.