Regarding The Onboarding Of Another Invoice Type

Al-Salam Alikom,

I am in a situation that i have onboarded a device that can supports only standard invoices… it is currently working live on production ZATCA clearing standard invoices only - The config file has the value “1000”.

Now i am requested to use the same solution to report simplified invoices as well ,
What is the best approach in this case to handle the transition of my solution from handling only standard invoices then to handle both standard and simplified invoices.

Thanks a lot , wish you all the best.

Salam , Any update here please ?

Dear @mahmoud.gabr,

to have your solution to be able to send both standard & simplified invoices, the invoice type code in the CSR condig file should has the value “1100”.

unfortunately it’s not possible to change this on the same onboarded solution, you have to restart the onboarding process again with the value “1100” in the invoice type field in the csr config file, so you can revoke your current onboarded solution and then start again with the value “1100”.

if you require any further questions, please do not hesitate to reach out.

Dear Anas Turkistani,

Thanks a lot for your reply and in this case if i onboarded a new solution with value 1100 , i have to start the invoice counter value from the beginning or i can resume on the current invoice counter value.
Sharing the ICV with both standard and simplified invoices on the new onboarded solution ?

As an alternate solution can i register a simplified invoice only solution with the value 0100 in the CSR config ?

Please advise on these two questions and thanks again for your continuous support.

Best Regards,

Salam Mahmoud,

Q1 answer:

if you have started onboarding from the begenning after revoking a device, please note the onboarded device will be will be treated as a new device, as the ICV is linked with the CSID and not with the VAT number , you can have a unique sequence of ICV for each device, which means that if you have multiple onboarded EGS units under the same VAT, then each EGS should have it’s unique ICV sequence.

there are no limitations on the sequence of ICV in uploading or sending invoices to ZATCA as long they are being generated in a sequence, they can be uploaded in any order. The ICV sequence is linked to the CSID, that means when you onboard a new device, you will obtain a new CSID linked to it. Which means it will be trated as a new fresh device

Example: before revoking the devices let’s assume the foloowing, the ICV sequence of invoivces were (1,2,3…) , and you have sent invoices to zatca till you have reached ICV of (168).

then you have revoked this device & re-onboarded it again with a new CSID, so the CSID linked with this device will be a new one, so you may use the same values that you have used in the revoked or other devices to be started from (1,2,3…) again.

Q2 answer:

regarding sharing the ICV with both of standard & simplified, then yes (if being sent to zatca from the same solution/device).

as mentioned above, the ICV is linked to the CSID, so no matter what is the type of invoice that you will send to zatca, it should be generated by the same sequence incrementally.

Q3 answer:

yes you can send simpified invoices only with the solution that has the value 0100 in CSR config and the standard invoices with the solution that has the value of 1000 , in thes scenario that you have 2 onboarded solutions/devices, one for standard invoices and the other is for simplified, then the ICV sequence for the silmiplifed invoices & standard invoices will be independent, and each device will have it’s own sequence of ICV.

example:
1- if the device has the value of 1100 in CSR config, the ICV will be (1,2,3,…) regardless wether it’s simplified or standard invoice.

2- if you have 2 devices, one for simplified & the other is for standard (1000 & 0100), then the standard invoices will have it’s own sequence of ICV (1,2,3…) & the simplified will have it’s own sequence of ICV (1,2,3)…

I hope this answers your question, if you require any further information please do not hesitate to reach out, you are welcomed at any time :).

Dear Anas,

First of all I would like to thank you for the amazing support i am receiving from your side.

And i would like to inform you that i have one more last question :-

In case of going with one solution for simplified and standard invoices (1100)

We will start with a new invoice counter value , Then about the already integrated

Invoices with zatca , they are stored in database table say : InvoiceQueueTable

Can i just rename this table to a new name like : InvoiceQueueTable_OLD for example

I will not change the invoice data inside the table , i will only rename the table to a

New name without modifying the invoice counter value or any data inside it.

I want this action because i want my solution to start on a fresh database table with the same name : InvoiceQueueTable after onboarding my new solution.

Is this action legal from ZATCA perspective , Are we allowed to do this ?

Thanks again , wish you all the best.

Dear Anas,

Kindly, would you please answer my latest question … thanks in advance.

Dear Mahmoud,

excuse me for the late reply, as I did not receive the notification of your message.

would you like to please specify more detials? are you using a solution from a service provider? or you have built it?

Dear Anas,

I am using a built in solution where the invoices references are stored in a table that acts as a queue of sending data to zatca … thanks

Hello Sir, for Q2 answer our device can generate both, but the question is if we will be reporting the simplified invoice in the end if the day should we assign the icv at the time we generate the invoice or the time we will submit the invoice for reporting?

Dear Anas, I have a follow-up question about the PIH (Previous invoice hash) ex. device1 send (invoice1, ICV=1, PIH=nothing,
invoice2, ICV=2, PIH=invoice1) then device2 send (invoice3, ICV=1, PIH=? should it be nothing or invoice2? TIA for your support

About PIH on 2 register device - #2 by lalomar this answered my query

Dear @Mahmood ,

the ICV should be assigned at the time when you generate the invoice, not submission. (reporting or clearing)