Finance & profit-and-loss
JARAI tracks the cost of every AI call and the revenue from every subscription and
top-up, then rolls them into profit-and-loss dashboards at three levels. These live
under Dashboards, and are also visible to the FinanceViewer role.
Prefer to read? Open the step-by-step transcript
- Dashboards → Account P&L — revenue, AI cost and margin for a single account.
- Dashboards → Customer P&L — the same rolled up across a customer’s accounts.
- Dashboards → Platform P&L — the whole platform (admin-only): total revenue, cost, and margin.
- Each dashboard supports a date range and caches for performance; figures are aggregated across accounts (cross-account view).
The three P&L levels
| Dashboard | Scope | Source |
|---|---|---|
| Account P&L | One account | AccountPL |
| Customer P&L | All accounts under a customer | CustomerPL |
| Platform P&L | Entire platform (admin-only) | PlatformCustomerPL / PlatformAccountPL |
Costs come from per-step AI spend (each model’s cost basis × usage); revenue comes
from subscriptions and extra-usage top-ups. The monthly roll-up is produced by the
MonthlyPLCalculator background function.
Markup
Customer-facing cost can carry a markup over raw AI spend. Markup is configured per the platform’s pricing policy and is reflected in Customer/Account P&L margin.
Budgets & spend control
- Budget enforcement — accounts have a production budget; the
BudgetEnforcementFunctiongate rejects new productions for an account that has hit its monthly limit (the operator sees a clear “budget limit reached” message rather than a silent failure). - Token allowance — each tier (Creator / Pro / Atelier) includes a monthly token allowance; extra capacity can be purchased. Operators see remaining allowance in the Console billing banner.
Exchange rates
Providers bill in different currencies. JARAI normalises spend using stored
exchange rates (ExchangeRate) so all P&L figures present in a single currency.
Rates are part of the platform bootstrap/seed data.
© 2026 JARAI STUDIO Ltd. All rights reserved.