Inquiry Regarding ICV & UUID Discrepancy in Re-Signed (Corrected) XML

Hello,

We are using a POS system that generates a QR code locally using the ZATCA SDK by signing the XML file and returning the QR code to be printed with the invoice details.

However, after sending this signed invoice to ZATCA, it is sometimes rejected on the ZATCA portal and marked as “not reported.”
In such cases, we need to correct the XML file and generate a new incremental ICV along with a new UUID, which differs from the one used to generate the original QR code.

According to the ZATCA documentation:
“No action is needed to go back and change ICV PIH values retrospectively. Every new CSID should have an Invoice Counter Value (ICV) starting with 1 and incremented by 1 for every new document (irrespective of the type of document—Standard Invoice, Simplified Invoice, Credit Note, Debit Note—and irrespective of the status of the invoice, whether accepted, rejected, or accepted with a warning).”

Could you please confirm if the ICV and UUID in the newly signed XML being different from those in the originally generated QR code would cause any compliance issues?

Best regards,

Good question waiting for respond from moderators

@ehabshqair @mohammedawni If Simplified invoices are rejected (which is very rare), after fixing the issue, you should submit the Simplified Invoice with a new ICV, new UUID, new PIH value and new hash while keeping all business fields strictly as per original transaction including IRN, issue date, line level, sub-total level and document level details.

For the question regarding “if the ICV and UUID in the newly signed XML being different from those in the originally generated QR code would cause any compliance issues?” please note that QR Code specifications for Simplified Invoices do not require ICV or UUID in any of 9 tags.

You have mentioned sometimes ZATCA rejects simplified invoice, could you please share error code due to which Simplified Invoices are rejected. It is very rare for Simplified Invoices to be rejected after reasonable level of testing.

Note: Paragraph you have quoted from ZATCA’s documentation appears to be related to a different question (regarding onboarding new CSIDs).

1 Like