Tutorials Indie Dev Business Series Chapter 2

One LLC, Many Stripe Accounts

BusinessChapter 2 of the Indie Dev Business Series18 minJune 9, 2026Intermediate

In Chapter 1 you formed an LLC so there's one clean legal box your money flows through. Now you've shipped more than one thing — a Mac app on a subscription, a small web tool, maybe a second app on the way. A question shows up fast:

Do all of these share one Stripe account, or does each product get its own?

The wrong answer is "I'll figure it out later," because payments data is the one thing that's genuinely painful to reorganize after customers are paying. This chapter shows the pattern most indie multi-product shops land on: one legal entity, one Stripe Organization, and a separate Stripe account per product. You'll learn when the split is worth it, how to set it up, and how to migrate a product that's already taking money — without billing anyone twice.

One account or many?

Stripe lets you put many products and prices inside a single account. So technically one account can sell your Mac app subscription, a one-off web tool, and a future product all at once. The question is whether you want them tangled together.

Here's the trade-off, plainly:

One account, many productsOne account per product (under an Organization)
Setup effortLowest — nothing new to createOne organization + one account per product
PayoutsOne schedule, one bank line itemSeparate schedule and bank line per product
Receipts & brandingShared statement descriptor & emailsEach product brands its own checkout / receipts
Books / P&LYou split revenue by product in spreadsheetsEach product is already its own clean P&L
Risk isolationA dispute spike on one product can threaten all processingA problem on one account is contained
API surfaceOne secret key, one webhook, one set of price IDsSeparate keys / webhook / prices per product — more to wire
Selling / handing off a productPainful — you must untangle shared dataHand over (or shut down) one account cleanly

The short version: if two products share customers and you think of them as one business, keep them in one account. Add-ons, tiers, and bundles of the same product belong together. But the moment a product has its own brand, its own buyers, its own risk profile, or any chance you'll sell or spin it off — give it its own account.

What a Stripe Organization actually is

An Organization is a container that sits above your accounts. You sign in once and switch between accounts from the account switcher in the top-left of the Dashboard. Here's that switcher — this is the whole feature in one screenshot:

The Stripe Dashboard account switcher: an organization named 'Your Company, LLC' with two accounts under it — the flagship company account and a second app account — plus 'Create account' and 'Create organization' options.

Figure 1 — The organization (Your Company, LLC) is the top-level container. Under it sit individual accounts — here, the flagship company account and a separate Your Second App account. The Create menu is where you add another account or spin up a whole new organization.

What the organization gives you, for free, across every account inside it:

What it deliberately keeps separate, per account:

🏢Your Company, LLC
one legal entity · one EIN
🗂️Stripe Organization
one login · one team · consolidated reporting
Account
💳Flagship App
own keys · payouts · catalog · branding
Account
💳Second App
own keys · payouts · catalog · branding
Account
💳Future Product
add when you need it
Figure 2 — The hierarchy. Your LLC owns the organization; the organization groups accounts; each account is an isolated payments world that happens to share an owner.

Same entity, separate accounts

This is the part that confuses people: separate Stripe accounts do not mean separate businesses. Every account under your organization can point at the same legal entity — the LLC you formed in Chapter 1.

In practice that means each account's business profile carries the same legal name, the same EIN, and the same business address. Stripe still verifies each account individually (it'll ask for the entity details when you create it), but you're attesting to the same company every time. A few consequences worth knowing:

Setting it up

There are two phases: create the organization once, then add a new account every time you launch a product. Both run from the account switcher in the top-left of the Dashboard. Here's the real flow, screen by screen.

Phase 1 — Create the organization

1. Open Organizations. Click the account switcher and choose to create an organization. Stripe spells out what one buys you: global search with consolidated customer and transaction lists, centralized team management with SSO, and unified reports (even custom SQL) across every account. Click Get started.

Stripe's 'Stripe Organizations' intro modal listing the benefits — global search with consolidated customer/transaction lists, centralized team management with SSO, unified reporting — with a preview of an Organization containing two accounts.

Figure 3 — The Organizations intro: one login, consolidated reporting, and centralized team management across every account. Click Get started.

2. Name your organization. Name it after your legal entity — Your Company, LLC — so the top-level container matches the name on your tax return. You can rename it anytime. Click Next.

Stripe's 'Name your organization' step with the name field set to 'Your Company, LLC' and a preview showing the organization nesting its account underneath.

Figure 4 — Name the organization after your legal entity; the preview shows your accounts nesting under it.

3. Add your existing accounts. Stripe lists every account where you're the Super admin or Admin. Select all the product accounts you want grouped under this entity — your flagship app, your second app, anything else — then click Create. (Creating the organization accepts Stripe's Terms of Service.)

Stripe's 'Add accounts to your organization' step with two accounts selected — 'Your Company, LLC' and 'Your Second App' — and a preview tree of the organization containing both.

Figure 5 — Select every product account you want grouped under the entity, then Create.

4. You're organized. The switcher's top-left now reads Your Company, LLC · Organization with an "N accounts" link, and the dashboard gains an Organization performance panel — consolidated gross volume across every account. That single roll-up is the consolidated-reporting benefit, live.

The Stripe account switcher after creating an organization: the top-left header now reads 'Your Company, LLC · Organisation', the dropdown lists the grouped accounts with one selected, and the right panel shows a consolidated 'Organisation performance' view.

Figure 6 — Once the organization exists, the switcher's top-left flips to show it, every account is grouped underneath, and the dashboard gains a consolidated Organisation performance roll-up across all of them.

Phase 2 — Add a new product as its own account

Every time you launch something new, give it its own account inside the organization.

5. Create account → inside your organization. From the switcher choose Create account. Stripe asks how to organize it:

Stripe's 'Create a new account' step with two options: 'Create an account in your organisation' (selected, shares data/team/reporting with Your Company, LLC) versus 'Create a separate account'.

Figure 7 — Pick Create an account in your organisation (left) so the new product shares team and reporting with the rest of your entity — not a fully separate account.

6. Name it after the product. Use the product's own name: if the site is yourproduct.com, name the account YourProduct. A readable account name keeps the switcher sane once you have several. Pick the Country of operation, then Next.

Stripe's 'Name your new account' step with the name field set to 'Your New Product' and a preview tree showing the new account joining 'Your Company, LLC' and 'Your Second App' under the organization.

Figure 8 — Name the new account after the product (here, Your New Product), not the LLC — this is the customer-facing operating name. Pick the country, then Next.

7. Bootstrap from an existing account. Stripe offers to copy eligible details from an account you already have, so you don't re-key everything:

Then click Create account.

Stripe's 'Use existing account information' step: Management and ownership and Public account details both set to 'Your Company, LLC', a 'Use this account's branding' checkbox, and a payout bank account field (blurred), with a preview tree of the three accounts.

Figure 9 — Bootstrap from an existing account: keep Management and ownership on your LLC, decide on branding, and pick the payout bank — then Create account.

8. Activate it — finish the Setup guide. Creating the account doesn't make it live. Each new account gets its own activation checklist: the Setup guide (bottom-right of that account's Dashboard) walks you through verifying your business — your LLC's details, a business representative, and a bank account — before Stripe will accept real payments. Same legal entity as your other accounts, so the details match, but Stripe verifies each account independently. Click into the Setup guide, work through the steps, and the account flips from test-only to live.

Managed Payments also asks you to classify what you sell"Tell us what you sell most." The category (SaaS for business use, SaaS for personal use, a downloadable game, and so on) tells Stripe how to tax the product, since digital goods are treated differently across jurisdictions. Pick the one that fits best — you can override it per product later.

Stripe then asks which products to enable. These are just capabilities — switch them on freely, since enabling one commits you to nothing and you can add or remove later. For an indie product, turning on all of them is fine:

Turn on recurring payments and Stripe asks how you want to bill — pick the model that matches your customers:

Selling a consumer app? Flat rate. Selling a team tool billed per user? Seat-based.

Choosing your payment integration

Stripe then asks how you want to accept payments. The two options in the Setup guide — Shareable payment links and Prebuilt checkout form — are just the entry point to a broader spectrum that runs from no-code to fully custom. Here's the whole lineup so you can pick deliberately:

IntegrationCode levelWhere it livesBest for
Payment LinksNo-codeStripe-hosted URLShare a link over email / SMS / social — no website needed
Checkout — hosted pageLow-codeStripe-hosted (redirect)Most products; Stripe's recommended starting point
Checkout — embedded formLow-codeEmbedded on your siteKeep customers on your domain, no redirect
Payment Element (Elements)CustomEmbedded on your siteA fully custom checkout UI you design
Direct APIFully customYour infrastructureBespoke or legacy flows; maximum control

The trade-off is always the same: the more Stripe hosts, the more it handles for you — PCI compliance, 125+ payment methods, subscriptions, tax, Link, promotions — and the less you customize. Walking the list:

Rule of thumb: start at the top of the table and only move down when a real requirement forces you to. For a website, embedded Checkout is the sweet spot — your domain, Stripe's compliance, minimal code. Full details and code samples are in Stripe's Checkout docs.

The activation checklist runs Verify your business → Add your bank → Add extras → Review and submit. The extras are optional — for example Stripe Climate, which directs a small fraction of revenue (default 1%) to permanent carbon removal and shows a badge at checkout. Pick a percentage or skip it entirely; it's changeable anytime.

Submit the checklist and — for most low-risk businesses — review is often instant: you land straight on the You're now in your live account screen. Stripe then offers to copy your sandbox setup over (products, prices, webhooks, branding) so you don't rebuild it by hand, or to start clean. If you built and tested in test mode first, Choose what to copy is the real time-saver.

9. Brand and wire the new account. After it's created, set its statement descriptor (what shows on a card statement), logo, and checkout colors in Settings → Branding. Then grab its own secret key, publishable key, webhook signing secret, and price IDs / Payment Link URLs to wire into your app — kept strictly separate per product (see the next section).

Migrating a product that's already taking money

Creating a brand-new account for a brand-new product is easy. The hard case is splitting an existing product out of a shared account into its own when it already has live subscribers. Here's the honest truth Stripe won't put on a billboard: you cannot move a product between accounts with one click. Accounts are isolated by design.

What can and can't cross between two of your own accounts:

There are two sane ways to do this. Pick based on how many live subscribers you have.

Strategy A — Parallel cutover (best when you're small)

If the product just launched and has a handful of subscribers, don't bother with a formal data copy at all:

  1. Stand up the new account and rebuild its catalog (products, prices, Payment Links).
  2. Point all new signups at the new account today.
  3. Let existing subscriptions keep billing in the old account until they renew or churn.
  4. Optionally nudge current subscribers to re-subscribe on the new account (a small thank-you/discount helps).
  5. When the old account's last subscription lapses, archive it.

Zero PCI paperwork, zero risk of double-charging, and you're cut over in minutes. The only cost is that the old account lingers for one billing cycle.

Strategy B — Full copy (when real revenue is at stake)

When you have enough subscribers that asking them to re-subscribe would lose you money, do the supported migration:

  1. Build the new account's catalog (products + prices) so there's somewhere to land.
  2. Request Stripe to copy Customers + card data from the old account to the new one. Wait for confirmation (days to weeks — plan around it).
  3. Use the Billing migration toolkit to recreate subscriptions in the new account against the copied payment methods. Preserve each subscription's billing anchor so renewal dates don't shift.
  4. Cut over carefully to avoid double billing: as each subscription goes live in the new account, set the matching one in the old account to cancel at period end (not immediately — let the current paid period stand). Reconcile the two lists so no customer is active in both at once.
  5. Repoint your app's keys, webhook, and price IDs to the new account (next section). Keep the old account read-only for history.

How many accounts — and reusing one when a project dies

A few questions come up once you're comfortable spinning up accounts:

How many can one organization hold? Up to 75 accounts, and each account belongs to exactly one organization. For an indie shop that's effectively unlimited — you'll run out of product ideas long before you run out of account slots.

Should an experiment get its own account? It depends how real it is:

The experiment flopped — now what? A Stripe account isn't married to a domain, so you can repurpose it for your next project instead of letting it rot:

  1. Rename it in Settings → Account (the Dashboard label).
  2. Re-brand it — new logo, icon, and colors in Settings → Branding.
  3. Update the statement descriptor to the new URL in Settings → Public details. Renaming the account does not auto-update the descriptor — change both.
  4. Archive the dead products and add the new ones.

Because the legal entity never changes — same LLC, same EIN — Stripe doesn't re-verify you. (The W-8/W-9 only resurfaces if your legal name, tax ID, or business type actually change, which they don't here.)

Wiring your app for multiple accounts

Once each product is its own account, your backend has to stop assuming "Stripe" is a single thing. Take a concrete stack — a Mac app sold through Stripe Payment Links, with a Cloudflare Worker + D1 database flagging who's subscribed (the architecture this very site runs on). To go multi-account:

Mini-exercise

Sketch your account map on one sheet of paper before you create anything in Stripe:

  1. Write your LLC's legal name and EIN at the top — that's the shared entity for every account.
  2. List every product you ship or plan to ship in the next year.
  3. Next to each, mark share (lives in your main account) or split (its own account). Use the table at the top of this chapter to decide.
  4. For each split product, write the four things it will need: secret key, webhook signing secret, price IDs, and Payment Link URL(s).

If you can fill that sheet in confidently, you're ready to click Create.

Challenges

  1. Decide the split. You ship three things: a paid Mac app (subscription), a free web tool with an optional one-time "tip," and an early-access beta of a brand-new app. Which share an account and which get their own? Justify each choice using risk isolation and branding, not just effort.
  2. Plan a parallel cutover. Your web tool currently bills 40 subscribers inside your main account. Write the day-by-day plan to move it to its own account using Strategy A, including exactly when each old subscription stops billing.
  3. Design the key namespace. You expect four products within two years. Write the full set of environment-variable names your Worker will need so that no two products' keys can ever be confused, and note where each secret is stored.
  4. Spot the double-charge. In a Strategy B migration, describe the precise sequence of API states (old subscription, new subscription) that would cause a customer to be billed twice in one month — then describe the ordering that prevents it.

Key Points

Where to go deeper

The official Stripe docs are the source of truth as features evolve:

You now have the structure to ship a portfolio of products under one clean entity — each isolated where it counts, all rolling up to the single LLC on your tax return.

Ch 1: LLC for App DevelopersCh 3: ASO Tools That Write Back
Ship iOSShip iOS Apps SeriesShipping workflows for iOS apps: signing, TestFlight, App Store Connect, CI, and release hygiene.TeardownApp Teardown SeriesApp business and design teardowns covering onboarding, paywalls, ASO, retention, and monetization.DeliveryModern Delivery PipelineCI/CD, review, runner, and deploy workflows for teams shipping apps and websites safely.

Ship your apps faster

When you're ready to publish your Swift app to the App Store, Simple App Shipper handles metadata, screenshots, TestFlight, and submissions — all in one place.

Try Simple App Shipper
5 free articles remainingSubscribe for unlimited access