FinOps & usage billing sync
Sync token consumption directly into usage-based billing.
PALM SOUQ already knows what every tenant used and what it cost you. Billing sync turns that into overage line items in Stripe, Metronome, Orb or Lago, and shows revenue against COGS per customer while the month is open.
| Engine | Events today | Pending | Last flush |
|---|---|---|---|
| stripe | 48,212 | 0 | 12 s ago |
| metronome | 311,904 | 0 | 31 s ago |
| orb | 92,447 | 126 | retrying |
| lago | 7,630 | 0 | 44 s ago |
orb: 429 from ingest, backing off 8 s · 0 events dropped
Invoice preview
Move the usage slider and watch the overage line recalculate.
A Team customer on a $299 plan with 25M tokens included. Above the allowance, PALM SOUQ sends meter events and Stripe prices them on the invoice. The panel on the right shows what that does to gross margin.
| Description | Qty | Unit | Amount |
|---|---|---|---|
| Team plan (includes 25M tokens) | 1 | $299.00 | $299.00 |
| AI token overagemeter llm_overage_tokens · synced by PALM SOUQ | 16.0M | $9.00/M | $144.00 |
| Prepaid credits applied | 1 | $-100.00 | $-100.00 |
| Amount due | $343.00 | ||
Overage price per 1M tokens
- Revenue (plan + overage)
- $443.00
- Provider COGS (41M × $6.00/M)
- $246.00
- Gross margin with overage
- 44%
- Same usage on flat $299
- 18%
COGS priced at Claude Sonnet 4.5 list rates with a 3:1 input to output mix. Prepaid credits were billed when purchased, so they reduce the amount due here, not revenue.
Native integrations
Four billing engines, one usage stream.
| Engine | What PALM SOUQ sends | Customer mapping | Credits | |
|---|---|---|---|---|
| Meter events per tenant per minute, above allowance | stripe_customer_id from tenant metadata | Customer credit balance | Setup | |
| Usage events with model, feature and token properties | customer_id = tenant id | Commits and credits via webhooks | Setup | |
| Ingested events with idempotency keys and policy outcome | external_customer_id = tenant id | Prepaid credit ledger | Setup | |
| Events by billable metric code, cloud or self-hosted | external_subscription_id per tenant | Wallets via webhooks | Setup |
Prepaid credits & drawdown
Wallets that drain in real time, with a warning before zero.
For credit-based plans, every request deducts its priced cost from the tenant's balance as it completes. PALM SOUQ projects when the wallet will run out from the current burn rate and tells your app before it does.
- Low-balance webhook at a threshold you choose.
- At zero: block, fall back to a cheaper model, or allow a small overdraft.
- Top-ups in your billing engine raise the balance on the next request.
{
"type": "wallet.low_balance",
"tenant": "initech",
"billing_provider": "stripe",
"balance_usd": 4.80,
"threshold_usd": 5.00,
"burn_rate_usd_per_day": 3.10,
"projected_empty_at": "2026-11-10T02:00:00Z",
"policy_at_zero": "fallback:claude-haiku-4.5"
}Revenue vs cost
Net margin per account, reconciled continuously.
Revenue comes from subscriptions and meter events in your billing engine. Cost comes from the gateway ledger at provider rates. PALM SOUQ joins them per customer and flags accounts whose margin falls below your floor.
- Default usage flush interval
- 60 s
- Billing engines supported
- 4
- Charges created by PALM SOUQ
- 0
- Margin floor alerts
- Per tenant
“Connecting PALM SOUQ to Stripe Billing let us launch usage-based token overages in an afternoon.”
Billing sync questions
Do I have to change my Stripe products or prices?
You need a meter and a metered price for overage, which takes a few minutes in the Stripe dashboard. Your existing subscription prices stay as they are. PALM SOUQ only sends meter events; it never creates charges or edits subscriptions.
How do you avoid double billing on retries?
Every event carries an identifier derived from the tenant, meter and time window (or the PALM SOUQ request id for per-request engines). Stripe, Metronome, Orb and Lago all de-duplicate on that key, so a retried batch is ignored.
How quickly does usage show up on the invoice?
Events are flushed every 60 seconds by default. Each billing engine then aggregates on its own schedule, which is usually near real time for the customer-facing usage view and final at invoice close.
Can I bill a markup on provider cost instead of tokens?
Yes. A meter can count raw tokens, billable tokens above the allowance, or provider cost in cents multiplied by a markup you set per tier. Agencies often bill cost plus a fixed percentage per client this way.
More of the platform
Launch token overages without building a metering pipeline.
Route your agent traffic through PALM SOUQ in 2 minutes. Change one base URL, pass a tenant header, and every token is attributed and governed.
14-day free production trial · 100k requests included · no card required