KamoCRM

Scope member entitlements to product root, not KamoCRM

FeatureSecurityService
Shipped
9 ஜூன், 2026 அன்று 11:52 PM UTC
Author
Kamo
Commit
2d209dd

EntitlementService now resolves each member's entitlement root via EntitlementRootResolver (nearest market-owning ancestor-or-self) instead of walking to the top-level org. The Free-tier floor and the product-access flag derive from that root, and isKamoCrmSubscription becomes subscriptionGrantsRootAccess (plan-org vs root, never the billing account). MemberEntitlements gains productRootOrgId so consumers gate access against the right product. BillingSetupService sources the market + Free plan from the new org's product root while keeping the billing Account on the top-level KamoCRM org — i.e. the parent owns billing, the child can own the product/market. Behaviour is unchanged until an org actually owns its own market (KamoCRM is the only market owner today, so every member still resolves to it).

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing