For thirteen years, every dollar an iOS app earned from a US customer flowed through exactly one pipe: Apple's in-app purchase system, with Apple taking its cut before a developer ever saw the money. That changed in April 2025, when a federal judge found Apple in contempt of the original Epic v. Apple injunction and ordered it to stop charging any commission on purchases made through external payment links. Then it changed again in December 2025, when the Ninth Circuit agreed Apple could eventually charge something — just not the punitive 27% fee it had tried first. And it may change once more, because on July 2, 2026, the Supreme Court agreed to hear Apple's appeal of the whole mess.
If you sell digital goods or subscriptions through an iOS app, you're now sitting on two live revenue channels with two different sets of tax obligations, two different merchants of record, and — as of today — two different commission rates. Here's what actually changed, what's still unresolved, and how to keep your books straight while the lawyers finish fighting.
How We Got Here, in Plain English
The short version of a five-year legal saga:
- 2021: Judge Yvonne Gonzalez Rogers ruled Apple's "anti-steering" rules (which barred apps from even telling users they could pay outside the app) violated California's Unfair Competition Law. She ordered Apple to allow external purchase links.
- 2024: Apple complied on paper but attached a 27% commission to any sale made within seven days of a user tapping an external link — plus contract terms Epic argued were designed to make external links commercially pointless.
- April 2025: Judge Rogers found Apple in contempt, ruled the 27% fee "punitive" rather than compensatory, and ordered Apple to stop charging any commission on external-link purchases in the US, effective immediately.
- December 2025: The Ninth Circuit largely upheld the contempt finding but sent the commission question back to the district court, holding Apple may eventually charge a fee "based on the costs that are genuinely and reasonably necessary for its coordination of external links... but no more" — explicitly excluding security and privacy costs Apple had tried to bake in.
- April 2026: The Ninth Circuit lifted a stay, letting the remand process move forward.
- July 2, 2026: The Supreme Court granted certiorari on Apple's appeal.
Where that leaves things today: US developers can add external purchase links with 0% Apple commission, because no court has yet approved a specific replacement rate. That could change the moment the district court sets one, or if the Supreme Court's eventual ruling reshapes the whole framework. Don't build a permanent pricing strategy on today's number — build a bookkeeping system flexible enough to absorb whatever rate lands next.
What You Can Actually Do Right Now
If you're a US-based developer with an iOS app, you can apply for Apple's External Purchase Link Entitlement, which lets you:
- Add a link or button inside your app directing users to a web page to complete a purchase
- Communicate pricing and promotions related to that external purchase (previously banned under the old anti-steering rules)
- Process that transaction entirely outside Apple's in-app purchase system — through Stripe, Paddle, your own merchant account, or any processor you choose
You're still required to report qualifying external-link transactions to Apple, generally within 15 days, so Apple can track compliance even while it collects $0. Miss this and you risk entitlement revocation, so it belongs on a recurring bookkeeping checklist, not just a launch-day task.
Two carve-outs to know: developers in Apple's Volume Purchase Program (VPP) and News Partner Program (NPP) may still face restrictions on external links, and the EU operates under a completely separate fee structure (Digital Markets Act rules with a layered Core Technology Commission, Initial Acquisition Fee, and store-services fee) that has nothing to do with the US litigation above. If you sell in both markets, you need two different accounting treatments, not one.
Why This Is a Bookkeeping Problem, Not Just a Legal One
Before external links, your App Store accounting was almost mechanically simple: Apple was the merchant of record, Apple collected sales tax and VAT, Apple deducted its 15% or 30% commission, and you booked one net deposit per pay period, typically reconciled against a single 1099-K or 1099-MISC each January.
External-link sales blow that up into a second, structurally different revenue stream:
| In-App Purchase | External Link Purchase | |
|---|---|---|
| Merchant of record | Apple | You (or your payment processor) |
| Sales tax / VAT collection | Apple's responsibility | Your responsibility |
| Commission today (US) | 30% standard / 15% Small Business Program | 0% (pending district court ruling) |
| Payout timing | Apple's standard schedule | Whatever your processor sets |
| Tax form | 1099-K or 1099-MISC from Apple | 1099-K from your processor, if thresholds met |
| Refund handling | Through App Store | Through your own support flow |
That last row matters more than it looks. When a refund happens on an in-app purchase, Apple reverses the transaction and adjusts what it reports to you. When a refund happens on an external-link purchase, you have to process it, and it never touches Apple's books at all — which means your revenue and refund records for the two channels won't reconcile against each other, and shouldn't be forced to.
Setting Up Your Books for Two Revenue Channels
A few concrete moves that keep this from turning into a January surprise:
1. Split the revenue account. Don't lump "App Store Revenue" into one ledger line. Create separate accounts (or at minimum, separate tags/categories) for in-app purchase revenue and external-link revenue. When the commission rate on external links eventually lands — 5%, 12%, whatever the district court picks — you'll want historical data on that channel's volume to model the impact before it hits.
2. Book revenue net of commission, but track gross separately. Standard software-revenue practice under ASC 606 is to recognize the amount you were actually entitled to receive — net of Apple's cut — as revenue, since the commission never belonged to you. But for reconciliation and future modeling, keep gross transaction volume in a memo field or reporting tag. You'll want it the day a commission rate is announced, so you can immediately estimate the hit.
3. Treat sales tax collection as a new liability account. If you're now the merchant of record on external-link sales, you (or your payment processor) are responsible for collecting and remitting sales tax in every state where you have nexus — a responsibility Apple silently handled for you inside the app. If your processor doesn't handle tax automatically (Stripe Tax and Paddle's merchant-of-record model both offer this differently — check which one your processor is), this is the easiest place to quietly under-collect for months before an audit catches it.
4. Reconcile two 1099s, not one. Come January, you'll likely receive a 1099-K or 1099-MISC from Apple for in-app revenue and a separate 1099-K from whatever processor handled your external-link sales (once you cross the federal $600 threshold — lower in some states). Match both against your internal ledger before filing; a mismatch between what a processor reports and what you recorded is one of the more common triggers for an IRS notice.
5. Log the 15-day reporting cadence. Apple's reporting requirement for external-link transactions is a compliance task with real consequences (entitlement revocation) if it slips, so it belongs in whatever system you use to track recurring bookkeeping tasks — not just tribal knowledge.
A Framework That Doesn't Care Which Way the Ruling Goes
Because the commission rate is still unsettled — and could be relitigated again after the Supreme Court rules — the actual engineering task here isn't "build for 0%." It's building a chart of accounts and reporting structure that treats commission rate as a variable, not a constant. Plain-text, version-controlled ledgers make this specific problem easier than spreadsheet-based bookkeeping: you can tag every external-link transaction with its channel and commission rate at the time of sale, then re-run a report the moment a new rate is confirmed, without touching historical entries or breaking a formula three tabs deep in a workbook.
Keep Your App Revenue Organized From Day One
Splitting revenue across App Store in-app purchases, external payment links, and an EU fee structure that follows entirely different rules is exactly the kind of multi-channel complexity that turns tax season into a scramble. Beancount.io gives you plain-text, version-controlled accounting where every transaction can be tagged by channel, commission rate, and jurisdiction — fully transparent and queryable, with no vendor lock-in. Get started for free and keep your app's finances as clean as your code.