BR-KSA-F-10: Buyer national ID (NAT) must be 10 digits starting with 1
When the buyer's cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification has cbc:ID with schemeID='NAT', the value must be exactly 10 digits starting with 1; otherwise a warning is raised. In the validator this test is the failure condition: the expression shown is TRUE when the value is wrong. The published test uses cac:Party/cac:PartyIdentification paths although its context is the cbc:ID itself; the executed check tests the cbc:ID value directly.
How to fix it
Put the correct national ID number as exactly 10 digits starting with 1, e.g. <cbc:ID schemeID="NAT">1105293847</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-10] - The value provided in Other Buyer ID (BT-46) for the scheme ID 'NAT' 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(.) and normalize-space(@schemeID) = 'NAT') and not( starts-with(normalize-space(.), '1') and string-length(normalize-space(.)) = 10 and not(translate((.), '0123456789', '')))
Related rules
- BR-KSA-14 · Buyer ID must use an allowed scheme ID
- BR-KSA-49 · EDU/HEA exemption requires buyer national ID (BT-46, scheme NAT)
- BR-KSA-81 · Standard invoice without buyer VAT number needs another buyer ID
- BR-KSA-F-07 · Buyer TIN must be 10 digits starting with 3
- BR-KSA-F-08 · Seller/buyer CRN must be exactly 10 digits
- BR-KSA-F-09 · Seller/buyer '700' number must be 10 digits starting with 7
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