BR-KSA-F-05: Prepayment issue time must be a valid hh:mm:ss time
Applies to cac:InvoiceLine/cac:DocumentReference/cbc:IssueTime (KSA-29, prepayment issue time). The executed check only requires a value castable as xs:time (e.g. 19:20:30 or 19:20:30Z); the published test additionally requires exactly 8 characters, which would reject the hh:mm:ssZ form the official text allows.
How to fix it
Write the time as hh:mm:ss, e.g. <cbc:IssueTime>19:20:30</cbc:IssueTime>.
ZATCA's official text
[BR-KSA-F-05]-Prepayment Issue Time (KSA-29) must be in the format: hh:mm:ss for time expressed in local time or hh:mm:ssZ for time expressed in UTC.(eg 19:20:30)
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules
Fails when (the condition ZATCA's SDK runs)
not(((string(.) castable as xs:time)))
Related rules
- BR-KSA-73 · Prepaid amount (BT-113) requires full prepayment reference on lines
- BR-KSA-F-01 · Dates must use the YYYY-MM-DD format
- BR-KSA-F-02 · Allowance/charge indicator must be 'false' or 'true'
- BR-KSA-F-04 · Invoice amounts and quantities must not be negative
- 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
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