Onboarding is mandatory for all taxpayers who are subject to electronic invoicing in Saudi Arabia. As a result of the onboarding process, taxpayers obtain Cryptographic Stamp Identifiers (CSIDs). CSIDs are required for integration with the electronic invoicing portal that is managed by the Saudi Arabian tax authority (ZATCA) and for further submission of electronic invoices.
This article explains how to onboard taxpayers and their electronic invoicing software with Saudi Arabian tax authorities.
Prerequisites
The legal entity must be registered as a taxpayer in Saudi Arabia and must have a valid value-added tax (VAT) registration number.
The legal entity must have the access to the Saudi Arabian Taxation Portal
Onboarding process
The onboarding process consists of two steps:
Obtain a Compliance CSID (CCSID), which ZATCA assigns to perform compliance checks of Electronic invoice generation solutions (EGSs).
Obtain a Production CSID (PCSID), which ZATCA assigns to compliant EGSs.
Obtain a CCSID
n the Saudi Arabian Taxation Portal (ERAD), go to the Onboarding and Management Portal by selecting the relevant tile.
On the main landing page of the Onboarding and Management Portal, select the Onboard new solution unit/device tile, and then select Generate OTP code. The OTP code is only valid for one hour after it's generated. Make sure that it's used within that time frame.
Select the number of one-time password (OTP) codes to generate. The number depends on the number of e-invoicing generation units (devices) that will be used.
Save the generated OTP codes so that you can use them in later steps.
Prepare a configuration file for the certificate signing request. This configuration file should be in the form of a plain text file that contains the following data.
oid_section = OIDs
[OIDs]
certificateTemplateName = 1.3.6.1.4.1.311.20.2
[req]
default_bits = 2048
emailAddress = MyEmail@email.com
req_extensions = v3_req
x509_extensions = v3_ca
prompt = no
default_md = sha 256
req_extensions = req_ext
distinguished_name = dn
[dn]
C=SA
OU=Riyad Branch
O=Contoso
CN=EA123456789
[v3_req]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment
[req_ext]
certificateTemplateName = ASN1:PRINTABLESTRING:ZATCA-Code-Signing
subjectAltName = dirName:alt_names
[alt_names]
SN=1-TST|2-TST|3-ed22f1d8-e6a2-1118-9b58-d9a8f11e445f
UID=310122393500003
title=1100
registeredAddress= MyAddress
businessCategory=Industry
The values for CN and certificateTemplateName in the config file are different when you use the simulation portal.
In the simulation portal:
CN - PREZATCA-Code-Signing
certificateTemplateName - ASN1:PRINTABLESTRING:PREZATCA-Code-Signing
For any other case, use the values as instructed above.
.\OnboardingScript.ps1 -action getComplianceCSID -endpoint prod -otp 123345 -csrconfig .\csr_config.txt -password 123
Compliance check
Start Onboarding your system point of sale POS and Link with Zakat, Tax and Customs Authority Saudi Arabian, Here you can Create and Build a Digital Signature ECDSA Certificate Online OpenSSL (CSR and Private Key) and Compliance XML Files Standard and Simplified) and Compliance CSR to Get Authorizationa and Depending on your place in the onboarding process, create a Compliance CSID (CCSID) or a Production CSID (PCSID). Electronic invoicing onboarding in Saudi Arabia, Zatka CSR