Rebuild member Plans & Billing around Billing Groups

Featurekamo-internal
Shipped
April 23, 2026 at 8:23 PM UTC
Author
kamo
Commit
770b477

- Member page Plans & Billing tab is now right-aligned with a pulsing glow and a StarRate icon on the tab bar. Visible when the viewed member is the signed-in user OR the signed-in user owns the org. Contents split into four sub-tabs: Subscriptions, Invoices, Payment Info, Manage Group. Billing-group selector dropdown + "Add Billing Group" icon button live on the right of the sub-tab bar; the group selection drives every panel. - Subscriptions panel shows one card per active market (FREE_DEFAULT KamoCRM always present), with change-plan / cancel / reactivate and a per-seat license-assignment grid. Priority auto-deactivation runs server-side on seat reduction. - Payment Info panel wraps Stripe Elements via StripeProvider + a refactored PaymentMethodForm that attaches to a billing group (not the old org-level customer). - Manage Group panel edits title / billing contact / member permissions (Licensee, Group Plan Manager, canManageSubscription, canManageBilling) and adds/removes members. The Default Group is read-only — its roster is implicit (everyone not in an explicit group), and no title or permission edits are allowed. - /settings/account?tab=billing deleted outright. BillingManager + PlanCalculator removed. Links everywhere updated to the new member Plans & Billing tab. - SettingsStatusWindow + /settings landing nav both pruned (three-way sync per the nav-sync rule). - BranchSetupManager gets a new "Commerce Markets" section inside the security-model editor, using the new SecurityModelMarketController to attach/detach SUBSCRIPTION markets with per-scope Public/Member/ Team-Member toggles. - **************** rewritten to show per-org Billing Groups + per-group subscriptions + MRR. /settings/platform/events and /settings/platform/plans become placeholder pages (their old contents are gone with the clean-slate cut). - New API proxies: /api/security/entitlements and **************** New useEntitlements hook consumes SecurityService EntitlementService for feature-gating in the UI. Legacy consumer files (StatsManager, FeaturesManager, BranchSetupManager) carry @ts-nocheck until their subscription-based gating code is reworked onto useEntitlements.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing