Message

If both supplier and customer are located in Germany, and if "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), BG-18 and BG-19 shall not be provided.

Context
(/ubl-invoice:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')] | /ubl-creditnote:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = ('30','58')])[$supplierCountryIsDE and $customerCountryIsDE]
Test
not(cac:CardAccount) and not(cac:PaymentMandate)
Usage
/ ubl:Invoice / cac:PaymentMeans / cac:CardAccount
/ ubl:Invoice / cac:PaymentMeans / cac:PaymentMandate
/ ubl:CreditNote / cac:PaymentMeans / cac:CardAccount
/ ubl:CreditNote / cac:PaymentMeans / cac:PaymentMandate