All APIs
Invoice Tax Calculator
DJP · Finance · 1 endpoint
PPN added or extracted, plus the buyer's income-tax withholding — to the rupiah that finally changes hands.
Base URL
https://api.diraz.ae
1 requestsNo cache1 credit / request
Endpoint
GET/v1/tax/invoice
Snippet
Request — cURL
v1
curl https://api.diraz.ae/v1/tax/invoice \
-H "Authorization: Bearer drz_live_…"Query parameters
- amountnumber · required
- The invoice figure.
- modestring · optional
- `base` (default) adds PPN; `inclusive` extracts it.Default: base
- vat_ratenumber · optional
- PPN rate — decimal (0.12, default) or percent (12).Default: 0.12
- withholding_ratenumber · optional
- Buyer's withholding on the gross — decimal (0.02) or percent (2).Default: 0
Example response
200 OK
v1
{
"data": {
"base_amount_idr": 10000000,
"vat_rate": 0.12,
"vat_idr": 1200000,
"gross_amount_idr": 11200000,
"withholding_rate": 0.02,
"withholding_idr": 224000,
"net_payable_idr": 10976000
},
"meta": { "request_id": "req_7Q2fK4mZ" }
}- base_amount_idr / vat_idr / gross_amount_idr
- The base, the PPN, and the gross — whichever you did not send, computed.
- withholding_idr / net_payable_idr
- What the buyer withholds and what actually gets paid.
Errors
401 Unauthorized
v1
{
"error": {
"code": "UNAUTHORIZED",
"message": "The API key is invalid, expired, or revoked."
},
"meta": {
"request_id": "req_7Q2fK4mZ"
}
}Every failure carries a stable machine-readable code before the human message, and the same meta.request_id the successful responses carry. Quote it and we can find your exact request.
Errors are free
Nothing on this page is billed. You are charged for a 2xx and nothing else — a rejected key, a bad parameter, a rate limit, or an outage on our side all cost you zero. Retry without watching the meter.
- UNAUTHORIZEDHTTP 401
- Missing, malformed, expired, or revoked API key.
- FORBIDDENHTTP 403
- The key is valid but lacks the scope this product needs.
- VALIDATION_ERRORHTTP 422
- A query parameter is the wrong type or out of range.
- RATE_LIMITEDHTTP 429
- Rate limit exhausted. `Retry-After` says how long to wait.
- SERVICE_UNAVAILABLEHTTP 503
- No data recent enough to serve. Carries `Retry-After`, and is never billed.
Total requests1
CacheNone
- Status
- Operational
- Category
- Finance
- Scope
- market:read
- Rate limit
- 300 requests / 60s per key
- Pricing
- 1 credit / request
- Invoice Tax Calculator
1/1 passing