BR-KSA-66: Seller postal code (BT-38) must be exactly 5 digits

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

Warning: accepted with a warningAll invoicesFields: BT-38

The seller's cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone (BT-38) must exist and match ^[0-9]{5}$: exactly five digits.

How to fix it

Provide the seller postal code as five digits, e.g. <cbc:PostalZone>23333</cbc:PostalZone>.

ZATCA's official text

[BR-KSA-66]-Seller postal code (BT-38) must be 5 digits.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

not(exists(cbc:PostalZone) and matches(cbc:PostalZone, '^[0-9]{5}$'))

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