Offizielle Regel
[BR-FX-DE-04] Eine Rechnung, die keine Anzahlungsrechnung ist (Code 386), muss zur Angabe des Liefer-/Leistungsdatums entweder BT-72 (tatsächliches Lieferdatum), BG-14 (Rechnungszeitraum) oder in jeder Rechnungsposition BG-26 (Positionszeitraum) enthalten. Wird BT-72 nicht angegeben, ist aus technischen Gründen mindestens das Lieferland (BT-80) anzugeben.
Englische Fassung (BR-FX-EN-04)
An invoice that is not a down payment invoice (code 386) must contain either BT-72 "Actual delivery date", BG-14 "Invoicing period" or BG-26 "Invoice line period" in each invoice item to indicate the delivery/service date. If BT-72 is not specified, at least the country of delivery (BT-80) must be specified for technical reasons.
Quelle: ZUGFeRD 2.4 / Factur-X 1.08 Technischer Anhang, Profil EN16931 (BR-FX-DE-04 / BR-FX-EN-04)
Kurz erklärt
BR-FX-EN-04 ist eine Factur-X/ZUGFeRD-Regel (nicht KoSIT-XRechnung). Ihre CII-XML muss angeben, wann geliefert oder geleistet wurde – per Lieferdatum (BT-72), Rechnungszeitraum (BG-14) oder Positionszeitraum (BG-26). Fehlt BT-72, reicht mindestens das Lieferland (BT-80). Anzahlungsrechnungen (Typ 386) sind ausgenommen.
Ausführliche Erklärung
Die Regel wurde mit ZUGFeRD 2.4 / Factur-X 1.08 eingeführt. Sie betrifft die Lieferinformationen (BG-13) in UN/CEFACT CII. Hintergrund: Die XML-Gruppe ApplicableHeaderTradeDelivery darf nicht leer bleiben. Deshalb verlangt der Validator entweder ein inhaltliches Liefer-/Leistungsdatum oder – als technische Mindestlösung – das Lieferland (BT-80). Das ist kein klassischer EN-16931-Pflichtinhalt, sondern eine Factur-X-Erweiterung. In der Praxis tritt der Fehler häufig bei Mustang, Valitool oder anderen ZUGFeRD-Validatoren auf. Ab ZUGFeRD 2.5 / Factur-X 1.09 wurde BR-FX-EN-04 aus dem EN16931-Profil entfernt; stattdessen greift PEPPOL-EN16931-R008 (keine leeren Elemente).
Wann tritt der Fehler auf?
- Rechnungstyp (BT-3 / ram:TypeCode) ist nicht 386 (keine Anzahlungsrechnung).
- ram:ApplicableHeaderTradeDelivery ist leer oder enthält nur leere Unterelemente.
- Weder BT-72 (tatsächliches Lieferdatum) noch BG-14 (Rechnungszeitraum) sind auf Kopfebene gesetzt.
- Mindestens eine Rechnungsposition hat keinen BG-26 Positionszeitraum.
- BT-72 fehlt und BT-80 (Lieferland unter ShipToTradeParty) ist ebenfalls nicht gesetzt.
Betroffene Felder (EN 16931)
| Code | Bezeichnung | BG | Hinweis |
|---|---|---|---|
| BT-3 | Rechnungstyp | — | 386 = Anzahlung (ausgenommen) |
| BT-72 | Tatsächliches Lieferdatum | BG-13 | Kopfebene, bevorzugte Lösung |
| BT-73 | Beginn Rechnungszeitraum | BG-14 | Start- und/oder Enddatum |
| BT-74 | Ende Rechnungszeitraum | BG-14 | Alternative zu BT-72 |
| BT-134 | Beginn Positionszeitraum | BG-26 | Pro Rechnungsposition |
| BT-135 | Ende Positionszeitraum | BG-26 | Pro Rechnungsposition |
| BT-80 | Lieferland | BG-15 | Mindestlösung wenn BT-72 fehlt |
CII-Pfade in ZUGFeRD/Factur-X (UN/CEFACT)
- BT-72
//ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString - BG-14
//ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod - BG-26
//ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod - BT-80
//ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID - BT-3
//rsm:ExchangedDocument/ram:TypeCode
Typische Ursachen
- ZUGFeRD/Factur-X-Export liefert keine Lieferinformationen (leere ApplicableHeaderTradeDelivery-Gruppe).
- Nur Rechnungsdatum ist bekannt; Liefer- oder Leistungszeitraum fehlt im XML.
- ShipToTradeParty / Lieferland (BT-80) wird nicht exportiert.
- Dienstleistungsrechnungen mit Abrechnungszeitraum nur im PDF, nicht strukturiert in BG-14/BG-26.
- ERP mappt Lieferdatum nur ins PDF, nicht in die eingebettete CII-XML.
- Validator prüft Factur-X 1.08-Regeln, obwohl das Unternehmen noch keine Lieferdaten strukturiert exportiert.
Diagnose-Checkliste
- Prüfen Sie ram:TypeCode. Bei 386 (Anzahlung) greift BR-FX-EN-04 nicht.
- Suchen Sie ApplicableHeaderTradeDelivery – ist die Gruppe leer?
- Prüfen Sie BT-72 unter ActualDeliverySupplyChainEvent/OccurrenceDateTime.
- Prüfen Sie BG-14 (BillingSpecifiedPeriod) auf Kopfebene mit Start- und/oder Enddatum.
- Prüfen Sie jede Position auf BG-26 (BillingSpecifiedPeriod in SpecifiedLineTradeSettlement).
- Fehlt BT-72: setzen Sie mindestens BT-80 (ram:CountryID) unter ShipToTradeParty.
- Validieren Sie erneut mit Ihrem ZUGFeRD/Factur-X-Validator (z. B. Mustang, Valitool).
Behebung
- Option A: BT-72 Lieferdatum auf Kopfebene ergänzen (empfohlen, wenn bekannt).
- Option B: BG-14 Rechnungszeitraum mit BT-73/BT-74 (Start und/oder Ende) setzen.
- Option C: BG-26 Positionszeitraum auf jeder Rechnungsposition setzen.
- Option D (Mindestlösung): BT-80 Lieferland unter ShipToTradeParty setzen (z. B. DE).
- ERP-Export anpassen, damit künftig automatisch mindestens eine Option befüllt wird.
Beispiele (CII / ZUGFeRD)
Ungültig (leere Liefergruppe)
<ram:ApplicableHeaderTradeDelivery/>Gültig – BT-72 Lieferdatum
<ram:ApplicableHeaderTradeDelivery>
<ram:ActualDeliverySupplyChainEvent>
<ram:OccurrenceDateTime>
<udt:DateTimeString format="102">20260715</udt:DateTimeString>
</ram:OccurrenceDateTime>
</ram:ActualDeliverySupplyChainEvent>
</ram:ApplicableHeaderTradeDelivery>Gültig – BG-14 Rechnungszeitraum
<ram:ApplicableHeaderTradeSettlement>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260701</udt:DateTimeString>
</ram:StartDateTime>
<ram:EndDateTime>
<udt:DateTimeString format="102">20260731</udt:DateTimeString>
</ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
</ram:ApplicableHeaderTradeSettlement>Gültig – BG-26 Positionszeitraum
<ram:IncludedSupplyChainTradeLineItem>
<ram:SpecifiedLineTradeSettlement>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260701</udt:DateTimeString>
</ram:StartDateTime>
<ram:EndDateTime>
<udt:DateTimeString format="102">20260731</udt:DateTimeString>
</ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>Gültig – Mindestlösung BT-80
<ram:ApplicableHeaderTradeDelivery>
<ram:ShipToTradeParty>
<ram:PostalTradeAddress>
<ram:CountryID>DE</ram:CountryID>
</ram:PostalTradeAddress>
</ram:ShipToTradeParty>
</ram:ApplicableHeaderTradeDelivery>Versionen & Nachfolgeregel
BR-FX-EN-04 gilt primär für ZUGFeRD 2.4 / Factur-X 1.08. In ZUGFeRD 2.5 / Factur-X 1.09 wurde die Regel aus dem EN16931-Profil entfernt. Nachfolger ist PEPPOL-EN16931-R008 (keine leeren XML-Elemente, oft nur Warnung). Viele Unternehmen sehen den Fehler weiterhin, solange Partner oder Validatoren auf 2.4 basieren.
Verwandte Fehler & interne Guides
- BR-DE-TMP-32 — Ähnliche XRechnung-Empfehlung zu Lieferdatum
- BR-IC-11 — Lieferdatum bei innergemeinschaftlicher Lieferung (K)
- BR-57 — Lieferland BT-80 (Ländercode Lieferadresse)
- BR-29 — Rechnungszeitraum BG-14 – Datumsregeln
- BR-30 — Positionszeitraum BG-26 – Datumsregeln
- PEPPOL-EN16931-R008 — Nachfolgeregel in ZUGFeRD 2.5 (leere Elemente)
Weitere eDocuPortal-Ressourcen
Offizielle & externe Quellen
- FeRD – ZUGFeRD 2.4 Download (deutsch, Spezifikation & Schematron)
- ZUGFeRD 2.4 / Factur-X 1.08 Technischer Anhang (DE, Regeltabelle)
- Factur-X / ZUGFeRD 2.4 Technischer Anhang (EN, EXTENDED Profil)
- GitHub-Diskussion: BR-FX-EN-04 erklärt (Mustangproject, auf Englisch)
- Mustangproject – Open-Source ZUGFeRD/Factur-X-Validator
- EN 16931 – Europäischer Basisstandard für E-Rechnungen
Häufige Fragen
Ist BR-FX-EN-04 dasselbe wie BR-FX-DE-04?
Ja. BR-FX-EN-04 ist die englische Regelbezeichnung, BR-FX-DE-04 die deutsche – inhaltlich identisch in ZUGFeRD 2.4 / Factur-X 1.08.
Gilt die Regel auch für reine XRechnung-XML?
Nein. BR-FX-EN-04 stammt aus Factur-X/ZUGFeRD-Schematron. Reine XRechnung-Validierung über KoSIT kennt diese Regel-ID nicht; dort gibt es die ähnliche Information BR-DE-TMP-32.
Warum verlangt die Regel BT-80, wenn kein Lieferdatum da ist?
Aus technischen Gründen: Die Liefergruppe (ApplicableHeaderTradeDelivery) darf in der CII-XML nicht leer sein. Das Lieferland ist oft bekannt und reicht als Mindestangabe, auch wenn kein exaktes Lieferdatum vorliegt.
Sind Anzahlungsrechnungen (386) betroffen?
Nein. Rechnungen mit Typcode 386 (Vorauszahlungsrechnung / Anzahlung) sind explizit ausgenommen.
Ist BR-FX-EN-04 in ZUGFeRD 2.5 noch aktiv?
Für das EN16931-Profil in ZUGFeRD 2.5 / Factur-X 1.09 wurde BR-FX-EN-04 entfernt. Stattdessen prüft PEPPOL-EN16931-R008 auf leere Elemente (häufig nur Warnung).
Welcher Validator meldet diesen Fehler?
Typisch: Mustang (mustang-cli), Valitool, oder andere Factur-X/ZUGFeRD-Validatoren mit Schematron 1.08. Nicht der reine KoSIT-XRechnung-Validator.