BR-CUSTOM-VALIDATION-01: Seller and buyer VAT numbers must not be the same

Explained by Matheel from ZATCA's rule text and the condition SDK 3.4.8 executes · Updated

Error: the invoice is rejectedConditional, see belowFields: BT-31, BT-48

Applies when both cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (BT-31) and cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID (BT-48) are non-empty: the two values must differ. (The rule's test text is written as the failure condition: it fires when both are filled and equal.)

How to fix it

Put the buyer's own VAT registration number in the buyer's cac:PartyTaxScheme/cbc:CompanyID, not the seller's.

ZATCA's official text

[BR-CUSTOM-VALIDATION-01]- The Seller VAT registration number or seller group VAT registration number (BT-31) of The invoice must not match the buyer VAT registration number (BT-48) .
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

(( (cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) != '' and (cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) != '' and (cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) = (cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) ))

Related rules

Validate your invoice against ZATCA's rules

Paste the XML and see every error and warning. It runs in your browser; the invoice goes nowhere.

Validate an invoice or try Matheel