BR-KSA-30: Signature method must be the enveloped XAdES URN

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

Error: the invoice is rejectedSimplified invoices (B2C)Fields: KSA-15

For simplified invoices and their notes (@name starting '02'), on every non-PIH attachment (in practice the QR attachment): the attachment's cbc:EmbeddedDocumentBinaryObject must be non-empty and cac:Signature/cbc:SignatureMethod must equal 'urn:oasis:names:specification:ubl:dsig:enveloped:xades'. Although the official text says every document, standard invoices are not checked.

How to fix it

In cac:Signature set <cbc:SignatureMethod>urn:oasis:names:specification:ubl:dsig:enveloped:xades</cbc:SignatureMethod>, and make sure the QR attachment is not empty.

ZATCA's official text

[BR-KSA-30]-The document cryptographic stamp (KSA-15) must contain the exact "urn:oasis:names:specification:ubl:dsig:enveloped:xades" value for signature method.
Source: ZATCA SDK 3.4.8 · ZATCA KSA rules

Fails when (the condition ZATCA's SDK runs)

not(exists(cbc:EmbeddedDocumentBinaryObject) and (cbc:EmbeddedDocumentBinaryObject) != '' and (//cac:Signature/cbc:SignatureMethod) = 'urn:oasis:names:specification:ubl:dsig:enveloped:xades')

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