How the Orb sync works
Orb ingests usage events keyed by an idempotency key and an external customer id, then evaluates billable metrics over them at invoice time. PALM SOUQ maps your tenant id to Orb's external_customer_id directly, which is usually the same id your application already uses, so no lookup table is needed.
Events are sent in batches from the region that metered them. Each event includes the token breakdown and the computed provider cost, so a single event stream supports both customer billing and internal margin reporting.
Pricing flexibility without redeploys
Orb lets you change prices and plan structures without changing what your application sends. With PALM SOUQ in front, you also do not change what your application measures. Moving from per-seat pricing to a token allowance with overage, or adding a surcharge for reasoning tokens, is a matter of new metrics in Orb on properties PALM SOUQ already sends.
Backfills are supported. If you connect Orb after running PALM SOUQ for a while, you can replay up to your plan's metering retention window into Orb so the first usage-based invoice reflects the whole period.
Keeping invoices and quotas consistent
A common failure in usage billing is that what the product enforces and what the invoice charges drift apart. When the gateway enforces a 5M token allowance and Orb bills overage above 5M, both numbers come from the same event stream, so they cannot disagree.
PALM SOUQ also tags each event with the policy decision for that request: served, served by fallback, or blocked. Blocked requests are not billed, and fallback requests can be priced at the fallback model's rate if your contract says so.
Rolling it out safely
Map tenant ids to external customer ids for a small group of customers and let events flow for a billing period alongside your existing invoices. Orb's invoice previews show what usage pricing would have charged, which gives finance a side-by-side view before anything changes for customers.
When the new plan launches, use the backfill to load the current period so the first usage invoice is complete, then turn on threshold webhooks so quota and credit state stay aligned with Orb.
Keep the policy property in your metrics from the start. Excluding blocked requests and deciding how fallback requests are priced are commercial choices that are easy to make on day one and awkward to retrofit after customers have seen their first usage invoice.