Limits and rate limit messages¶
Four different limits exist and they behave differently. Find yours by what you were doing.
| You were | The limit | Fix |
|---|---|---|
| Issuing an invoice in the app | Monthly invoice allowance | Upgrade, or wait for the month to roll over |
| Calling the API rapidly | 200 requests a minute | Slow down and retry |
| Writing a lot through the API | Fair use | Contact support |
| Using the free public tools | 10 a day, or 100 a month | Sign in, or upgrade |
The monthly invoice allowance¶
Your plan allows a number of invoices submitted to ZATCA per calendar month: 15 on Free, 200 on Pro, unlimited on Business.
There is a 10% grace above the limit, so a Pro organisation can reach 220 before submissions stop.
Nothing is deleted when you reach it. You cannot submit new invoices; everything else keeps working, and the allowance resets on the first of the month — the Asia/Riyadh month, not UTC.
To keep issuing now, upgrade from Subscription. An upgrade takes effect immediately, before your transfer clears.
What counts
Invoices submitted to ZATCA, standard and simplified, plus credit and debit notes. Drafts and previews do not count until submitted.
API rate limit — 429¶
{ "detail": "Rate limit exceeded. Please try again later.",
"limit": 200, "window": 60, "retry_after": 12 }
200 requests a minute per API key, in a fixed 60-second window. Each key has its own bucket.
Wait retry_after seconds and continue. Better: read X-RateLimit-Remaining on every response and pace yourself before you hit zero. Retrying instantly makes it worse.
This limit is not about your plan and upgrading will not raise it.
Fair use — 403¶
{ "code": "fair_use_limit",
"detail": "Your organisation has reached its fair-use limit for this month. Viewing and downloading still work. Contact support to continue." }
A guard on write operations for volumes far outside normal business patterns. Reading, downloading and viewing keep working.
It is a 403, not a 429 — retrying will not clear it, and it does not reset until the month does. Talk to support@goclix.ai; this is a conversation, not a wall.
Public tools limits¶
The free tools — QR scanning, ZATCA validation, VAT calculation — are metered separately and do not touch your invoice allowance:
| Caller | Allowance |
|---|---|
| Not signed in | 10 a day, per IP |
| Free plan | 100 a month |
| Paid plans | Not metered |
Uploads there are capped at 5 MiB.
Shared invoice links¶
A share link expires after 30 days and serves at most 60 views an hour. A link that has stopped working has probably expired — issue a new one from the invoice.
Checking where you stand¶
- In the app: the dashboard names your plan; Subscription shows the current plan and billing date.
- Through the API:
GET /api/usage/current/returnsinvoices_used,invoices_limitandinvoices_allowed. Branch oninvoices_allowedbefore a batch run.
api_calls_used always reads 0
Those fields are frozen at zero for compatibility; API calls are not metered monthly. Use the invoice counters. See Usage and quotas.