Dears All,
I would like to confirm that there are no errors in the project related to the ZATCA (Zakat, Tax, and Customs Authority) e-Invoicing (WinForm , C#). I have used the SDK with the following commands to generate and sign the invoices:
- Private key:
Openssl ecparam -name secp256k1 -genkey -noout -out ec-secp256k1-priv-key.pem
- Public key:
Openssl ec -in ec-secp256k1-priv-key.pem -pubout -out publickey.pem
- CSR:
Openssl req -new -sha256 -key ec-secp256k1-priv-key.pem -extensions v3_req -config csr.config -out Cert.csr
I created the Compliance CSID, then I used the binarytokensecurity
for decoding and placed the result in zatca-einvoicing-sdk/Data/Certificate/cert.pem
.
After that, I generated an XML invoice (Simplified/Standard) and used the following command to generate the invoice hash:
fatooranet generateHash -invoice invoicename.xml
Then, I signed the invoice using:
fatooranet sign -invoice invoicename.xml
I saved the signed invoice, then extracted the JSON using:
fatooranet invoiceRequest -invoice Signedinvoice.xml
I followed this process for both the Simplified and Standard invoices. I used the resulting JSON file from this step for Compliance Invoicing for six invoices, then performed Reporting for Simplified and Clearance for Standard. Finally, I extracted the Production CSID.
I have two questions:
- After extracting the Production CSID, should I perform a decode for the
binarysecuritytoken
again and place it in thecert.pem
file? - I have already tested my project on the simulation portal and found the device configured on the platform. I just want to make sure that there won’t be any issues when using the SDK and commands on client devices. Is there a better method to ensure this?
I would appreciate any advice or confirmation that this process is correct and won’t cause issues.