BR-KSA-F-09: Seller/buyer '700' number must be 10 digits starting with 7

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

Warning: accepted with a warningConditional, see belowFields: BT-29, BT-46

When the seller's or buyer's cac:Party/cac:PartyIdentification (cac:AccountingSupplierParty or cac:AccountingCustomerParty) has cbc:ID with schemeID='700', the value must be exactly 10 digits starting with 7; otherwise a warning is raised. In the validator this test is the failure condition: the expression shown is TRUE when the value is wrong.

How to fix it

Put the correct 700 number as exactly 10 digits starting with 7, e.g. <cbc:ID schemeID="700">7105293847</cbc:ID> with no letters, dashes or spaces. If the number you have does not fit this shape, check that the schemeID is the right one.

ZATCA's official text

[BR-KSA-F-09] - The value provided in Other Seller ID (BT-29) or Other Buyer ID (BT-46) for the scheme ID '700' appears to be incorrect. Please recheck the value to avoid non-compliance.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

(exists(cac:Party/cac:PartyIdentification/cbc:ID) and normalize-space(cac:Party/cac:PartyIdentification/cbc:ID/@schemeID) = '700') and not( starts-with(normalize-space(cac:Party/cac:PartyIdentification/cbc:ID), '7') and string-length(normalize-space(cac:Party/cac:PartyIdentification/cbc:ID)) = 10 and not(translate((cac:Party/cac:PartyIdentification/cbc:ID), '0123456789', '')))

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