BR-KSA-34: Invoice counter value (ICV, KSA-16) must contain only digits
The cbc:UUID inside cac:AdditionalDocumentReference (the ICV counter, KSA-16) must match ^[0-9]*$: digits only, with no letters, spaces, signs or separators.
How to fix it
Write the counter as plain digits, e.g. <cbc:UUID>10</cbc:UUID> in the ICV reference.
ZATCA's official text
[BR-KSA-34]-The invoice counter value (KSA-16) contains only digits.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(matches(cac:AdditionalDocumentReference/cbc:UUID, '^[0-9]*$'))
Related rules
- BR-KSA-33 · Every invoice needs an invoice counter value (ICV, KSA-16)
- BR-KSA-30 · Signature method must be the enveloped XAdES URN
- BR-KSA-31 · Simplified invoices cannot be self-billed (KSA-2 position 7 = 0)
- BR-KSA-35 · A supply end date (KSA-24) requires a supply date (KSA-5)
- BR-KSA-36 · Supply end date (KSA-24) must not be before supply date (KSA-5)
- BR-KSA-37 · Seller building number must be exactly 4 digits
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