SMS credits — billing

SMS credits are bought separately from your plan. Top up, auto-top-up, receipts.

Owner

SMS in Pistonlog runs on a credit balance held per garage (garages.credits in the schema). Each text costs one credit. You buy credits in batches when you need them — they don't expire, and they're separate from your subscription plan.

Topping up

Open SMS credits in billing

Workshop Settings → Billing → SMS Credits.

Pick a bundle

Bundle sizes scale from small one-off top-ups to large bulk packs. Bigger bundles have a lower per-credit cost (between 7p and 10p depending on size).

Pay

Stripe Checkout handles the payment. Credits are added the moment the payment succeeds.

Check the balance

Visible on the same billing page. Decreases by 1 each time an SMS sends.

Per-garage scope

If you run multiple garages, each garage has its own credit balance. Topping up at Bristol doesn't help Bath. Each garage's reminder cron and SMS payment-link flow draws from that garage's balance only.

What shows on the receipt

Each top-up generates a Stripe receipt with the bundle size and price. Tax (VAT in the UK) is applied where applicable based on your billing address.

What happens at zero

A send attempt with zero credits fails immediately. The reminder_logs row is marked failed with errorMessage: "Insufficient credits". Email sends keep working — they don't draw from this balance.

Why credits

Twilio charges Pistonlog per-message at carrier-set rates. Credits are how those costs land back on the garage's account without us reconciling Twilio bills in real time.

Related

Was this article helpful?