Skip to content

How Credits Are Consumed by Each Feature

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. This article explains how each channel works, what creates a charge, and what doesn’t, so you can interpret your Usage This Cycle breakdown and spot unexpected patterns.

  • You are an owner with billing.credits.view.
  • You have had at least some AI usage in the current billing cycle.
  1. 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.
  2. 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).
  3. The charge is recorded against the call record ID and posted to the ledger after the call ends - never during.
  4. 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”
  1. 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.
  2. Torqueflow sums the classify and respond tokens (input + output) into a single deduction per inbound message. You are not charged twice.
  3. Token cost is estimated in USD using the current AI provider pricing (configurable per environment), then converted to credits using the WhatsApp channel ratio.
  4. The booking agent (multi-turn conversational booking via WhatsApp) charges once per turn. Each turn is metered separately because each turn is a full AI round trip.
  1. SMS works the same way as WhatsApp: classify + respond tokens are summed into a single deduction per inbound message.
  2. Same AI pricing, same channel ratio (configurable, default 1 credit per cent).
  3. 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.
  1. AI diagnostics (where enabled) charge per query based on tokens in + tokens out.
  2. Same pricing model as WhatsApp/SMS.
  3. If the feature is not enabled for your organisation, this row is dimmed in the usage breakdown.
  1. Go to Settings > Billing.
  2. The Usage This Cycle card is a 4-column grid:
    • 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.
  3. Channels you have not used are dimmed.
  4. The grid 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?”.
  1. Below the usage grid is the Credit Trend Chart showing daily credit consumption over time.
  2. It reports the current period total, the previous period total, and the percentage change.
  3. 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.

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).
  • 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).
  • 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.

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: 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.
  • billing.credits.view - required to see the Usage grid and trend chart.