betool charges on a usage basis in credits: 1 credit = €0.0001 (one ten-thousandth of a euro). You top up your balance in advance; each execution debits the corresponding cost.
Why credits
The credit system enables:
- Fine granularity — an API call costing $0.000003 is measurable without rounding.
- Price stability — your per-unit prices in credits do not change when a provider revises its rates.
- Per-organisation isolation — each org has its own balance and its own alerts.
What is billed?
See the details in Pricing. Summary:
- LLM — on a managed model, per input / output token. With BYOK, nothing: you pay your provider directly; betool takes nothing on tokens.
- Voice — ASR per second, TTS per character.
- Telephony — no per-minute price as such: a call is billed by its components (transcription, speech synthesis, LLM).
- HTTP / DB / transform operators — not metered.
Topping up your balance
Two modes:
- Manual — from Organisation settings → Plan (Top up button), add a one-time amount.
- Auto top-up — automatic reload when the balance drops below a threshold. Recommended to avoid service interruptions.
Tracking consumption
Organisation settings → Usage:
- Current balance
- Consumption history filterable by period
- Breakdown by pipeline node and by resource type
The table is exportable as Excel for integration with your internal reporting.
Alerts
Two automatic alerts protect your balance:
- Low balance — when the balance drops below a threshold, the org's administrators are notified (in-app + email).
- Exhausted balance — when the balance hits zero, a distinct alert goes out immediately.
Combine them with auto top-up (threshold + amount, configurable per organisation) so the cutoff is never reached.
Pre-call refusal
If your balance is insufficient to execute a LLM call or a phone call, betool refuses the execution before any debit, with an explicit out of credits error visible in the history.
No overcharge is possible: a call never starts without available credit.
File storage
Your plan can set a storage allowance: the volume of files your organisation keeps in betool — knowledge base files, received attachments, files produced by your processes. A plan without a limit shows Unlimited storage.
Usage is tracked in Organisation settings → Plan, Storage section: volume used, share of the plan consumed, and a gauge that signals crossing 80 % and then full storage.
The limit is checked on every file write, before sending to storage:
- Writes decided by your organisation — import into the knowledge base, files produced by a node (download, archive extraction, PDF splitting, Excel export…): beyond the limit, the write is refused and nothing is written. The node concerned takes its error path; a node that produces several files removes those it had already written.
- Files sent by your contacts — email attachments, messaging media, files received by webhook: always accepted, even beyond the limit (a customer's message is never lost), and counted in your usage.
To free up room: delete files (deleting a knowledge base document deletes its file) or move to a higher plan.
For developers
If you are calling the admin API, the GET /api/admin/billing/state endpoint returns your plan, your balance and the auto top-up state; GET /api/admin/billing/storage-usage returns your storage usage and its limit. A file write refused because storage is full responds 507 Insufficient Storage.