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"
    }
  ]
}