warningEN 16931syntax binding ruleUBL
A UBL invoice should not include a Price Allowance Reason Code
A price-level allowance carries a reason code, which EN 16931 is present, but EN 16931 does not map it to anything, so the receiver has no defined way to interpret it.
Remove AllowanceChargeReasonCode from Price/AllowanceCharge. The item price discount (BT-147) carries only an amount.
UBL — context /ubl:Invoice | /cn:CreditNote
not(//cac:Price/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode)