BR-DE-TMP-32

Eine Rechnung sollte zur Angabe des Liefer-/Leistungsdatums entweder BT-72 "Actual delivery date", BG-14 "Invoicing period" oder in jeder Rechnungsposition BG-26 "Invoice line period" enthalten.

warning: reported, still valid

Why it fails

  • The invoice says nothing about when the goods were delivered or the service was performed: there is no actual delivery date (BT-72), no invoicing period (BG-14) and not every line has a line period (BG-26).
  • A period is given on some lines but not all of them; the rule wants either one at document level or one on every line.

How to fix it

Give the delivery date in cac:Delivery/cbc:ActualDeliveryDate (ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime in CII), or the period the invoice covers in cac:InvoicePeriod (ram:BillingSpecifiedPeriod). German VAT law asks for the date of supply on an invoice, which is why KoSIT checks it.

What the rule checks

As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.

Context
/ubl:Invoice | /cn:CreditNote
Test
cac:Delivery/cbc:ActualDeliveryDate or cac:InvoicePeriod or (every $line in (cac:InvoiceLine | cac:CreditNoteLine) satisfies $line/cac:InvoicePeriod)

Checked with XRechnung 3.0 Invoice (UBL), XRechnung 3.0 Credit Note (UBL)

Context
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction
Test
ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime or ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod or (every $line in ram:IncludedSupplyChainTradeLineItem satisfies $line/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod)

Checked with XRechnung 3.0 Invoice (CII)