Agency billing
One card. One invoice. All customer usage rolls up to the agency account.
How it works
Every customer agent's run produces a UsageRecord tagged with the customer's account ID. The billing engine resolves the parent agency account via parent_account_id on the customer row, and deducts the cost from the agency's balance, not the customer's. Customers don't need a payment method on file.
- You add one credit card to your agency account.
- Every customer agent's runs draw from your agency balance.
- Auto-recharge fires off your card, not the customer's.
- You see consolidated usage on /billing.
- Per-customer spend is visible on `oya account list` and the /agency dashboard.
Note
Customers are not billed directly. How you charge them (flat monthly, per seat, per agent, revenue share) is up to you and lives outside Oya, typically your own Stripe, contracts, or invoicing tool.
Per-customer visibility
The oya account list command shows month-to-date spend for each customer alongside agent count, run count, and last-activity. The agency dashboard at /agency exposes the same numbers visually.
Not yet implemented
A few capabilities customers and partners have asked about that aren't shipped today:
- Separate agency pricing tier (e.g. a $1K/mo platform fee). Billing today is pure pay-as-you-go on usage.
- Customer-facing invoices generated by Oya. Customers don't see Oya at all today; they only see your agency.
- Per-customer spending caps that pause an agent when a budget is hit.
- Revenue share or markup applied automatically.
- White-label billing (Oya-branded receipts on customer-facing surfaces).
Tip
If any of these are dealbreakers, email [email protected]. We're prioritizing based on what design partners need next.