Revenue & accounting
Attribute each app's revenue to a legal entity (e.g. a Series-LLC cell), export per-entity statements, and pull the numbers into your accounting tool or finance portal over the API.
EntitleHub reports the split; it never holds or moves money. Apple and Google are the merchant of record and pay you directly. Use these numbers for bookkeeping and to allocate your payout across entities.
Concepts
- App — a project. Each has its own catalog, keys, and revenue.
- Entity — a legal entity / Series-LLC cell you attribute apps to. Create them in Dashboard → Accounting, then assign each app.
- Allocation — for a period: gross (list price), refunds, net, each entity's share %, and an estimated payout (net × [1 − store fee]).
EntitleHub tracks gross list-pricerevenue from purchase events — not the exact bank payout (store fees, taxes, and FX are netted by Apple/Google downstream). The reliable move: apply each entity's share %to your actual payout amount. Exact-net reconciliation from the stores' financial reports is on the roadmap.
Dashboard & CSV
Dashboard → Accounting shows per-entity tables for a period and a CSV export (one row per app with its entity + amounts) that imports into QuickBooks, Xero, Wave, or a spreadsheet.
API — for a finance portal
Two endpoints, depending on scope. Base https://entitlehub.com.
Account token (for cross-app finance)
A finance portal that spans all your apps uses an account token (eht_live_…) — generate it in Dashboard → Accounting → Finance API. It's account-scoped and read-only. (This is separate from a project's pk_/sk_ keys, which are scoped to one app.)
GET /v1/allocations — full allocation, one call
GET /v1/allocations?from=2026-07-01&to=2026-07-31
Authorization: Bearer eht_live_…
200 OK
{
"from_ms": 1751328000000, "to_ms": 1753920000000,
"total_net_micros": 984210000, "currency": "USD",
"entities": [
{
"id": "ent_…", "name": "Series A, a series of DanCue LLC",
"store_fee_pct": 30, "share_pct": 62.4,
"gross_micros": 620000000, "refunds_micros": 6000000, "net_micros": 614000000,
"estimated_payout_micros": 429800000,
"apps": [
{ "project_id": "proj_…", "name": "StatSnap",
"gross_micros": 620000000, "refunds_micros": 6000000, "net_micros": 614000000 }
]
}
// … more entities; unassigned apps appear under an entity with "id": null
]
}Amounts are micros (1,000,000 = $1.00). Add &format=csv for a CSV download. Defaults to the last 30 days.
GET /v1/revenue — one app
Per-app revenue with a project key (pk_ or sk_):
GET /v1/revenue?from=2026-07-01&to=2026-07-31
Authorization: Bearer pk_live_…
200 OK
{
"app": "proj_…", "currency": "USD", "transactions": 412,
"gross_micros": 620000000, "refunds_micros": 6000000, "net_micros": 614000000,
"by_store": [ { "store": "play", "gross_micros": 410000000, "net_micros": 406000000 },
{ "store": "app_store", "gross_micros": 210000000, "net_micros": 208000000 } ]
}Multiple apps
Own several apps under one account? Use the app switcher (top of the dashboard) → New app. Each app is its own project; the allocation groups them by entity, and /v1/allocations returns them all together.
