Provide a delivery date or invoicing period for an intra-community supply

Error BR-IC-11 EN 16931

In an Invoice with a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" the Actual delivery date (BT-72) or the Invoicing period (BG-14) shall not be blank.

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

For the invoice with a category K VAT breakdown, both the actual delivery date in ActualDeliverySupplyChainEvent/OccurrenceDateTime/DateTimeString and a start or end date in BillingSpecifiedPeriod are missing. At least one of these date entries must be present.

What the rule means

For an intra-community supply, the invoice must state either the actual delivery date BT-72 or an invoicing period BG-14. This documents the timing of the delivery or billing.

Affected fields BG-23 BT-118 BT-72 BG-14
Please provide the delivery date or invoicing period for the intra-community supply

The intra-community supply has no actual delivery date or invoicing period. You can update the invoice by entering at least one of these details.

What to do
  1. Enter either the actual delivery date in ActualDeliverySupplyChainEvent/OccurrenceDateTime/DateTimeString or a start or end date in BillingSpecifiedPeriod.
  2. For the actual delivery date, check the ActualDeliveryDate property.
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<rsm:SupplyChainTradeTransaction>
  <ram:ApplicableHeaderTradeDelivery/>
  <ram:ApplicableHeaderTradeSettlement/>
</rsm:SupplyChainTradeTransaction>
✓ Correct
<rsm:SupplyChainTradeTransaction>
  <ram:ApplicableHeaderTradeDelivery>
    <ram:ActualDeliverySupplyChainEvent>
      <ram:OccurrenceDateTime>
        <udt:DateTimeString>20250115</udt:DateTimeString>
      </ram:OccurrenceDateTime>
    </ram:ActualDeliverySupplyChainEvent>
  </ram:ApplicableHeaderTradeDelivery>
</rsm:SupplyChainTradeTransaction>
Check in FactoorSharp
  • FacturXInvoice.ActualDeliveryDate (BT-72)
  • TaxCategoryCodes (BT-118)
  • FacturXInvoice.AddApplicableTradeTax(basisAmount, percent, taxAmount, typeCode, categoryCode, allowanceChargeBasisAmount, exemptionReasonCode, exemptionReason, lineTotalBasisAmount) (BG-23)
  • FacturXInvoice.AnyApplicableTradeTaxes() (BG-23)
  • FacturXInvoice.GetApplicableTradeTaxes() (BG-23)
Technical details

The test passes if DateTimeString for the actual delivery date, or StartDateTime or EndDateTime in BillingSpecifiedPeriod, is present.

Where the rule applies

The rule applies to a VAT breakdown ApplicableTradeTax with CategoryCode K and checks delivery or billing-period information at document level.

Context (rule/@context)
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ ram:CategoryCode[.= 'K']
Test expression (assert/@test)
(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString) or (../../ram:BillingSpecifiedPeriod/ram:StartDateTime) or (../../ram:BillingSpecifiedPeriod/ram:EndDateTime)