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.

Attribution only

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]).
Gross vs. net payout

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

http
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_):

http
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.