{
  "id": "BR-AE-10",
  "country": "EU",
  "syntax": "ubl",
  "group": "reverse-charge",
  "severity": "fatal",
  "severity_note": "fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-17.",
  "spec": "Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL",
  "statement": "A VAT breakdown (BG-23) with VAT Category code (BT-118) \"Reverse charge\" shall have a VAT exemption reason code (BT-121), meaning \"Reverse charge\" or the VAT exemption reason text (BT-120) \"Reverse charge\" (or the equivalent standard text in another language).",
  "statement_lang": "en",
  "context": "/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']",
  "test": "exists(cbc:TaxExemptionReason) or (exists(cbc:TaxExemptionReasonCode) )",
  "meaning": "A VAT breakdown whose category is \"Reverse charge\" must include a VAT exemption reason code (BT-121) that means reverse charge, or the exemption reason text (BT-120) \"Reverse charge\" (or the equivalent standard text in another language). The published UBL test only checks that one of those two elements exists. It does not compare the text.",
  "fix": "On the AE VAT breakdown, provide an exemption reason code that means reverse charge, or set the exemption reason text to \"Reverse charge\" or the equivalent standard text in another language.",
  "example_fail": "A VAT breakdown category code is AE and both the exemption reason text and the exemption reason code are absent.",
  "example_pass": "That breakdown includes the exemption reason text \"Reverse charge\" (or the equivalent standard text in another language), or a reason code that means reverse charge.",
  "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-AE-10/",
  "source_retrieved": "2026-10-17",
  "last_verified": "2026-10-17"
}
