Skip to content
PALM SOUQ

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.

Stripe Billing · Metronome · Orb · Lago
billing sync · status
EngineEvents todayPendingLast flush
stripe48,212012 s ago
metronome311,904031 s ago
orb92,447126retrying
lago7,630044 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.

stripe · draft invoice · northwind-ops
DescriptionQtyUnitAmount
Team plan (includes 25M tokens)1$299.00$299.00
AI token overagemeter llm_overage_tokens · synced by PALM SOUQ16.0M$9.00/M$144.00
Prepaid credits applied1$-100.00$-100.00
Amount due$343.00
41M

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.

EngineWhat PALM SOUQ sendsCustomer mappingCredits
Stripe Billing logoStripe BillingMeter events per tenant per minute, above allowancestripe_customer_id from tenant metadataCustomer credit balanceSetup
Metronome logoMetronomeUsage events with model, feature and token propertiescustomer_id = tenant idCommits and credits via webhooksSetup
Orb logoOrbIngested events with idempotency keys and policy outcomeexternal_customer_id = tenant idPrepaid credit ledgerSetup
Lago logoLagoEvents by billable metric code, cloud or self-hostedexternal_subscription_id per tenantWallets via webhooksSetup

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.
webhook · wallet.low_balance
{
  "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
Chief Product OfficerSeed-stage AI writing tool
“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.

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