# BR-FX-EN-04 Delivery date or service period required (Factur-X / ZUGFeRD)

BR-FX-EN-04 is a rule of the Factur-X 1.09 / ZUGFeRD 2.5 Schematron for the BASIC and EN 16931 profiles. It applies when the seller or invoicer and the buyer or invoicee both have a German postal address and the invoice is not a down payment invoice (type code 386). The invoice must then contain the actual delivery date (BT-72), an invoicing period (BG-14) or a period on every invoice line (BG-26). Without BT-72, the delivery block must also hold data; the rule text asks for at least the deliver-to country (BT-80). The Schematron reports it as a warning.

## Problem Description

> **WARNING**: Factur-X / ZUGFeRD rule (FNFE-MPE and FeRD, BR-FX)

> **Where BR-FX-EN-04 is checked**
>
> A validator checks an e-invoice in stages. First the file must be well-formed XML that matches the UBL or CII schema (XSD). Then the EN 16931 business rules run: BR core rules, BR-CO calculations, BR-CL code lists, BR-DEC decimals and VAT-category rules such as BR-S. Next come the national or network rules that BT-24 selects: BR-DE for XRechnung, PEPPOL-EN16931 for Peppol BIS Billing. The report lists every failed rule: one error means reject, warnings alone still mean accept. BR-FX-EN-04: Factur-X / ZUGFeRD profile rule, reported in the stage “National rules (CIUS)”.

## Context and Significance

KoSIT does not run this rule; a ZUGFeRD or Factur-X validator does. For strict ZUGFeRD and Factur-X output, Invoice-Converter.com goes further than the warning: the review step reports the missing date or period, and the file is not created until you add it. That is a product rule, not a requirement of the standard.

## Solution

Add the actual delivery date (BT-72) when you know it. For services, add the invoicing period (BG-14, BT-73 and BT-74) or a period on each line (BG-26). If you give only a period, also add the deliver-to country (BT-80). Take the dates from the source documents; do not reuse the invoice date as a stand-in.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-FX-EN-04)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-FX-EN-04)

## Valid Examples

- BT-72 = 2026-10-15
- BG-14 = 2026-09-01 to 2026-09-30 with BT-80 = DE

## Invalid Examples

- No BT-72, no BG-14 and no BG-26 on a domestic German invoice
- BG-14 given, but no BT-80 and no other delivery data

## Code Examples

### Valid XML
```
<ram:ApplicableHeaderTradeDelivery>
  <ram:ActualDeliverySupplyChainEvent>
    <ram:OccurrenceDateTime>
      <udt:DateTimeString format="102">20261015</udt:DateTimeString>
    </ram:OccurrenceDateTime>
  </ram:ActualDeliverySupplyChainEvent>
</ram:ApplicableHeaderTradeDelivery>
```

### Invalid XML
```
<ram:ApplicableHeaderTradeDelivery/>
```

## Affected Fields

- [BT-72 Actual delivery date](/resources/xrechnung/bt-72-actual-delivery-date)
- [BG-14 Invoicing period](/resources/xrechnung/bt-73-invoicing-period-start-date)
- [BG-26 Invoice line period](/resources/xrechnung/bt-134-invoice-line-period-start-date)
- [BT-80 Deliver to country code](/resources/xrechnung/bt-80-deliver-to-country-code)

## Validation Tools

- [ZUGFeRD Validator](/zugferd-validator): To check a hybrid PDF and its embedded XML
- [PDF to ZUGFeRD](/pdf-to-zugferd): For German B2B workflows and hybrid invoices

## Related Resources

- [Official Specification](https://www.ferd-net.de/publikationen-produkte/publikationen/detailseite/zugferd-252-english)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
