|
If you’re building and selling software, there are multiple ways to set up your revenue infrastructure.
One approach is to use a standard payment processor (like Stripe or PayPal) and build out the rest of the stack yourself. Another option is to work with a merchant of record (MoR), which takes on a broader operational role, including legal and tax responsibilities.
If you choose the former, it may come with an additional cost. We call this the Indie Tax: the often-unseen cost of choosing a DIY setup without factoring in everything that comes after launch.
In this post, we’ll break down what’s typically included in both approaches to help you evaluate which model fits your needs best.
Let’s get started.
At a Glance: The Total Cost of Stripe at $10k/Month
Stripe’s 2.9% + $0.30 per transaction sounds straightforward, but once you factor in international fees, foreign exchange (FX), failed payments, compliance tools, and your time, the real cost inflates to a number that you probably haven’t budgeted from the start.
Here’s what the math looks like for $10K MRR with ~300 transactions (average $33 each) if you sell your software globally. A simple scenario assumption:
- $10,000 monthly revenue
- ~300 transactions (avg. $33)
- 70% international buyers (realistic for US-based sellers)
- Business uses Stripe Billing, Invoicing, and Stripe Tax
- Fraud protection (Radar) enabled
- Payout currency conversion required
- 2 dispute cases/month
Cost component | Rate | Estimated cost (USD) |
Base transaction fee | 2.9% of $10,250 + 300 × $0.30 | ~$297 + $90 = $387 |
International card fee | 1.5% on 70% of $10K = $7,000 | $105 |
Subscription billing | 0.7% of $10K | $70 |
Invoicing | 0.4% of $10K | $40 |
Tax calculation (Stripe Tax) | 0.5% of $10K | $50 |
Fraud protection (Stripe Radar) | $0.20 × 300 transactions | $60 |
Currency conversion (FX) | 2% on $7,000 (international volume) | $140 |
Dispute fees | $15 × 2 disputes | $30 |
Total Stripe fees | ~$882/month |
So, simply put:
Effective cost:
|
Also, note that Stripe charges its 2.9% fee on the full transaction amount, including any sales tax, VAT, or GST. If 25% of your sales include a 10% tax, Stripe calculates its fee on $10,250, not $10,000.
Most makers don’t realize they’re also paying fees on the tax portion, unless they pass it on to the buyer.
So, what looks like a simple 2.9% fee can grow to nearly 9% of your revenue when you account for all the extra features and necessary third-party tools that often go overlooked. And that’s before considering the mental load of juggling multiple tools and processes each month.
These aren’t hidden fees. But they’re easy to overlook if you’re only focused on the initial pricing page.
“Stripe is very transparent about its core fees, which is great. The challenge is that some of the other costs, things like handling taxes, failed payments, or compliance, aren’t so obvious when you’re starting out. They only reveal themselves as you grow, and that’s when they can really add up,” says Vova Feldman, CEO of Freemius.
If you want to see the actual fee percentage for yourself, you can calculate your effective Stripe rate directly from your dashboard.
Here’s how:
1. Go to: https://dashboard.stripe.com/reports/balance
2. Select a reporting period (for instance, last 30 days)
3. Use the following formula:
Effective rate =
SUM(Charges Fees + Dispute Fees + Additional Fees) |
This will give you a true picture of what Stripe is actually costing you, including any disputes, FX adjustments, and additional services like Billing, Tax, and Radar.
For indie makers at $10K MRR, that’s hundreds of dollars lost (not to mention hours you could have spent shipping new features). Florian Vizethum, founder of WordPress plugins like ClickWhale, knows this well:
“We used to manage three stores using Stripe through Easy Digital Downloads. That setup worked, but we had to add a few extra services on top to cover everything we needed.”
Now, let’s break down Stripe’s fees in detail.
Stripe’s Surface Fees: (International) Transactions and FX
Stripe’s headline rate seems fair and simple enough. And if you’re running a small shop with mostly local customers, it is. But when you start scaling and selling internationally, that percentage is just the prologue.
International Fees
Stripe adds an extra 1% for any card issued outside your home country.
If 40% of your customers are international (pretty common for plugins and SaaS), that’s an additional $40 every month on $10K revenue. Ok, not a fortune, but we’re not done…
Currency Conversion (FX)
If your customers pay in a different currency than your payout account, Stripe applies a 1% conversion fee.
It’s a standard charge, but one that’s easy to miss when you’re not thinking about cross-border sales from day one.
Recommended reading: Why Offering Multi-Currency Support and Pricing Is Essential for Software Creators
Put it all together, and your “2.9% + $0.30” is closer to 4% of your revenue before you’ve even looked at refunds, chargebacks, or compliance costs. And the more you grow, the bigger the bill.
Note: These extra fees aren’t optional; they scale with your success. The bigger your audience and the more global your reach, the faster those “small” percentages snowball. |

Hidden Charges You May Not Be Aware of: Refunds, Failed Payments, and Compliance
Stripe’s published rates cover the essentials, but as your business grows, new needs often emerge. Needs that require extra tooling or processes many makers don’t anticipate early on.
That’s the key challenge with these additional costs: they’re easy to underestimate, especially when you’re focused on launching, not scaling.
Refund and Chargeback Fees
Refunds happen. Disputes happen. And Stripe charges $15 per dispute, even if you win the case.
Add to that the fact that Stripe doesn’t refund its original processing fee on refunded transactions, and those costs add up fast for subscription businesses where churn is part of the game.
For a maker running multiple products, this isn’t just an occasional annoyance. It’s an ongoing operating cost.
Failed Payments
Stripe leaves dunning (the process of recovering failed subscription payments) up to you. If you don’t build your own workflows or pay for a third-party tool that does, you’re going to lose revenue every month.
Florian experienced this firsthand:
“Stripe didn’t really offer the tools we needed for handling failed subscription payments or chargebacks. We brought in Churn Buster, which helped us recover failed renewals through automated emails. That part worked pretty well, but it added another $99/month to our costs.”
Tax Compliance
Selling globally means dealing with VAT, GST, and US sales tax.
Stripe offers Stripe Tax, but it’s an add-on, not a built-in feature. And it comes with an extra cost per transaction.
Florian confirms: “Handling taxes and invoicing was another big challenge. Since Stripe doesn’t deal with VAT or global sales tax out of the box, we used Quaderno to manage compliance and send proper invoices”
“Quaderno did a fantastic job, but again, that was another $99/month on our side.” — Florian Vizethum, founder of ClickWhale
For many indie makers, that means juggling multiple services: Stripe for payments, a tool for dunning, another for taxes… and praying they all play nicely together.
The reality: For Florian, this stack (EDD + Stripe + Churn Buster + Quaderno) added up to around $3,375 per year in extra costs, not counting Stripe’s fees.
Pro Tip: When calculating your “Stripe cost,” don’t just look at the processing fees. Add the tools and time you’ll need for dunning, taxes, and reporting. That’s your real number. |
And that’s before factoring in the manual work involved to keep it all running…
The Real Indie Tax: Time Is Money
Money isn’t the only thing Stripe’s DIY model costs you. Time, the most finite resource you have as an indie maker, often takes the biggest hit.
Every hour you spend fixing payment issues or reconciling invoices is an hour you’re not building new features or improving your product.
Here’s what this looks like in real life:
The Burden of DIY
Stripe gives you powerful building blocks, but you’re the one assembling the structure.
Taxes? That’s on you. Failed payments? You’ll need workflows or a third-party tool. Refund handling? Customer support tickets will keep piling up.
And then there’s reporting and compliance. Every operational gap you don’t account for early on, such as tax handling or revenue recovery, can quietly cost you time and energy as you grow.
Managing Taxes and Compliance
Global sales tax is a full-time job disguised as a side task.
Even with Stripe Tax (an add-on), you’re responsible for filings, audits, and making sure everything matches your accounting. For Florian, that meant downloading Stripe exports, pulling invoices and CSVs from Quaderno, and reconciling them manually:
“That was fairly routine but still took a few more hours each month, especially at the end of each billing cycle or quarter.”
Admin Work and Customer Support
Failed payments create manual and admin ripple effects: emails to send, subscriptions to update, customer frustrations to resolve.
Stripe doesn’t automate dunning beyond basic retries, so Florian’s team had to pay for an additional tool to cover this business aspect. They opted for Churn Buster:
“Even though we had an automated setup using EDD, Stripe, Churn Buster, and Quaderno, there was still a significant amount of manual work involved each month. Managing Churn Buster campaigns, checking performance, and replying to customer emails when failed payments happened probably took our support team a few hours a week on its own.”
Reporting and Maintenance
Need clean financial data for your accountant? You’ll spend time pulling multiple reports, reconciling them across your tools, and prepping documentation for audits.
All the “few hours” here and there quickly add up to several every month. That’s time you could have invested in shipping features, growing your user base, or creating a better experience for your customers. Instead, that time often goes into managing tasks that fall outside Stripe’s core scope because the platform is designed as a flexible processor, not an all-in-one business platform.
Pro Tip: Treat your time like money, because it is. Every hour you spend on admin is an hour you can’t monetize through your product. |
Now, some solutions provide even more functionalities to help you process payments, reduce churn, manage compliance, and overall grow your business. A merchant of record is one of them — and it might be more affordable than what you’d expect.
The Merchant of Record Alternative: Why It Matters for Scaling Businesses
A merchant of record (MoR) is the legal entity responsible for selling your product to the customer. That means the MoR, not you, handles the heavy lifting that comes with running a global software business:
- Payment processing: Accepting payments securely, managing payment gateways, and ensuring compliance with payment regulations (PCI DSS)
- Global tax compliance: Calculating, collecting, and remitting VAT, GST, and sales tax worldwide, plus handling filings, thresholds, and audits
- Regulatory obligations: Acting as the seller of record for legal purposes, including consumer protection laws and refunds
- Risk and fraud management: Managing chargebacks, disputes, and fraud prevention
- Operational automation: Providing built-in tools for subscriptions, refunds, invoicing, and revenue recovery
In short, an MoR is your financial and compliance backbone. Instead of building a patchwork of tools and processes on top of Stripe, an MoR gives you an all-in-one system that eliminates tax and legal risks, reduces admin overhead, and lets you focus on product and growth.
Think of it this way:
With Stripe, you’re the legal seller. With an MoR, they are. That single shift transfers a mountain of responsibility (and liability) off your plate. And your costs don’t increase that much in comparison with the amount of value you get:
“I know that, at first glance, merchant of record fees can seem high compared to Stripe’s headline rate. But when you calculate Stripe’s true cost, after adding tools for taxes, compliance, and revenue recovery, the difference is often marginal,” Vova explains.
With an MoR like Freemius, you eliminate the Indie Tax: the stack of hidden fees, extra tools, and manual hours. That’s because all of it is baked in from day one.
What This Looks Like in Real Life
Florian’s experience with Stripe said it all. It required paying for additional tools and more admin work.
The migration changed everything: Florian’s team could finally manage everything from one centralized place.
“We’ve eliminated those extra tools completely, which is a direct cost saving and a big time saving. Our support team spends less time managing billing-related issues, which means more time can go into product and customer experience,” Florian shares.
Take a look at Freemius fees here and check out the full pricing page:

Stop Paying the Indie Tax, Keep More of Your Revenue
Stripe’s 2.9% is only part of the story.
Add international fees, FX, failed payments, and compliance overhead, and you’re looking at a real cost that can eat away 8–9% of your revenue.
This is the Indie Tax: not just the money, but the time and energy you lose maintaining a fragile stack of tools.
You didn’t build your product to become your own finance team. An MoR like Freemius takes that entire burden off your plate, so you can focus on what actually has significant impact: building, shipping, and growing.
“The moment we switched, we stopped worrying about taxes, chargebacks, and recovery flows. Everything just works now, and that’s priceless.” — Florian Vizethum
Interested in learning more about how a merchant of record helps you build and scale your business? Check out our detailed guide to MoR services for software makers.