Every AI budget in South Africa starts the same way. Someone opens a pricing page, sees $3 per million input tokens, multiplies by the rand, and writes a number on a slide. Three months later the invoice is two or three times that number and nobody can say exactly why.
The arithmetic isn't wrong. It's just measuring the wrong thing.
Where the gap opens
Output tokens are the real bill. Most providers charge four to five times more for output than input. Teams estimate on prompt size because that's the part they actually wrote, but a model answering in 800 tokens against a 400-token prompt has already flipped the ratio. If you're using a reasoning model, the thinking tokens bill as output too — and you never see them.
You pay for context on every single call. The model is stateless. A ten-turn conversation resends the whole history ten times. A RAG pipeline that retrieves 6,000 tokens of chunks pays for those 6,000 tokens on every query. Your system prompt, your tool definitions, your few-shot examples — all of it re-billed per request. Prompt caching helps here, and most teams switch it on far too late.
One user action is not one API call. An agent that reads a document, plans, calls three tools and writes a summary is five to fifteen calls. Add retries on timeouts and malformed JSON. Teams model cost per request and get billed per step.
Development costs more than production, for a while. Building evals, iterating on prompts, replaying test sets — that spend lands before you have a single paying user. Budget for it separately or it reads as an overrun.
Then there's the part that has nothing to do with tokens
The rand does its own thing. Over the past twelve months USD/ZAR has traded roughly between R15.60 and R18.05. Your usage can be completely flat and your rand cost still moves 15%. If AI sits inside a fixed-price client contract, that swing is your margin.
Card fees. South African banks typically add 2.5–3% on international transactions, sometimes more once the conversion spread is counted. On R40,000 a month that's another R1,200 nobody put on the slide.
VAT is not automatic, and it cuts both ways. Since April 2025, foreign electronic-services suppliers selling solely to South African VAT-registered vendors fall outside the electronic services rules, so many providers won't charge you 15%. If you're not a registered vendor — and the compulsory registration threshold rose to R2.3 million in April 2026, so more small teams now sit under it — you'll likely be charged 15% and won't be claiming it back. Work out which side of that line you're on before you budget, not after.
What to actually do
Track cost per completed task, not per token. Tokens are an input to the number you care about. They aren't the number.
Instrument spend by feature from day one. Nearly every team discovers that one endpoint accounts for most of the bill, and it's rarely the one they expected.
Set hard spend limits at the provider, with alerts well below them. A retry loop in a background job is the classic way to burn a month's budget over a weekend.
Price client work in dollars, or build in a buffer that survives a 15% currency move. Don't quote a twelve-month rand figure off today's rate.
Get a routing layer in early — the cheapest model that clears your quality bar, per job. Most workloads don't need the frontier model everywhere, but you can only make that call if you're measuring quality per task.
None of this makes AI expensive. It makes it predictable, which is what a budget actually needs.
