Invoice hash doesn't match calculated hash in compliance checker

Hello, i am integrate with zatca ( b2b) proccess.
I have successfully generate csr from my system, but i have faced a problems in signing xml, i am using node js to generate an xml file and signing it, but when i hit ( compliance checker) got a 400 error with message that tell me invoice hash doesn’t match calculated hash, i believe that because of canocalize the xml file, so i have 2 questions : 1. I have a standard invoice xml from sdk, what is the Steps should i do to do the signing proccess?
2. Can i use openssl to perform all Steps for signing?
Thank you.

for standard invoices you don’t need to sign them, only generate hash for them.
for simplified invoices you need to sign them before being submitted to ZATCA,

  1. this error means that the hash in the invoice (first digest value tag) is not the same that you send in the request (the one that you send with UUID, and the encoded invoice).

  2. no unfortunately you can’t use OpenSSL to do the steps.

Regards,