{
  "id": "BR-IC-11",
  "country": "EU",
  "syntax": "ubl",
  "group": "intra-community",
  "severity": "fatal",
  "severity_note": "fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-18.",
  "spec": "Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL",
  "statement": "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.",
  "statement_lang": "en",
  "context": "/ubl:Invoice | /cn:CreditNote",
  "test": "(exists(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K']) and (string-length(cac:Delivery/cbc:ActualDeliveryDate) > 1 or (cac:InvoicePeriod/*))) or (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'K']))",
  "meaning": "An invoice with a VAT breakdown whose category is \"Intra-community supply\" must include an actual delivery date (BT-72) or an invoicing period (BG-14) that is not blank. The official message capitalizes \"Actual delivery date\" and \"Invoicing period\", and it has no comma before \"the Actual\". The published test passes when a VAT breakdown category code K exists and the actual delivery date has a string length greater than 1, or an invoicing-period child exists. It also passes when no VAT breakdown uses K. The negative branch is not(...) and does not call exists. Both branches require the tax scheme to be VAT. The tax-scheme comparison is written cbc:ID)='VAT' with no space before =. The category comparison is normalize-space(.) = 'K' with spaces around =. The official test has two spaces before and. The stored test keeps one. A K breakdown makes the first exists true, so the test does not also require an intra-community line.",
  "fix": "On an invoice that has a K VAT breakdown, set the actual delivery date (BT-72) longer than one character, or add an invoicing period (BG-14) that has a child element.",
  "example_fail": "A VAT breakdown uses category code K, the actual delivery date is missing or one character, and the invoicing period has no child.",
  "example_pass": "A VAT breakdown uses K, and the actual delivery date is longer than one character, or an invoicing period has a child.",
  "example_note": "Illustration of the condition in the official statement. Not an example published by the source.",
  "source_url": "https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-IC-11/",
  "source_retrieved": "2026-10-18",
  "last_verified": "2026-10-18"
}
