BR-KSA-60: Simplified invoices must include the cac:Signature block (KSA-15)

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

Warning: accepted with a warningSimplified invoices (B2C)Fields: KSA-15, KSA-2

For simplified invoices and their notes (InvoiceTypeCode @name starting '02'), the document must contain a cac:Signature element with non-empty content. The check looks at the UBL cac:Signature element, not at the signature inside ext:UBLExtensions.

How to fix it

Add <cac:Signature><cbc:ID>urn:oasis:names:specification:ubl:signature:Invoice</cbc:ID><cbc:SignatureMethod>urn:oasis:names:specification:ubl:dsig:enveloped:xades</cbc:SignatureMethod></cac:Signature> (the values other KSA rules require).

ZATCA's official text

[BR-KSA-60]-Cryptographic stamp (KSA-15) must exist in simplified tax invoices and associated credit notes and debit notes (KSA-2, position 1 and 2 = 02).
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

not(exists(//cac:Signature) and (//cac:Signature) != '')

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