BR-DE-TMP-32
Delivery or Service Date Missing (BT-72, BG-14 or BG-26)
What This Error Means
BR-DE-TMP-32 is a temporary KoSIT rule, added with the XRechnung 3.0.2 bugfix release of 10 July 2025 (XRechnung Schematron 2.4.0). An invoice should state when the goods were delivered or the service was performed, using one of three options: the actual delivery date BT-72, the invoicing period BG-14, or an invoice line period BG-26 in every line. KoSIT flags it as 'information', the lowest level, so the validator still recommends accepting the invoice. In this reference it is filed under Warning. KoSIT has announced that a future normative XRechnung release will make the delivery or service date a mandatory business rule.
Why this happens
The German VAT Act requires the time of the supply or service on every invoice (§ 14 (4) sentence 1 no. 6 UStG). EN 16931 treats all date fields for it as optional, so many XRechnungen carried only the issue date. The rule's test is simple: cac:Delivery/cbc:ActualDeliveryDate exists, or cac:InvoicePeriod exists at document level, or every invoice line has its own cac:InvoicePeriod. It reports a finding when none of these is true. Typical causes: the software only exports the invoice date; the service month appears only in a note (BT-22) or in the item name ('Wartung Juni 2026'); only some lines carry a period, which does not satisfy the 'every line' condition; or the delivery date is known in the ERP but not mapped. Validator configurations released before July 2025 do not contain this rule, so the same file can show the finding in one tool and not in another.
How to Fix It
Add one of: cac:Delivery/cbc:ActualDeliveryDate (BT-72) for a delivery on a single day; cac:InvoicePeriod with cbc:StartDate and cbc:EndDate (BG-14) for a service period; or cac:InvoicePeriod inside every cac:InvoiceLine (BG-26). In CII the fields are ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime, ram:BillingSpecifiedPeriod in the header settlement, or ram:BillingSpecifiedPeriod in each line.
Step-by-step
1) Decide which date describes the supply. Goods delivered on one day: BT-72. A service over a period, such as monthly maintenance: BG-14. Lines with different periods: BG-26 in every line, or one BG-14 that covers all of them. 2) In UBL, place cac:InvoicePeriod after cbc:BuyerReference and before cac:OrderReference; place cac:Delivery after the parties and before cac:PaymentMeans. 3) A period needs at least a start or an end date (BR-CO-19 for BG-14, BR-CO-20 for BG-26); give both if you can. 4) Use the format YYYY-MM-DD (CII: format="102" with YYYYMMDD). 5) If the date of supply equals the invoice date, still write it into BT-72; a note such as 'Leistungsdatum entspricht Rechnungsdatum' in BT-22 is not recognised by the rule. 6) For intra-community supplies (category K), BT-72 or BG-14 is already mandatory under BR-IC-11. 7) Validate with a current validator configuration.
<!-- Option 1: service period for the whole invoice (BG-14),
placed after cbc:BuyerReference -->
<cac:InvoicePeriod>
<cbc:StartDate>2026-06-01</cbc:StartDate>
<cbc:EndDate>2026-06-30</cbc:EndDate>
</cac:InvoicePeriod>
<!-- Option 2: actual delivery date (BT-72),
placed after the parties, before cac:PaymentMeans -->
<cac:Delivery>
<cbc:ActualDeliveryDate>2026-06-18</cbc:ActualDeliveryDate>
</cac:Delivery>Fix Automatically
Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-DE-TMP-32, and corrects supported fields with a GoBD audit trail.
Open Smart RepairFrequently asked questions
Will my invoice be rejected because of BR-DE-TMP-32?
Not by the KoSIT validator: the rule has the level 'information' and does not change the recommendation to accept. It is still worth fixing, because the date is required by § 14 UStG and KoSIT plans to make it mandatory.
Which field do I use for a monthly service?
The invoicing period BG-14 (cac:InvoicePeriod) with the first and last day of the month, for example 2026-06-01 to 2026-06-30.
Some lines have a period, others don't. Is that enough?
No. Without BT-72 or BG-14 at document level, every line must have its own period. Either complete the missing lines or add a document-level period that covers all of them.
Related Errors
Other commonly encountered validation errors