Reference Data
Reference endpoints provide standard ZATCA codes and lists used in UBL documents (e.g. allowance/charge reasons). Use these when building invoice payloads that require ZATCA-compliant codes.
GET/v1/reference/discount-reasons
ZATCA allowance/charge reason codes
Returns the ZATCA standard list of allowance/charge reason codes for document-level and line-level use in UBL. Parity with ksa_compliance.
Requires API Key (Bearer)
Code examples
const res = await fetch('https://api.esnadapi.com/v1/reference/discount-reasons', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();Success response (200)
{
"data": [
{
"code": 41,
"name": "Bonus for works ahead of schedule"
},
{
"code": 42,
"name": "Other bonus"
},
{
"code": 60,
"name": "Manufacturer's consumer discount"
},
{
"code": 62,
"name": "Due to military status"
},
{
"code": 63,
"name": "Due to work accident"
},
{
"code": 64,
"name": "Special agreement"
},
{
"code": 65,
"name": "Production error discount"
},
{
"code": 66,
"name": "New outlet discount"
},
{
"code": 67,
"name": "Sample discount"
},
{
"code": 68,
"name": "End of range discount"
},
{
"code": 70,
"name": "Incoterm discount"
},
{
"code": 71,
"name": "Point of sales threshold allowance"
},
{
"code": 88,
"name": "Material surcharge/deduction"
},
{
"code": 95,
"name": "Discount"
},
{
"code": 100,
"name": "Special rebate"
},
{
"code": 102,
"name": "Fixed long term"
},
{
"code": 103,
"name": "Temporary"
},
{
"code": 104,
"name": "Standard"
},
{
"code": 105,
"name": "Yearly turnover"
}
]
}