How Credits Are Consumed by Each Feature
Summary
Section titled “Summary”Different AI features consume credits in different ways. Voice calls are metered by the raw provider cost (transport, speech-to-text, language model, text-to-speech). WhatsApp and SMS AI replies are metered by the AI tokens used. Haynes Pro vehicle data works differently again: it is a flat charge per vehicle, not per lookup. This article explains how each one works, what creates a charge, and what doesn’t, so you can interpret your Usage This Cycle breakdown and spot unexpected patterns.
Prerequisites
Section titled “Prerequisites”- You are an owner with
billing.credits.view. - You have had at least some AI usage in the current billing cycle.
How voice call credits are calculated
Section titled “How voice call credits are calculated”- When a voice call ends, the voice AI sends an end-of-call report with a cost breakdown in US dollars:
- Transport - the telephony carrier cost.
- STT (speech-to-text) - audio transcription cost.
- LLM - the language model cost for the AI reasoning.
- TTS (text-to-speech) - audio generation for the AI voice.
- Platform - voice provider platform fee.
- Torqueflow sums these into a single USD cost and converts it to credits using the configured ratio for the voice channel (default: 1 credit per cent of provider cost).
- The charge is recorded against the call record ID and posted to the ledger after the call ends - never during.
- The Usage This Cycle card on Settings > Billing shows voice as number of calls and total credits used, with per-call cost hidden by design.
How WhatsApp AI reply credits are calculated
Section titled “How WhatsApp AI reply credits are calculated”- When an inbound WhatsApp message arrives at the AI, it goes through two internal stages: a classify step (decide intent) and a respond step (generate the reply). Both consume AI tokens.
- Torqueflow sums the classify and respond tokens (input + output) into a single deduction per inbound message. You are not charged twice.
- Token cost is estimated in USD using the current AI provider pricing (configurable per environment), then converted to credits using the WhatsApp channel ratio.
- A back-and-forth conversation charges once per inbound message. Each turn is metered separately because each turn is a full AI round trip.
How SMS AI reply credits are calculated
Section titled “How SMS AI reply credits are calculated”- SMS works the same way as WhatsApp: classify + respond tokens are summed into a single deduction per inbound message.
- Same AI pricing, same channel ratio (configurable, default 1 credit per cent).
- You are not charged for staff-written SMS replies or for manually sent bridge SMS (see
troubleshooting/portal-messaging-fallback) - those are SMS sending costs, not AI costs.
How diagnostic AI credits are calculated
Section titled “How diagnostic AI credits are calculated”- AI diagnostics (where enabled) charge per query based on tokens in + tokens out.
- Same pricing model as WhatsApp/SMS.
- If the feature is not enabled for your organisation, this row is dimmed in the usage breakdown.
How Haynes Pro vehicle data credits are calculated
Section titled “How Haynes Pro vehicle data credits are calculated”- Haynes Pro lookups are the one part of the system charged at a flat rate per vehicle, not per interaction. Opening a lookup on a vehicle costs 20 credits.
- That one charge opens a window on that vehicle. Everything else you pull on the same car inside the window is free: repair times, service schedules, service checklists, part categories and technical drawings.
- The window is per vehicle. Come back to the same car after it has closed and the next lookup is a fresh 20 credits.
- Identifying a vehicle is free. It costs nothing, and it is the step that makes the rest of the lookups possible.
- You always see the cost and your balance before anything is deducted, and you have to confirm.
- This spend does not have its own tile on the Usage This Cycle card yet. It comes off the balance and it is on the ledger, so a day of heavy Haynes Pro use shows as a balance drop without a matching tile.
How the phone-number rental charge works
Section titled “How the phone-number rental charge works”- Each garage gets one phone number included.
- Every additional number is a fixed monthly charge in credits, taken once a month rather than per call.
- It shows on the usage card as Phone rental, counted in numbers rather than interactions.
Read the Usage This Cycle card
Section titled “Read the Usage This Cycle card”- Go to Settings > Billing.
- The Usage This Cycle card shows a tile per channel:
- Voice - number of calls and credits used.
- WhatsApp - number of messages and credits used.
- SMS - number of messages and credits used.
- Diagnostics - number of queries and credits used.
- Phone rental - numbers billed and credits used.
- Channels you have not used are dimmed.
- Some credit spend is not on this card. Haynes Pro vehicle data, document scanning and the Xero connection all deduct credits but do not have a tile yet. Use the credit balance and the trend chart to see the full picture.
- The card leads with interaction count rather than per-interaction cost. This is intentional - you should think about “how much am I using the AI?” rather than “how much did that last call cost?”.
Read the trend chart
Section titled “Read the trend chart”- Below the usage grid is the Credit Trend Chart showing daily credit consumption over time.
- It reports the current period total, the previous period total, and the percentage change.
- A sudden spike usually means unusual traffic (for example a marketing campaign driving lots of inbound calls) or a degradation issue causing extra interactions. A sudden drop usually means a quiet day or an AI outage.
What does not consume credits
Section titled “What does not consume credits”The following are always free:
- Staff-written messages (WhatsApp, SMS, or portal) typed by a human.
- Manual work order creation, invoicing, parts, labour, time tracking.
- Scheduler, reports, audit log, settings pages.
- Customer portal activity (logins, quote approvals, reading messages).
- Identifying a vehicle for Haynes Pro data.
- Repeat Haynes Pro lookups on a vehicle inside an open window.
- Test calls triggered from the Voice Dashboard.
- Calls to and from demo organisations.
- Voice calls with zero cost (for example instantly abandoned calls reported at £0).
- Spam-filtered SMS messages (the AI was never called, so there’s nothing to charge).
- WhatsApp/SMS messages routed to a human inbox without an AI call (including out-of-hours auto-replies, wrong-number templates, and credit-exhausted fallbacks).
Expected Outcome
Section titled “Expected Outcome”- You can explain why a busy voice day costs more credits than a busy WhatsApp day.
- You know what shows up in the Usage grid and what is intentionally hidden.
- You can tell when a consumption spike is from real customer activity versus a configuration problem.
Troubleshooting
Section titled “Troubleshooting”Problem: Voice credits are higher than I expected for the number of calls. Cause: Long call durations, lots of tool calls during the conversation, or premium voice TTS can all increase the per-call cost. The voice AI charges per-minute and per-token, so a 10-minute booking call is far more expensive than a 30-second hang-up. Fix: Check Voice AI > Call Logs for unusually long calls. Tune the voice persona to be more concise if verbosity is driving cost.
Problem: WhatsApp is consuming credits even though I’m replying manually. Cause: The AI still runs a classify step on every inbound message to decide whether a human or AI should respond. Even if a human replies, the classify tokens are charged. Fix: This is by design and the cost is very small. If the volume is material, contact support - there are advanced settings to disable classification for specific scenarios.
Problem: Credits went down but the Usage This Cycle card shows zero for a channel. Cause: The card is a snapshot of interactions, not a live ledger view. There can be a short delay between the interaction ending and the rollup refreshing. Fix: Refresh the page after 60 seconds. The ledger is authoritative - if the balance went down, the deduction is recorded.
Problem: “Interaction count” and “credits used” look mismatched. Cause: One voice call can cost several times more than one WhatsApp reply. Interaction counts are not comparable across channels. Fix: Use the credit number for cost comparisons, not the interaction count.
Problem: My balance dropped by 20 credits and I cannot see what caused it. Cause: Someone opened a Haynes Pro lookup on a vehicle. It is a flat 20 credits per vehicle window and it has no tile on the Usage This Cycle card. Fix: Nothing to fix. The charge is on the ledger. If it happens more than you expect, remember it is once per vehicle per window, so working through ten cars in a morning is ten charges.
Problem: I’m on a trial and my usage seems to come out of something other than credits.
Cause: Trial accounts have a separate trial cost cap that tracks total AI spend in pounds. When trial credits run out or the cost cap is reached, degradation kicks in.
Fix: See ai-credits/what-happens-when-credits-run-out for the trial cost cap explanation.
- Raw interaction records are retained for 90 days then purged. Daily rollups (one row per channel per day) are retained indefinitely for historical reporting.
- Conversion ratios per channel are set by Torqueflow Support. The current default is 1 credit = 1 cent of provider cost, so rough mental model: £0.01 = 1 credit.
- Torqueflow absorbs rounding difference - provider cost to credits uses a round-then-floor calculation to prevent double-rounding inflation.
- If the credit deduction fails due to an internal error, the AI interaction still completes normally. Billing never blocks AI.
Permissions
Section titled “Permissions”billing.credits.view- required to see the Usage grid and trend chart.