# The compliance certificate is not done with the following compliance steps yet

**URL:** <https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272>\
**Category:** Clearance and Reporting\
**Created:** [August 5, 2024, 8:55pm UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272 "2024-08-05T20:55:15Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mohmed58264](https://avatars.discourse-cdn.com/v4/letter/m/b3f665/32.png) [@mohmed58264](https://zatca1.discourse.group/u/mohmed58264)\
**Post date:** [August 5, 2024, 8:55pm UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/1 "2024-08-05T20:55:15Z")

</div>

{  
“code”: “Missing-ComplianceSteps”,  
“message”: “The compliance certificate is not done with the following compliance steps yet [standard-compliant,standard-credit-note-compliant,standard-debit-note-compliant]”  
}

i used 1000 invoice type and i send all Standard type invoice (Credit,Debit,Invoice) successfully\>\> but when i send to get CSID return above error

env = simulation  
like i used to compliance:  
[https://gw-fatoora.zatca.gov.sa/e-invoicing/simulation/precompliance/invoices](https://gw-fatoora.zatca.gov.sa/e-invoicing/simulation/precompliance/invoices)  
and  
[precompliance](https://gw-fatoora.zatca.gov.sa/e-invoicing/simulation/compliance/invoices)

link i used to get csid is :[https://gw-fatoora.zatca.gov.sa/e-invoicing/simulation/core/csids](https://gw-fatoora.zatca.gov.sa/e-invoicing/simulation/core/csids)

---

<div class="post-metadata">

**Author:** ![eCloud](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/ecloud/32/629_2.png) [@eCloud](https://zatca1.discourse.group/u/eCloud)\
**Post date:** [August 6, 2024, 7:47am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/3 "2024-08-06T07:47:00Z")

</div>

**Dear Zatca Team,**

@Malik, thank you for the video link you provided.

I noticed that we need to submit 3 B2B invoices or 3 B2C invoices or 6 invoices for both B2C and B2B before proceeding with onboarding or obtaining a PCSID.` Is this mandatory`?

On the sandbox portal, it seems I do not need to do this to get a PCSID.

Can I use Compliance Checks to test my invoices before I proceed with Reporting or Clearance to ensure that my invoices are problem-free before I report them to the tax authorities?

Sorry if this is off-topic.

Thank you for your clarification.

---

<div class="post-metadata">

**Author:** ![YaSsOo85](https://avatars.discourse-cdn.com/v4/letter/y/5f9b8f/32.png) [@YaSsOo85](https://zatca1.discourse.group/u/YaSsOo85)\
**Post date:** [August 6, 2024, 8:10am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/4 "2024-08-06T08:10:55Z")

</div>

Al Salamo Alikom  
when you choose 1100 for the invoice type when generating csr it means your EGS can issue simplified and stander invoices, so you have to send all types to the compliance api before zatca approve to send you the csid key, you have to send simplified ( invoice,debit and credit note ) and stander ( invoice, debit and credit note )

---

<div class="post-metadata">

**Author:** ![eCloud](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/ecloud/32/629_2.png) [@eCloud](https://zatca1.discourse.group/u/eCloud)\
**Post date:** [August 6, 2024, 8:36am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/5 "2024-08-06T08:36:00Z")

</div>

Thank you @YaSsOo85

What kind of invoices should I submit?  
Standard XML without UBL and signature?  
As we know, we need a PCSID to create a Signed Invoice.

Does this require actual invoices from my accounting system, or can they be sample invoices for testing purposes (with my business identity as per the CCSID I obtained)?

Thanks

---

<div class="post-metadata">

**Author:** ![YaSsOo85](https://avatars.discourse-cdn.com/v4/letter/y/5f9b8f/32.png) [@YaSsOo85](https://zatca1.discourse.group/u/YaSsOo85)\
**Post date:** [August 6, 2024, 9:27am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/6 "2024-08-06T09:27:32Z")

</div>

You Welcome @eCloud  
if your system will generate simplified and stander invoices so you should submit simplified invoice, simplified debit note, simplified credit note, stander invoice, stander debit note and stander credit note to pass the compliance  
you must use the generated PCSID which your system has generate it as Authorization so the Api will know your request id and will submit that your system passed the compliance steps  
wish that helps

---

<div class="post-metadata">

**Author:** ![Malik](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/malik/32/708_2.png) [@Malik](https://zatca1.discourse.group/u/Malik)\
**Post date:** [August 6, 2024, 9:39am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/7 "2024-08-06T09:39:46Z")

</div>

Salam,  
Please share this line value “csr.invoice.type=1100” from your CSR which which you generated certificates from ZATCA. Please do not compare with Sandbox and it is not following all steps and you can skip. Simulation and Production having same process.

Thanks  
csr.common.name=TST-886431145-399999999900003  
csr.serial.number=1-TST|2-TST|3-ed22f1d8-e6a2-1118-9b58-d9a8f11e445f  
csr.organization.identifier=399999999900003  
csr.organization.unit.name=Riyadh Branch  
csr.organization.name=Maximum Speed Tech Supply LTD  
csr.country.name=SA  
csr.invoice.type=1100  
csr.location.address=RRRD2929  
csr.industry.business.category=Supply activities

---

<div class="post-metadata">

**Author:** ![mohmed58264](https://avatars.discourse-cdn.com/v4/letter/m/b3f665/32.png) [@mohmed58264](https://zatca1.discourse.group/u/mohmed58264)\
**Post date:** [August 6, 2024, 9:45am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/8 "2024-08-06T09:45:55Z")

</div>

The problem has been solved. I sent 1100 and sent all types of signed invoices (simplified and standard) and now it is working fine. Thank you very much.

---

<div class="post-metadata">

**Author:** ![eCloud](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/ecloud/32/629_2.png) [@eCloud](https://zatca1.discourse.group/u/eCloud)\
**Post date:** [August 6, 2024, 9:47am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/9 "2024-08-06T09:47:50Z")

</div>

Thank you @YaSsOo85

PCSID is generated after we complete onboarding. SignedInvoice is generated from PCSID and Private Key, not CCSID from Compliance CSID and Private Key that we got from generating CSR and Private Key.

If we have to send SignedInvoice for Compliance Checks to get PCSID, then how can we generate SignedInvoice as we don’t have PCSID yet?

Here are the steps as I understand them:

1. Generate CSR Properties. @Malik#7
2. Generate CSR and Private Key from CSR Properties.
3. Get CCSID from Compliance CSID with the generated CSR in step 2.
4. Send Sample Invoices (3 or 6 invoices depending on the type EGS 10 / 01 / 11) to Compliance Checks.
5. Get PCSID, use CCSID BinaryToken and Secret for authorization, and RequestID as payload and Token.

My question is regarding step 4: Is this mandatory? If yes, should we send SignedInvoices or send CleanInvoice XML without UBL Extension and Signature?

@mohmed58264  
Let me know how you generated SignedInvoice?

Please provide clarification.

---

<div class="post-metadata">

**Author:** ![Malik](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/malik/32/708_2.png) [@Malik](https://zatca1.discourse.group/u/Malik)\
**Post date:** [August 6, 2024, 9:57am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/10 "2024-08-06T09:57:07Z")

</div>

Hi,  
Leave Sandbox now and we will only discuss Simulation and Production. So in Simulation if you need B2B and B2C then you will have to make compliance without any error in simulation even with sample but correct data and once 3 or 6 compliance done then you can proceed to get PCSID so now you will have to change your username and password as received with this PCSID generation for sending docs to ZATCA.  
Note Simulation is just a TEST/Pre-Production instance and once you are fine in Simulation then repeat same steps for PROD. Hope it answers your questions/concerns. thanks

> [@eCloud](#):
>
> Send Sample Invoices (3 or 6 invoices depending on the type EGS 10 / 01 / 11) to Compliance Checks.

---

<div class="post-metadata">

**Author:** ![eCloud](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/ecloud/32/629_2.png) [@eCloud](https://zatca1.discourse.group/u/eCloud)\
**Post date:** [August 6, 2024, 10:05am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/11 "2024-08-06T10:05:21Z")

</div>

Thank you @Malik

> [@Malik](#):
>
> Leave Sandbox now and we will only discuss Simulation and Production.

Yes, my question is regarding both Simulation and Production, as I have completed the Sandbox phase. My question is: should I send SignedInvoice XML or CleanInvoice XML for Compliance Checks?

If the answer is SignedInvoice XML, how can I create SignedInvoice XML when we don’t have PCSID yet?

---

<div class="post-metadata">

**Author:** ![YaSsOo85](https://avatars.discourse-cdn.com/v4/letter/y/5f9b8f/32.png) [@YaSsOo85](https://zatca1.discourse.group/u/YaSsOo85)\
**Post date:** [August 6, 2024, 10:34am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/12 "2024-08-06T10:34:09Z")

</div>

@eCloud  
depending on the steps which you provided :  
you have to use the key from step 3 as authentication when you send test invoices to the compliance Api ( use CCSID Binary Token and Secret for authorization ) and after pass you will be able to do step 5  
you Can use the key from step 3 to sign the invoices

---

<div class="post-metadata">

**Author:** ![Malik](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/malik/32/708_2.png) [@Malik](https://zatca1.discourse.group/u/Malik)\
**Post date:** [August 6, 2024, 11:20am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/13 "2024-08-06T11:20:54Z")

</div>

This means you had not watched my video I shared above in this topic. Please watch it again.

B2B is signed by ZATCA and will send back signed XML.  
B2C you will local signe and will report to ZATCA.

First get compliance of 3 or 6 documents as per you setup then you can generate PCSID. As you must have done compliance in SANDBOX so do same way in simulation no idea where is confusion. thanks

thanks

> [@YaSsOo85](#):
>
> rom step 3 to sign the invoices

---

<div class="post-metadata">

**Author:** ![eCloud](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/ecloud/32/629_2.png) [@eCloud](https://zatca1.discourse.group/u/eCloud)\
**Post date:** [August 6, 2024, 11:41am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/14 "2024-08-06T11:41:16Z")

</div>

**Thank you to everyone involved in this discussion, your answers have been very helpful.**

However, I still have not gained clarity about whether to send SignedInvoice or CleanInvoice to Compliance Check as a requirement to obtain PCSID.

From the responses above, it seems we need to send SignedInvoice.  
However, my understanding is that we need a PCSID binaryToken to create a SignedInvoice.

I might be misunderstanding the process of creating a SignedInvoice.

What I understand about creating a SignedInvoice is: The element `ds:X509Certificate` must come from the Decoded Base64 PCSID BinaryToken obtained after Device Onboarding, not from the CCSID BinaryToken.  
.

> [@Malik](#):
>
> As you must have done compliance in SANDBOX so do same way in simulation no idea where is confusion

I have noticed some differences between how the Sandbox works and how Simulation and Production work. In the Sandbox, I do not need to perform Compliance Check first to proceed to Device Onboarding.

Honestly, I have not been able to try the Simulation yet, as I want to ensure my system is completely ready for testing in the simulation phase. I hope to learn a lot from this forum.

Thank you.

---

<div class="post-metadata">

**Author:** ![YaSsOo85](https://avatars.discourse-cdn.com/v4/letter/y/5f9b8f/32.png) [@YaSsOo85](https://zatca1.discourse.group/u/YaSsOo85)\
**Post date:** [August 6, 2024, 12:14pm UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/15 "2024-08-06T12:14:55Z")

</div>

> [@eCloud](#):
>
> What I understand about creating a SignedInvoice is: The element `ds:X509Certificate` must come from the Decoded Base64 PCSID BinaryToken obtained after Device Onboarding, not from the CCSID BinaryToken.

@eCloud  
for the compliance you can use ccsid as a certificate just decode it and use it to pass the compliance steps and get the final certificate

---

<div class="post-metadata">

**Author:** ![mohmed58264](https://avatars.discourse-cdn.com/v4/letter/m/b3f665/32.png) [@mohmed58264](https://zatca1.discourse.group/u/mohmed58264)\
**Post date:** [August 6, 2024, 12:27pm UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/16 "2024-08-06T12:27:20Z")

</div>

yes i generated SignedInvoice by using command :fatoora -sign -qr -invoice Standard\_Invoice.xml -signedinvoice signed.xml

---

<div class="post-metadata">

**Author:** ![eCloud](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/ecloud/32/629_2.png) [@eCloud](https://zatca1.discourse.group/u/eCloud)\
**Post date:** [August 6, 2024, 12:47pm UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/17 "2024-08-06T12:47:38Z")

</div>

**Once again, thank you for your assistance, everyone.**

> [@YaSsOo85](#):
>
> or the compliance you can use ccsid as a certificate

I have tried creating a SignedInvoice using the certificate from CCSID, and it was accepted by Compliance Check.

**My question has been answered.**

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/zatca1/original/1X/def21708b6559844dced83d38a20ff630ef8edcb.png)

---

<div class="post-metadata">

**Author:** ![malar](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@malar](https://zatca1.discourse.group/u/malar)\
**Post date:** [November 18, 2024, 9:17am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/18 "2024-11-18T09:17:16Z")

</div>

Salam @Malik  
Can you please provide your video link. It will be a great help. I am new to this developer community and it has been quite useful.

How are these fields filled? Who provides this information?  
csr.common.name=TST-886431145-399999999900003  
csr.serial.number=1-TST|2-TST|3-ed22f1d8-e6a2-1118-9b58-d9a8f11e445f  
csr.organization.identifier=399999999900003

Is it mandatory that Invoice, credit and debit notes must pass the compliance checks to get a production CSID? Because our software only has invoice and credit notes. We do not have debit notes. If anything is underpaid, we issue a new invoice with the balance amount.

---

<div class="post-metadata">

**Author:** ![Malik](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/malik/32/708_2.png) [@Malik](https://zatca1.discourse.group/u/Malik)\
**Post date:** [November 18, 2024, 9:32am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/19 "2024-11-18T09:32:45Z")

</div>

Hi,  
Here is the video link,

[![](https://europe1.discourse-cdn.com/flex013/uploads/zatca1/original/1X/7a14b2813e4c958c0123f717f4295cb74fc4334f.jpeg "FATOORA e-Invoicing ZATCA - KSA Phase 2 Techno-Functional Discussion on API's for IT and Finance") ](https://www.youtube.com/watch?v=db1ivDQPjks)

---

<div class="post-metadata">

**Author:** ![malar](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@malar](https://zatca1.discourse.group/u/malar)\
**Post date:** [November 19, 2024, 6:34am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/20 "2024-11-19T06:34:53Z")

</div>

Thank you @Malik for your video  
I had a question about the csr.config file  
csr.invoice.type=1100.  
I understand that this means Simplified and standard tax invoice. But i need further details. What is the meaning of each digit? Where do I find it?  
What does the 00 signify?

How do we get the data in these 3 fields?  
csr.common.name=TST-886431145-399999999900003  
csr.serial.number=1-TST|2-TST|3-ed22f1d8-e6a2-1118-9b58-d9a8f11e445f  
csr.organization.identifier=399999999900003

---

<div class="post-metadata">

**Author:** ![Malik](https://dub1.discourse-cdn.com/flex013/user_avatar/zatca1.discourse.group/malik/32/708_2.png) [@Malik](https://zatca1.discourse.group/u/Malik)\
**Post date:** [November 26, 2024, 5:20am UTC](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272/21 "2024-11-26T05:20:27Z")

</div>

The document type that the Taxpayer’s solution unit will be issuing/generating. It can be one or a combination of Standard Tax Invoice (T), Simplified Tax Invoice (S), (X), (Y). The input should be using the digits 0 & 1 and mapping those to “TSXY” where: 0 = False/Not supported 1= True/Supported (X) and (Y) are for future use and should be set to 0 by default for the time being. For example: 1000 would mean Solution will be generating Standard Invoices only. 0100 would mean Solution will be generating Simplified invoices (B2C) only and 1100 means Solution will be generating both Standard (B2B) and Simplified invoices (B2C).

B2B = 1000  
B2C = 0100  
BOTH = 1100

[Next page](https://zatca1.discourse.group/t/the-compliance-certificate-is-not-done-with-the-following-compliance-steps-yet/2272.md?page=2)
