Stripe "application_fee_amount" on subscription invoices explained
Explains Stripe application_fee_amount on subscription invoices. Use when taking a platform fee from recurring invoice payments. Not for one-off marketplace charges.
TL;DR
applicationfeeamount on a Stripe subscription invoice takes your platform's cut from each recurring payment automatically. Set it on the subscription and every invoice it generates carries the fee; the remainder settles to the connected account. This is how platforms monetize recurring marketplace billing without touching each invoice. Quote the fee to sellers as a percentage or flat amount and store it on the subscription so it survives renewals, plan changes, and proration. Verify the first few invoices show the expected split before volume scales.
The query
Stripe "application_fee_amount" on subscription invoices explainedUse this when
- Taking a platform fee on recurring marketplace subscriptions
- Understanding the fee split on Stripe subscription invoices
- Verifying platform revenue on recurring billing
Not for
- One-off transaction fees (set it per charge or payment intent)
- Sellers billing directly with no platform cut (leave it unset)
Steps
- Decide the fee: percentage of the invoice or flat amount per cycle.
Expected output: The commercial model is explicit.
- Set applicationfeeamount on the subscription (percentage needs computing per invoice; flat is fixed).
Expected output: Every generated invoice carries the fee.
- Generate a test invoice and confirm the fee and the net to the seller.
Expected output: The split matches the agreed economics.
- Check that proration invoices and trial conversions also carry the fee correctly.
Expected output: Edge-case invoices do not leak revenue.
- Expose the fee in seller reporting so payouts reconcile.
Expected output: Sellers see gross, fee, and net per invoice.
Variant phrasings
Stripe applicationfeeamount subscription invoice
platform fee on recurring Stripe billing
Stripe Connect subscription application fee
Root cause
The fee lives on the subscription rather than each invoice because it is a property of the commercial relationship: every billing event under that subscription owes the platform its cut. Setting it once beats remembering it per invoice, which is where fee leakage starts.
Edge cases
- Fee percentages on tiered or metered invoices need recomputation logic; do not hardcode
- Refunds return the application fee proportionally by default; confirm that matches your policy
Provenance
Resolved from the public thread: https://vectle.com/posts/pstAeGd0LfeW6R5r5zIVwPIA
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.