Admin: pricing engine + vendor cost management
How VoxReach's per-tenant pricing actually works — vendor cost × markup × FX × volume tier.
01
Vendor costs (the foundation)
- Every line item we sell has a vendor cost: Vapi/min, Anthropic/token, ElevenLabs/char, Twilio/min.
- Stored in vendor_costs table, USD-denominated.
- Update at /admin/pricing → Vendor costs whenever you negotiate a discount.
02
FX buffer
- USD vendor cost converted to AUD using live FX rate + buffer (default 8%).
- Buffer protects against AUD/USD swings.
- Adjustable at /admin/pricing → Global settings.
03
Platform markup
- Default 2.0× (100% markup) on top of vendor cost in AUD.
- All client prices = vendor_cost_aud × markup.
- Live prices recalculate every 5 minutes.
04
Volume tiers
- Tenants spending more get bigger discounts:
- - A$0-1k/month rolling: standard pricing
- - A$1k-2.5k: 5% off usage
- - A$2.5k-6k: 10% off
- - A$6k+: 15% off
- Applied automatically per call/SMS based on rolling 30-day spend.
05
Margin floor
- Hard floor: client price never below vendor_cost × MIN_MARGIN_FLOOR (default 1.5×).
- Even at top tier, we never sell at a loss.
- If vendor cost spikes and a row drops below floor, it shows red on /admin/rates — fix the source price immediately.
06
Per-tenant audit
- Every call/SMS stores the rate, tier, and vendor cost at moment of service in the calls/sms_messages tables.
- Full P&L reconstructable from raw data.
Related articles
Top-ups, balance, and how billing works
Prepaid only. Minimum top-up A$500. Auto-pause at zero. No surprise invoices.
Volume tier discounts
0 / 5 / 10 / 15 percent discount on variable usage based on rolling 30-day spend.
Auto top-up — never run out of credit
Configure auto top-up so calls keep flowing even when balance gets low.
Admin: Stripe billing setup
Walkthrough for connecting Stripe live keys + webhook endpoint.
Still stuck?
Email hello@voxreach.com.au — we reply within 2 business hours during AEST hours.
Open a ticket