Standard (B2B) Compliance Check
ZATCA allows to check invoices before actually submit to them. this checking allows to identify if any issues (UBL XML standard) to the generted invoice.
Standard Invoice Compliance Check
POST /api/standard-compliance
Headers
Content-Type
application/json
Authorization
Bearer <token>
Body
stackcue
String
Required
For standard Invoice, it can have below values
String
Required
Compliance identifier from successful Compliance CSID API request
boolean
optional
if goods are for export then add it as true
"isExport": true
if not included considered as non export.
Note : isExport is applicable only in Standard (B2B) transactions
Invoice
Integer
Required
Item line number
String (YYY-MM-DD)
Required
Example :
String (hh:mm:ss)
Required
Example:
Integer
Required
Counter value of documents. it starts from 1. and increments for every new documents. it can reset and start from 1 for every new Production CSID.
String (YYY-MM-DD)
Required
Example :
Integer
Required
Below values are used based on invoice payment
10 In cash
30 Credit
42 Payment to bank account
48 Bank card
1 Instrument not defined (Free text)
String
Required
Previouse invoice Hash value (PIH) delivered through API response. It should be used in next invoice for the same Production CSID. For very first invoice PIH values is as below
String
Required only for credit note and debit note
The referance invoice ID to the original invoice against which credit note and debit note to be issued.
String
Required only for credit note and debit note
The reason for credit note and debit note
Seller
String
Required
Any id number (Type given below)
String
Required
CRN : Commercial Reg No
MOM : MOMRAH License
MLS : MHRSD License
SAG : SAGIA License
OTH : Others
700 : 700 number
String
Required
Seller street name
String
Required
Seller Building Number
String
Required
Sub division city name
String
Required
City Name
String
Required
Postal Code Number
String
Required
VAT Registration number
String
Required
Company Name
Seller
Document Charge
String
Required if document level charge exist
Reason for charge- Document level
Number
Required if document level charge exist
Charge Amount - Document level
String
Required if document level charge exist
Category ID eg: S
Number
Required if document level charge exist
tax percentage eg: 15
Document Allowance
String
Required if document level allowance exist
Reason for allowance- Document level
Number
Required if document level allowance exist
Allowance Amount - Document level
String
Required if document level allowance exist
Category ID eg: S
Number
Required if document level allowance exist
tax percentage eg: 15
Prepaid Document
String
Required if Invoice amount already paid with another invoice
Document ID for the prepaid invoice
String
Required if Invoice amount already paid with another invoice
Document issue date for the prepaid invoice
String
Required if Invoice amount already paid with another invoice
Document issue time for the prepaid invoice
String
Required if Invoice amount already paid with another invoice
The prepaid amount by category wise
Line Items
Integer
Required
Invoice item line number
Number
Required
Invoiced qty
Number
Required
Base qty is standard qty of the item.
String
Required
It must be coded with ISO -4217 alpha 3 standard.
For Saudi riayls use SAR.
For other currencies refer : https://www.six-group.com/en/products-services/financial-information/data-standards.html
String
Required
Name of item
String
Required
Tax category code
(S/E/Z/O)
For standard tax item use S
Number
Required
VAT percentage for category S is 15. for E,Z and O it is 0
Number
Required
The standard price of item without any allowance/charge
String
Required if price allowance exists
Reason if price allowance exists
Number
Required if price allowance exists
Price allowance amount if exists
String
Required. but will process only when lineAllowanceAmount > 0
Use only percentage or direct
String
Required. but will process only when lineAllowanceAmount > 0
Use reason mentioned in https://unece.org/fileadmin/DAM/trade/untdid/d16b/tred/tred5189.htm
Number
Required if line allowance exists. otherwise keep 0
Allowance amount to the invoice line
Number
Required. but will process only when lineAllowanceAmount > 0
Line allowance percentage
Number
Required. but will process only when lineAllowanceAmount > 0
The base amount used to calculate allowance
String
Required if lineChargeAmount > 0
se only percentage or direct
String
Required. but will process only when lineChargeAmount > 0
Use reason mentioned in https://unece.org/fileadmin/DAM/trade/untdid/d16b/tred/tred7161.htm
Number
Required. but will process only when lineChargeAmount > 0
Charge amount to the line
Number
Required. but will process only when lineChargeAmount > 0
Percentage of line charge
Number
Required. but will process only when lineChargeAmount > 0
Base amount used to calculate charge
Examples
Success Response
Error Response
Last updated