Message

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).

Context
/ubl:Invoice | /cn:CreditNote
Test
(exists(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID)) and (exists(//cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'K'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])
Usage
/ ubl:Invoice / cac:AccountingSupplierParty / cac:Party / cac:PartyTaxScheme / cbc:CompanyID
/ ubl:Invoice / cac:AccountingCustomerParty / cac:Party / cac:PartyTaxScheme / cbc:CompanyID
/ ubl:Invoice / cac:TaxRepresentativeParty / cac:PartyTaxScheme / cbc:CompanyID
/ ubl:CreditNote / cac:AccountingSupplierParty / cac:Party / cac:PartyTaxScheme / cbc:CompanyID
/ ubl:CreditNote / cac:AccountingCustomerParty / cac:Party / cac:PartyTaxScheme / cbc:CompanyID
/ ubl:CreditNote / cac:TaxRepresentativeParty / cac:PartyTaxScheme / cbc:CompanyID