00:00:00
everyone and welcome to zadcast
00:00:02
technical workshop for the national Ian
00:00:04
voicing solution
00:00:05
this is going to be a series of
00:00:07
workshops where we'll go and details
00:00:09
about the phase two requirements of a
00:00:12
invoicing
00:00:15
the specific Workshop we're going to
00:00:16
have a quick introduction to invoicing
00:00:18
and then we're going to have a look at
00:00:20
the two different invoicing modules
00:00:22
later on we're going to have a quick
00:00:24
recap about what are the phase two
00:00:26
requirements for ear invoicing and then
00:00:28
finally we'll have a look at what are
00:00:30
the most common csid or cryptographic
00:00:32
stamp ID business scenarios
00:00:36
so as a quick introduction to invoicing
00:00:39
um back in 2024th of December we have
00:00:41
announced the invoicing regulation and
00:00:44
we publish it over the website
00:00:46
and then in May 28th of 2021 we have
00:00:50
published The implementation resolution
00:00:52
of of a invoicing so we have published
00:00:54
the controls the requirements the
00:00:56
technical specifications and procedural
00:00:58
rules for implementing the provisions of
00:01:00
the invoicing calculation
00:01:03
letter that year on the 4th of December
00:01:05
2021 the generation phase kick started
00:01:08
and we started enforcing our taxpayers
00:01:11
or VT taxpayers to start generating
00:01:13
invoices in electronic format
00:01:15
and then in July 1st of 2022 this year
00:01:19
we have announced the first wave of
00:01:21
integration uh of the invoicing
00:01:24
which will start the enforcement and
00:01:26
January 1st of 2023 and then subsequent
00:01:29
phases or waves will come after that
00:01:33
so what was phase one so phase one we
00:01:35
call it the generation phase which we
00:01:37
started enforcement back in December 4th
00:01:39
of 2021
00:01:41
here exactly what we're doing is that we
00:01:43
are asking our taxpayers or VT taxable
00:01:45
persons to start generating and storing
00:01:48
compliant tax invoices in electronic
00:01:50
formats so basically move away from the
00:01:53
manual way of generating invoices like a
00:01:56
paper base and make them generated in an
00:01:59
electronic format
00:02:00
of course generation including storing
00:02:03
and then adding some specific Fields uh
00:02:06
to the invoice more most notably the QR
00:02:09
code for the simplified invoices or the
00:02:11
invoice is targeted for b2c or business
00:02:13
to consumer
00:02:15
now the next phase which is phase two
00:02:17
which will start enforce the enforcement
00:02:19
in January 1st of 2023 this is what we
00:02:22
call the integration phase and mainly
00:02:24
what we are requiring our taxpayers is
00:02:27
to generate invoices in an XML format
00:02:29
and store of course the set invoices in
00:02:31
the XML format this XML also include
00:02:34
some additional Fields more specifically
00:02:36
some Security based Fields such as the
00:02:39
cryptographic stamp and then finally
00:02:41
they need to integrate with zatke's
00:02:43
invoicing platform to report their
00:02:45
invoices
00:02:47
so this is in a nutshell what are the uh
00:02:50
let's say General differences between
00:02:51
phase one and phase two and our sessions
00:02:54
moving on would be focusing about uh
00:02:57
phase two
00:02:59
so who will be subject to implementing
00:03:00
phase two so
00:03:02
many integration with that could be done
00:03:04
in waves so we have announced wave one
00:03:06
back in July 1st of 2022 subsequent ways
00:03:09
are yet to be announced and whenever we
00:03:12
announce a wave we're gonna give them a
00:03:14
head start of at least six months in
00:03:15
advance to prepare the environment to
00:03:17
start integrating with that invoicing
00:03:20
solution
00:03:23
so to comply with phase two which is the
00:03:26
integration phase there are four General
00:03:28
requirements so basically the solution
00:03:30
or the invoicing solution at the
00:03:32
taxpayer site has to be able to connect
00:03:34
to the internet of course so they can
00:03:35
integrate with with zaka platform
00:03:38
there are some additional Fields
00:03:39
required in phase two that they have to
00:03:41
be populated in the invoice
00:03:43
Now set invoice has to be uh generated
00:03:46
and stored in an XML format or a PDF A3
00:03:50
with the same XML embedded within it and
00:03:52
then finally they need to integrate
00:03:53
their reinvoicing solution with zatke to
00:03:56
share the electronic invoices
00:03:59
now more details can be uh can be found
00:04:02
in our website satka.gov.sa we have a
00:04:05
special tab for invoicing you'll find
00:04:07
all the uh Technical and non-technical
00:04:09
details published there
00:04:14
moving on we're going to have a look at
00:04:16
the two different modules of your
00:04:17
voicing so we have two main models one
00:04:20
is called the simplified invoices and
00:04:22
this is where the business to consumer
00:04:25
or customer is is uh is happening
00:04:29
whereas we have a different one which is
00:04:31
for the B2B or business to business
00:04:32
which we call the tax invoices
00:04:35
so and B2B this is how the model would
00:04:37
look like at the supplier side they need
00:04:40
to generate an invoice from their system
00:04:43
and before sharing this invoice they
00:04:45
need to send it to zatke for clearance
00:04:48
so this is what we call the clearance
00:04:50
method or model once that clears the
00:04:53
invoice because that platform we're
00:04:55
gonna stamp the invoice and to then
00:04:57
generate a QR code for said invoice
00:05:00
once the supplier gets that they can
00:05:03
store this invoice in an XML or PDF
00:05:07
slash A3 with an embedded XML format and
00:05:10
then and only then they can share it
00:05:12
with their buyer
00:05:14
of course the buyer has an option to
00:05:17
scan the QR code that was present
00:05:19
printed on the invoice against our zatka
00:05:22
platform to make sure that the invoice
00:05:25
is cleared and authentic
00:05:28
this is a sample of how a B2B or a tax
00:05:32
invoice would look like you can see here
00:05:34
that we have the QR code we have the
00:05:37
invoice type which is uh the tax invoice
00:05:40
synthesis example we have the reference
00:05:42
number we have the uh the date time
00:05:45
stamp as well we have the information
00:05:47
about the seller along with the uh
00:05:51
additional ID such as the commercial
00:05:53
registration number
00:05:55
and since this is a B2B invoice we have
00:05:58
to have the buyer information as well
00:06:00
part of the invoice and then some
00:06:03
information about the uh the goods that
00:06:06
were sold or the services and then
00:06:08
you'll have the total the vat amount and
00:06:11
then the total with the vat amount
00:06:14
of course there are some additional
00:06:16
fields that are visible and then some
00:06:19
fields that are not visible on the
00:06:21
printable version you can find more the
00:06:23
details about it and we're going to have
00:06:24
a look at it later on in some sequence
00:06:26
sessions
00:06:28
now when it comes to b2c
00:06:31
this is for uh businesses who are
00:06:34
dealing with with consumers or uh and
00:06:37
consumers
00:06:38
like working customers so basically the
00:06:42
supplier they need to
00:06:44
generate the invoice and share it in a
00:06:46
human readable format with their
00:06:47
customers at the same time they need to
00:06:49
store this
00:06:51
invoice at their site at their machine
00:06:54
and then they will have a great spirit
00:06:56
of 24 hours to share this invoice with
00:06:59
zatka platform and this is where we call
00:07:01
it the reporting
00:07:03
uh in comparison to clearance that we
00:07:05
have seen in B2B for B2B b2c we call it
00:07:08
reporting since you have 24 hours uh
00:07:11
clearance now this is due to the
00:07:13
sensitivity of the time of the
00:07:15
transaction between the supplier and the
00:07:16
customer uh and of course we have a
00:07:19
similar option where the customer can't
00:07:21
scan the QR code that was printed by the
00:07:23
supplier
00:07:24
to check whether this invoice was
00:07:27
generated uh through a registered
00:07:30
supplier
00:07:34
again this is a sample of how the
00:07:36
simplified tax invoice would look like
00:07:38
it's very similar to the uh the tax
00:07:42
invoice or the b2b1 however you see that
00:07:45
the buyer information is missing from
00:07:47
here
00:07:51
so let's have a closer look about phase
00:07:53
two requirements
00:07:55
so we have published a lot of material
00:07:56
on our website regarding the
00:07:58
requirements you're going to have the
00:08:00
invoicing resolution you can have the
00:08:02
data dictionary which includes all the
00:08:04
data fields and their definitions and
00:08:06
what sorts of uh input that needs to be
00:08:10
done for each data field
00:08:12
we're going to have also details about
00:08:14
how the XML implementations look like
00:08:16
and then there is a document for the
00:08:18
security features implementation and
00:08:20
then finally you'll have the API
00:08:22
specifications in Swagger format
00:08:25
and for testing and validation we have
00:08:28
published two tools the first one is the
00:08:30
compliance and anonymity toolbox which
00:08:32
which is the SDK this is an offline
00:08:34
version uh to test the compliance of
00:08:37
your implementation and we're going to
00:08:38
have a separate dedicated session for
00:08:40
that to go over the SDK and how to use
00:08:42
it
00:08:43
and then we have also developed an
00:08:45
integration sandbox this is where you
00:08:47
can test the integration part of your
00:08:49
solution and examine or test your your
00:08:52
solution against our sandbox this is in
00:08:55
a sandbox environment so it's a test
00:08:57
environment it's not in production you
00:08:59
can use that in preparation for your
00:09:01
production environment and again we can
00:09:04
have a separate session for the
00:09:05
integration sandbox we're going to go
00:09:07
over the details of the sandbox and how
00:09:09
to use that and then finally we have
00:09:11
dedicated a QR code development guide
00:09:14
just only for the QR code just to give
00:09:16
you a step-by-step guide on how to
00:09:19
develop the QR code to be printed on
00:09:21
your invoices
00:09:24
now this is how we envision the Journey
00:09:26
of of our taxpayers or their service
00:09:28
providers to be able to be compliant
00:09:31
with phase two of e-invoicing we have
00:09:33
four steps in general the first two are
00:09:35
marker optional however they are highly
00:09:37
recommended to be done before you start
00:09:40
integrating the first one is the
00:09:43
uh compliance and enabled toolbox as we
00:09:46
mentioned this is the SDK I'm going to
00:09:48
have a dedicated session for that
00:09:49
basically this is an offline Tool uh for
00:09:52
you to test the implementation of your
00:09:55
system against that requirements
00:09:59
and to access that you have two options
00:10:01
the first one is to go to the developer
00:10:03
portal which is the sandbox I'm going to
00:10:05
have a look at that you can either
00:10:07
download the SDK and use it in an
00:10:10
offline mode or you can use our
00:10:12
portal-based validator this is mainly
00:10:15
Target for non-technical users where you
00:10:16
can drag and drop the xmls to to
00:10:20
validate those xmls against exact
00:10:22
requirements
00:10:24
the other option to access the SDK is
00:10:26
through our zatka website if you go to
00:10:30
zatcap.gov.sa we have a section
00:10:31
dedicated for invoicing and under that
00:10:33
there is a section for developers you'll
00:10:35
find the same version of the SDK as well
00:10:37
there ready to be downloaded
00:10:40
and again we're going to have a separate
00:10:41
session for this the gate to go over it
00:10:43
and see how it can be used
00:10:46
The Next Step which is the integration
00:10:48
sandbox the purpose of this is to do an
00:10:51
actual integration against zatka in a
00:10:54
sandbox environment which is like a test
00:10:55
environment it's not non-production
00:10:58
basically we're gonna have to go to
00:11:01
sandbox.zatka.gov.sa you're going to
00:11:03
have the to navigate to the integration
00:11:04
sandbox and then we're going to have a
00:11:06
look at all the API documentation via
00:11:08
Swagger we have six main apis the
00:11:11
compliances ID API compliance checks
00:11:14
apis production csid apis for onboarding
00:11:17
and similarly for Renewal and then
00:11:19
finally the two apis for submitting
00:11:21
invoicing and Reporting mode which is
00:11:23
the b2c and a clearance mode for B2B
00:11:27
and again we're going to have a
00:11:28
dedicated session for the integration
00:11:30
sandbox to all go over all the useful
00:11:33
tools there and see how you can test
00:11:35
your your solution against a Sandbox
00:11:38
environment
00:11:41
the next step is once you make you make
00:11:44
sure that you are able to generate XML
00:11:46
in the correct format and you're able to
00:11:48
integrate with zatka then here you need
00:11:50
to onboard your Solutions uh before you
00:11:52
start sending invoices so we have an
00:11:54
onboarding portal
00:11:55
uh
00:11:57
fatura.ca.gov.sa and that portal you'll
00:12:00
be able to onboard Your solution and
00:12:02
acquire a cryptographic stamp or assist
00:12:05
ID to be able to send your invoices
00:12:09
so to access that you're going to have
00:12:11
to go to
00:12:12
fatura.satka.gov.sa you're going to
00:12:14
select how many devices that you want to
00:12:17
onboard you'll receive an OTP for each
00:12:19
device to be onboarded once you onboard
00:12:22
the device you'll be able to run the the
00:12:25
apis in sequence which is the compliance
00:12:27
first and then the compliance checks and
00:12:29
then I'm gonna request for a production
00:12:31
csid once you get this production csid
00:12:33
then you'll be ready for the next step
00:12:36
we're gonna have a dedicated session for
00:12:38
onboarding portal as well to see how you
00:12:40
can import your devices and be ready to
00:12:43
submit the invoices
00:12:46
now finally once you have onboarded your
00:12:48
devices now and only then you can start
00:12:51
send invoices against that cap invoicing
00:12:54
platform in a clearance or reporting
00:12:57
model depending on the type of business
00:13:00
that you are dealing with
00:13:03
so basically if you're using uh if
00:13:05
you're dealing with a B2B transaction
00:13:07
we're gonna use the clearance API which
00:13:09
is the standard document and if you're
00:13:11
using or dealing with a b2c transaction
00:13:14
then you're going to send simplified
00:13:15
documents in a reporting API
00:13:18
zatka platform is going to do the
00:13:20
validation and confirm back to you the
00:13:22
uh the the submission of the of your
00:13:25
invoice and in case of a standard
00:13:27
document as we have mentioned previously
00:13:28
that was going to stamp this invoice for
00:13:30
you and then generate a QR code for you
00:13:32
to be printed on the invoice
00:13:38
now let's have a look at what are the
00:13:41
most common
00:13:42
cryptographic stamp business scenarios
00:13:44
so the very basic uh business scenario
00:13:47
is that we have a taxpayer with a single
00:13:50
server that they are generating and
00:13:52
sending invoices to zatka so in that
00:13:55
server you need to have to acquire a
00:13:56
csid as we have seen in the previous
00:13:58
steps
00:14:00
now another example is that if you have
00:14:02
one single taxpayer with multiple points
00:14:05
of sales each of these points of sales
00:14:07
are generating and sending the invoices
00:14:10
to zaka platform so each individual
00:14:12
point of sale will have to have
00:14:14
acquiring acquired csid
00:14:18
so the csid has to be unique across all
00:14:20
of these devices so no two devices will
00:14:23
have the same CI study so it's each
00:14:25
point of sale will have to go through
00:14:27
the steps of the onboarding that we have
00:14:29
seen previously
00:14:31
now in case the taxpayer has a
00:14:35
centralized server where they are
00:14:36
issuing and sending the invoices so the
00:14:39
point of sale here is not generating or
00:14:41
sending they are actually getting the
00:14:43
invoice from a centralized server and
00:14:45
then sending the invoice from the
00:14:46
centralized server to that uh invoicing
00:14:50
platform so in that case the point of
00:14:52
sale does not have to have csid only the
00:14:54
centralized server will have a csid
00:14:56
since the centralized server is issuing
00:14:58
and sending the invoices
00:15:02
now another example is that where the
00:15:04
point of sale is actually issuing but
00:15:06
not sending so the point of sale is
00:15:08
issuing the invoice and then send it
00:15:11
sending it to a centerless server where
00:15:14
this server is sending it to that so in
00:15:16
that case each single point of sale will
00:15:18
have to have a csid to generate the
00:15:20
invoice
00:15:21
and then the centralized server who is
00:15:22
going to send the invoice to zatka is
00:15:24
also required to have a csid
00:15:27
so the difference between this example
00:15:29
and the previous one is that the central
00:15:31
server in this case is not issuing the
00:15:33
invoice it's only sending whereas in the
00:15:35
previous example the same server is
00:15:36
issuing and sending the invoices
00:15:41
now a bit more complicated example is
00:15:44
that for example if you have a taxpayer
00:15:46
with multiple branches each branch is
00:15:48
having uh let's say a dedicated server
00:15:51
and turn it in the branch and then they
00:15:53
have like a regional server or a central
00:15:55
server to to consolidate all the
00:15:57
invoices and then sending it to zadka so
00:16:00
in that case if the point of sale is not
00:16:02
issuing or sending an invoice so they
00:16:04
don't need to have csid
00:16:06
however the local or the let's say
00:16:09
Branch server is is issuing an invoice
00:16:12
but not sending this so in that case
00:16:14
they will have to have a unique CIS ID
00:16:16
per server and then finally the
00:16:18
centralized server which is sending to
00:16:20
zaka would need to have a csid
00:16:23
so as a general rule of thumb
00:16:26
any machine that is either issuing or
00:16:28
sending
00:16:29
to zatka would have to have a csid
00:16:34
so this is a quick introduction to zatke
00:16:37
invoicing solution
00:16:40
um
00:16:41
subsequent
00:16:42
workshops will will go over the the
00:16:45
tools that we have mentioned we'll have
00:16:46
a workshop for the the SDK another one
00:16:49
for the integration sandbox and then
00:16:50
finally we'll have a workshop on the
00:16:53
onboarding thank you very much