Integraph

Cross-context visibility

What the Billing tab shows in Account Settings vs Organization Settings, why some sections are read-only, and how to navigate between them.

Two billing tabs, one user

There are two places you can open a Billing tab: Account Settings (always about you) and Organization Settings (about the org you are currently in). They look similar and share components, but they ask different questions and answer them from different perspectives.

Understanding which tab answers which question saves a lot of time when something looks wrong.

Account Settings → Billing

Opens from the avatar menu’s Account Settings entry, which is always visible.

This tab is scoped to your personal Stripe customer and your per-user entitlements. It shows:

  • Your personal subscription — if you have one. Editable: you can change tiers, cancel, or reactivate.
  • Entitlements granted by orgs you belong to — read-only. One section per granting org, showing which tools at which tier, and a “Manage in [Org] Settings” link that jumps you straight to that org’s billing tab (provided you have permission there).
  • Payment methods and invoices for your personal customer — editable. Org-side cards and invoices are not shown here.

The grouping is computed on the frontend from your full entitlement list, joined against the tool pricing catalog so each row shows the current monthly rate. No new backend endpoint was required to add this view — it reuses the existing auth/me and billing/prices queries.

Organization Settings → Billing

Opens from the avatar menu’s Organization Settings entry. This entry is only visible when you are in a team workspace — switch into a team org via the workspace switcher and it appears; switch back to your personal workspace and it disappears.

Scoped to the currently-selected org’s Stripe customer and the entitlements it grants. It shows:

  • This org’s subscription and per-member tier grid — editable by owners (see Managing org entitlements).
  • Members of this org with entitlements from other sources — read-only. Useful for owners doing capacity planning: “Alice already has personal ACS, so we don’t need to pay for it here”.
  • The org’s payment methods and invoices — editable by owners.

Why some sections are read-only

The read-only sections exist to solve a specific confusion: before unified visibility, if Alice subscribed personally to ACS and then joined Acme’s org, neither tab told her “you already have ACS from somewhere else”. She’d see the tool work fine but not understand why. She might try to cancel her personal sub without realizing she’d also lose what Acme wasn’t paying for. She might try to subscribe Acme to ACS without realizing she was already entitled.

Showing the foreign grants in both tabs — but read-only on whichever tab cannot change them — means the system has exactly one editable source of truth for any given grant, and users see the whole picture from either tab.

The navigation hints

Each read-only section includes a short header with the source org’s name and a link that takes you to the correct place to manage it:

  • Account Settings showing an org grant → link reads “Manage in [Org name] Settings” and navigates you into that org’s workspace (switching the workspace switcher) and opens its billing tab.
  • Org Settings showing a member’s personal grant → no direct link (you can’t manage another user’s personal subscription), but the row shows “granted by personal subscription” so owners know not to double-pay.

The avatar menu entries that take you between these two tabs are load-bearing for this navigation: Account Settings always points at your personal org’s settings page, and Organization Settings always points at the currently-selected org’s settings page. If you ever end up on the “wrong” tab, use the avatar menu rather than hand-editing URLs — the workspace switcher state and the settings page need to agree for the read-only/editable distinction to render correctly.

A worked walkthrough

Alice belongs to two team orgs (Acme, Beta) and has a personal ACS subscription. She opens Account Settings → Billing and sees:

  1. Personal subscription — editable showing ACS Web tier, active, next invoice in 12 days.
  2. From Acme Engineering — read-only showing LGS Web tier (owner: Bob, link: “Manage in Acme Engineering Settings”).
  3. From Beta Co — read-only showing GCS Web + API tiers (owner: Carol, link: “Manage in Beta Co Settings”).
  4. Payment method — her personal Visa ending 4242, one invoice from last month.

She switches to the Acme workspace and opens Organization Settings → Billing. The tab now shows:

  1. Acme’s subscription — the per-member tree with Alice, Bob, and Dave’s rows, LGS Web tier staged for each.
  2. Per-member entitlements from elsewhere — Alice’s row has a collapsed section “also has ACS Web (personal)” read-only; Bob’s row has a section “also has ACS Web + API (Beta Co)” read-only.
  3. Acme’s payment method and invoices — which Alice can only see because she’s an owner of Acme.

The two tabs show overlapping but differently-scoped slices of the same underlying entitlement universe. Once you understand which tab answers which question, diagnosing “why can’t I see X” becomes routine.