Clarification on Parameters and Data for ZATCA e-Invoicing SDK

I’m seeking clarification regarding the correct usage of certain parameters and data files in the ZATCA e-Invoicing SDK (zatca-einvoicing-sdk-DotNet-238-R3.3.9). Specifically, I need help with the following methods:

  1. ValidateEInvoice(XmlDocument eInvoice, string certificateFileContent, string pihFileContent)
  2. SignDocument(XmlDocument document, string certificateThumbprint, string privateKeyContent)

My Questions:

  1. What exactly do the following parameters represent, and how should they be used?
  • certificateFileContent
  • certificateThumbprint
  • pihFileContent
  • privateKeyContent
  1. In my current implementation, I’ve used the following files from the SDK:
  • certificateFileContent and certificateThumbprint: Data/Certificates/cert.pem
  • privateKeyContent: Data/Certificates/ec-secp256k1-priv-key.pem
  • pihFileContent: Data/PIH/pih.txtUsing these files, I was able to successfully sign and validate invoices.
  1. Can these files from the SDK (located under Data/Certificates and Data/PIH) be used in a production environment, or are they just for testing purposes? If they are for testing, what steps are needed to replace them with valid production data?

I’d greatly appreciate any clarification or guidance on whether this approach is correct for production use and how to ensure compliance with ZATCA requirements.

Dear @ahmedshams

Thanks for reaching out, Welcome to our community.

To provide comprehensive support as usual, can I kindly ask you to elaborate with the below:
Based on what you mentioned in your current implementation it seems that you are not facing any blocker, However, Did you successfully integrate in simulation environment and tried sending actual invoices through simulation clearance & reporting APIs? and what was the response?

Thanks,
Ibrahem Daoud.