Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School & Business Manager. Use when a developer has multiple apps, a subscription worth sharing, complementary indie partners, or school/clinic/business buyers.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add rshankras/claude-code-apple-skills --skill bundles-and-licensing --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Bundles And Licensing?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/rshankras-bundles-and-licensing)More formats (shields.io, HTML) on the badges page.
---
name: bundles-and-licensing
description: Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School & Business Manager. Use when a developer has multiple apps, a subscription worth sharing, complementary indie partners, or school/clinic/business buyers.
allowed-tools: [Read, Write, Edit, Glob, Grep]
last_verified: 2026-07-16
review_by: 2027-06-22
---
# Bundles & Licensing
Four ways one piece of software earns more than one price tag.
## When This Skill Activates
- A portfolio developer asks how apps can sell each other ("bundle my apps?")
- Deciding whether to enable Family Sharing on a subscription or purchase
- Exploring partnerships with complementary indie apps
- Schools, clinics, or businesses keep asking "how do we buy 30 seats?"
- The store-growth audit flags P8.5, P8.6, or P8.7
## 1. Own-app bundles (available now)
App bundles group up to 10 of your own paid apps — or apps sharing a subscription — at a bundle
price, with **Complete My Bundle** crediting what a user already paid.
- ✅ Portfolio play: your catalog cross-sells itself on every member app's product page — a
discovery surface, not just a discount (pairs with the checkbox-storefront and portfolio
tactics in `app-store/marketing-strategy`).
- ✅ Price the bundle at "second app ~half off, third+ nearly free" — the goal is basket size
and page presence, not margin per unit.
- ❌ Bundling apps with no shared audience; the bundle card confuses both product pages.
- Mechanics: paid apps only (or one subscription spanning the bundle); free apps can't bundle.
## 2. Family Sharing (available now — chronically under-enabled)
A checkbox per IAP/subscription in ASC, plus StoreKit handling for shared entitlements. One
purchase covers up to 5 additional family members — 6 entitlements, "6 for the price of 1".
- ✅ Enable for subscriptions whose *job* is shareable (utilities, education, health, home) —
"the whole family for one price" beats a 6× cheaper feel at maybe 1.5× usage cost, and it's a
paywall differentiator against non-sharing competitors.
- ✅ Drive paywall copy off `isFamilyShareable` rather than hardcoding "share with your family".
- ✅ Distinguish `ownershipType` — `PURCHASED` vs `FAMILY_PURCHASED` — to tailor onboarding;
the family member never saw your paywall or purchase flow.
- ✅ Family entitlements arrive *outside* any purchase flow, and after a deliberate delay (the
purchaser gets a window to disable sharing first) — listen on `Transaction.updates`, and
check entitlement before merchandising (a family member may already be covered).
- ✅ Handle `revocationDate` + the REVOKE server notification by re-deriving entitlements from
the full transaction history; test the revoked-from-family path.
- ❌ Enabling it on a per-seat B2B-ish product where sharing cannibalizes real seats — that's
what volume licensing (below) is for.
- One-way door: enabling takes effect **within hours for new and existing customers** and is
irreversible — turning it off only affects new purchases.
## 3. Cross-developer bundles & suites
Combined subscriptions spanning apps from *different* developers — the "indie suite" model
(several complementary tools, one subscription).
- The unlock: each partner's install base becomes the others' warm audience — distribution
cheaper than any paid channel.
- ✅ Partner selection: same buyer, adjacent jobs, no feature overlap (writing tool + reference
manager + focus timer, not three writing tools). Draft revenue-share on *attribution of the
acquiring app*, not equal splits.
- ✅ Verify current ASC mechanics before promising a ship date — cross-developer suites are a
recent capability and terms/tooling are still settling; the fallback is coordinated own-app
pricing + mutual offer codes (`generators/offer-codes-setup`).
- ❌ Partnering with an app whose rating or privacy posture you wouldn't put your name on — a
suite shares reputational blast radius (run `app-store/originality-check` thinking on partners).
## 4. Group Purchases & Volume Purchasing — institutional sales
Live for all auto-renewable subscriptions using StoreKit 2 (StoreKit 2 required). ON by default
for most new and existing StoreKit 2 subscriptions — but Family Sharing-enabled subscriptions
are opted OUT by default. Configure per subscription in ASC.
Two sale paths, same seat pool:
- **In-app group purchases** — a customer buys N seats, shares an invite link, and accepters are
auto-assigned to seats.
- **Volume purchasing** through **Apple Business Manager / Apple School Manager** — the
institutional channel for schools, clinics, and businesses.
Mechanics:
- **Volume pricing = up to 5 price bands**, with full control of seat thresholds and each band's
price. The default is every seat at the current price — no discount exists until you configure
bands (e.g., $19.99 → $13.99 at 21–40 seats → $10.99 at 41+; a 50-seat purchase then averages
~20% off).
- ✅ Prefer the built-in seat management (invites, acceptance tracking, seat lifecycle) unless
you already run member management — then use the App Store Server API group endpoints instead.
- ✅ Merchandise the group value in-app — buyers won't discover multi-seat pricing on their own.
- ✅ Education/health apps: this often outearns consumer conversion optimization by an order of
magnitude — one district buys more seats than a year of paywall A/B tests adds.
- ❌ Building custom seat management UI before validating a single institutional buyer exists —
the built-in flow covers the first sale.
- Custom Apps via Apple Business Manager remain the path for bespoke B2B distribution; Group
Purchases brings multi-seat to the mainstream store — different tools, same buyer.
- Reference: the WWDC26 session on group purchases and volume purchasing.
## Decision sketch
| You have | Reach for |
|---|---|
| 2+ paid apps, shared audience | Own-app bundle |
| A shareable-job subscription | Family Sharing on |
| A complementary indie peer with real traffic | Cross-developer suite (or mutual offer codes today) |
| Institutions asking to buy seats | Group Purchases / volume price bands (live — configure in ASC) |
## Output Format
```
Portfolio: bundle-eligible apps? bundle live? Complete-My-Bundle pricing sane?
Family Sharing: enabled where the job is shareable? entitlement handling tested?
Partnerships: candidate named? terms sketched?
Institutional: demand evidence? seats model drafted? volume price bands configured?
```
Each gap routed to the numbered section above; StoreKit implementation to
`generators/subscription-lifecycle`, offer distribution to `generators/offer-codes-setup`.
## References
- https://developer.apple.com/help/app-store-connect/create-an-app-bundle/
- https://developer.apple.com/documentation/storekit/supporting-family-sharing-in-your-app
- https://support.apple.com/guide/apple-business-manager/welcome/web
- Related skills: `monetization` (pricing/tiers), `generators/subscription-lifecycle`, `generators/offer-codes-setup`, `growth/store-growth-audit`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!