Automation MCP Server Features Blog Pricing Contact
Validation rule EN 16931 core

BR-IC-11

A zero-rated intra-community supply must say when the supply took place: it determines the reporting period for the EC sales list on both sides of the border. BR-IC-11 fails when a VAT breakdown with category code K is present but the invoice carries neither an actual delivery date nor an invoicing period.

What BR-IC-11 checks

BR-IC-11 requires that an invoice containing a VAT breakdown (BG-23) with category code K, Intra-community supply, also state when the supply happened: the actual delivery date (BT-72) or the invoicing period (BG-14) must be present. In UBL the date lives at cac:Delivery/cbc:ActualDeliveryDate and the period at cac:InvoicePeriod; in CII they are ram:ActualDeliverySupplyChainEvent and ram:BillingSpecifiedPeriod inside the header trade delivery and settlement.

Layer and formats

The rule fires in the en16931 core layer for every syntax and profile. It is one of two document-level conditions that category K adds on top of the usual VAT package: BR-IC-11 demands the timing, BR-IC-12 demands the destination country. Both trigger on the mere presence of a K breakdown group, so an invoice can fail them even though every amount is arithmetically perfect.

Why it fails in practice

  • The ERP maps the category but not the delivery data. The export knows the transaction is intra-community and emits category K with 0%, but the delivery date field of the source order never makes it into the XML.
  • Service invoices without a period. A consulting or license invoice has no physical delivery, and nobody thought to emit the billing period instead.
  • The date is printed, not encoded. The visible PDF says "Lieferdatum 15.07.2026" while the embedded XML carries no cbc:ActualDeliveryDate.

How to fix it

Emit the actual delivery date, or an invoicing period for services:

<cac:Delivery>
  <cbc:ActualDeliveryDate>2026-07-15</cbc:ActualDeliveryDate>
</cac:Delivery>

<!-- or, for period-based supplies -->
<cac:InvoicePeriod>
  <cbc:StartDate>2026-07-01</cbc:StartDate>
  <cbc:EndDate>2026-07-31</cbc:EndDate>
</cac:InvoicePeriod>

In an InvoiceXML create request the fields are invoice.delivery.actualDeliveryDate and invoice.invoicingPeriod (with startDate and endDate). Set one of them whenever a line or breakdown uses VAT category K.

The raw rejection vs the InvoiceXML finding

The Schematron report quotes the rule prose:

<svrl:failed-assert id="BR-IC-11" flag="fatal"
    location="/*:Invoice[namespace-uri()='...']/cac:TaxTotal[1]/cac:TaxSubtotal[1]">
  <svrl:text>[BR-IC-11]-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.</svrl:text>
</svrl:failed-assert>

The InvoiceXML finding for the same failure:

{
  "rule": "BR-IC-11",
  "layer": "en16931",
  "line": null,
  "message": "An invoice with an Intra-community supply VAT breakdown must state when the supply took place. Add the actual delivery date or an invoicing period.",
  "btCodes": ["BT-72", "BG-14"],
  "fields": ["delivery.actualDeliveryDate", "invoicingPeriod"],
  "raw": "[BR-IC-11] EN16931: 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."
}

The message states the either-or fix directly, and fields maps both options to their request paths so a form can highlight the two places one of which needs a value.

Check or generate intra-community invoices

Validate a document in the UBL validator or the XRechnung validator to see the whole category K package at once. Generating via POST /v1/create/ubl or POST /v1/create/facturx validates every document against the full rule set before delivery. The VAT category model is part of EN 16931 explained.

  • BR-IC-12, the deliver-to country requirement of the same K package
  • BR-IC-02 and BR-IC-03, the seller and buyer VAT identifier requirements for intra-community supplies
  • BR-IC-05, BR-IC-08 and BR-IC-10, the 0% rate, zero tax amount and exemption reason constraints
  • BR-AE-10, the exemption reason requirement of the reverse charge category

Frequently asked questions

Do I need both the delivery date and the invoicing period?

No, one of the two satisfies the rule. Goods deliveries typically state the actual delivery date (BT-72); recurring services or subscriptions state the invoicing period (BG-14) with its start and end dates. Providing both is allowed.

Why does an intra-community supply need a date at all?

The supply is zero-rated in the seller's country and taxed by the buyer via acquisition VAT, and both parties report it to their tax authorities for the period in which it took place. Without a delivery date or period the invoice cannot be assigned to a reporting period, so EN 16931 makes one of them mandatory whenever category K appears.

What else does a category K invoice need?

The K package spans several rules: line items at 0% (BR-IC-05), a zero tax amount in the breakdown (BR-IC-08), an exemption reason (BR-IC-10), seller and buyer VAT identifiers (BR-IC-02/BR-IC-03), and the deliver-to country code (BR-IC-12). BR-IC-11 is the timing piece of that package.

Which layer and formats does BR-IC-11 apply to?

It is an en16931 core layer rule: every format and profile inherits it, from plain UBL and CII through XRechnung, Peppol BIS and hybrid Factur-X/ZUGFeRD PDFs.