Skip to content

SaaS Subscription Billing: Stripe vs Paddle vs a European Provider

SaaS subscription billing compared by a developer: Stripe, Paddle or a European provider like Frisbii. EU VAT, failed payments, fees and Laravel Cashier.

By

Freelance full-stack developer

Published
Reading time
12 min
In this post9

For SaaS subscription billing, most European founders end up choosing between three models: Stripe, where you're the seller and handle VAT yourself, Paddle, which acts as merchant of record and takes tax compliance off your plate, or a European billing platform such as Frisbii, which grew out of Danish Reepay and German billwerk. My rule of thumb: if you sell B2B inside the EU and build on Laravel, start with Stripe and Laravel Cashier. If you sell to consumers in many countries, a merchant of record usually saves you more than it costs.

I'm writing as the developer who wires billing into the product: what's easy to build, what breaks after launch and what EU VAT means in practice. It isn't tax advice.

The short answer

Stripe, Paddle and Frisbii for SaaS subscription billing
StripePaddleFrisbii (European)
Who sells to your customerYouPaddle (merchant of record)You
Fees1.5-2.8% + €0.25 per EEA card, plus 0.7% for Billing5% + 50¢ per transaction, all-inFrom €49/month + 0.95%, plus card fees
EU VATYou file, Stripe Tax can calculatePaddle calculates, collects and remitsYou file
UK VAT and US sales taxYour responsibility, Stripe Tax helpsHandled by PaddleYour responsibility
Failed paymentsSmart Retries and emails, configurableAutomatic retries for up to 30 daysBasic dunning on all plans, advanced on Growth
Laravel supportOfficial: Laravel CashierOfficial: Cashier PaddleNo official package
Typical fitB2B SaaS selling within the EUConsumer SaaS sold worldwideEstablished subscription businesses in Europe

These are list prices as of October 2026, and all three negotiate at volume. If you're earlier in the process, my guide to building a SaaS from idea to paying customers covers the rest of the build.

Merchant of record or seller: the real decision

The biggest difference isn't technical. It's who legally sells your product. With Stripe or Frisbii, you're the seller: your company issues the invoice, charges the right VAT, files the returns and deals with chargebacks (when a customer disputes a payment with their bank).

With Paddle, Paddle is the merchant of record. Your customer technically buys from Paddle, which resells your product, issues the invoice and remits tax wherever it's due. You get paid out minus the fee. That's why 5% looks expensive next to Stripe's card fees: you're paying for compliance work you'd otherwise do yourself or outsource.

Stripe now offers the same model through Managed Payments, where Stripe (through its Link brand) is the merchant of record. It costs 3.5% on top of regular fees, subscriptions must be created through Stripe Checkout or Payment Links, and it only covers fully automated digital products. It's open to businesses in every EU country plus the UK, Norway, Switzerland, the US, Canada and a few others.

The trade-off with any merchant of record: your customer sees another company on the invoice and the card statement. Consumers rarely care. A procurement team at a larger B2B customer might.

EU VAT for SaaS: what you sign up for as the seller

If you're the seller and your company is based in the EU, VAT on a SaaS product roughly breaks down like this:

  1. Business customer in your own country: charge domestic VAT (25% in Denmark, where I'm based).
  2. Business customer in another EU country with a valid VAT number: reverse charge. You invoice without VAT, the customer accounts for it locally, and you validate the VAT number and report the sale.
  3. Consumer in another EU country: once your total cross-border consumer sales of digital services in the EU pass €10,000 a year, you charge VAT at the customer's local rate and report it through the EU One Stop Shop (OSS) in a single quarterly return.
  4. Customers outside the EU: separate rules apply, such as UK VAT, Norwegian VAT or US state sales tax.

If your company is based outside the EU, the €10,000 threshold doesn't apply: you generally owe EU VAT on consumer sales from the first euro, usually through the non-Union OSS scheme.

Stripe Tax calculates rates, collects VAT IDs and monitors your thresholds, but filing stays with you or your accountant. Paddle takes points 3 and 4 off your desk and applies the reverse charge when a business enters a valid VAT ID at checkout. Frisbii offers multi-region tax handling on its Growth plan, but you remain the seller.

So the real question is how much revenue sits in points 3 and 4. A B2B tool selling to EU companies barely benefits from a merchant of record. A consumer app selling worldwide benefits a lot.

What it costs: a worked example in euros

Say you have 100 business customers paying €50 a month by EEA card, so €5,000 in monthly recurring revenue. Ignoring VAT to keep it simple:

OptionMonthly feesShare of revenue
Stripe (Payments and Billing)about €135-2002.7-4.0%
Stripe Managed Paymentsabout €310-3756.2-7.5%
Paddleabout €295about 5.9%
Frisbii Starterabout €97 plus card feesabout 1.9% plus card fees
Frisbii Growth (advanced dunning)about €345 plus card feesabout 6.9% plus card fees

The Stripe range depends on how many customers pay with premium cards, which cost more than standard ones. Figures are based on Stripe's euro pricing, Paddle's pricing and Frisbii's pricing as of October 2026. Frisbii's card fees come on top: its fee sheet lists 1.25% for European consumer cards and 2.75% for corporate cards, putting Starter close to Stripe or above.

Stripe usually comes out cheapest, but you pay for VAT filing and reconciliation with your own time or your accountant's. To compare fairly, add Stripe Tax at €0.45 per transaction on its API plan. Paddle's 5% includes card processing, tax compliance, fraud protection and buyer support. Frisbii's fixed fees hurt at this size and fade as revenue grows, and its Growth plan comes with a 12-month minimum contract.

Low price points change the math. A fixed 50¢ or €0.25 per charge hurts on a €5 plan, which is one more reason to settle how you package and price your SaaS before picking a provider.

Implementing billing in Laravel

Laravel ships two official billing packages: Laravel Cashier for Stripe and Cashier Paddle for Paddle. Both add a Billable trait to your model and give you methods for starting, swapping and canceling subscriptions, including grace periods after cancellation. That's a lot of fiddly code you don't have to write.

Stripe and Cashier

This is the most mature combination. Send customers to Stripe Checkout to pay and to Stripe's customer portal to update cards, download invoices and cancel, so you don't build those screens. Stripe Tax is one line of configuration in Cashier, and Stripe's test clocks let you fast-forward time to watch renewals and failed payments play out in test mode.

Paddle and Cashier Paddle

Checkout runs in Paddle's overlay or inline frame, and products and prices live in the Paddle dashboard. The subscription only appears in your database once Paddle's webhook (an automated message to your server) arrives, so your app has to handle a short delay between payment and access.

European providers without Cashier

There's no official Laravel package for Frisbii. It runs its own subscription engine, so you sync state through webhooks and its API and build the access, cancellation and plan-change logic that Cashier would otherwise give you. Plain payment gateways mean building even more yourself. It's the kind of work that's easy to leave out of a SaaS development budget, so plan for it upfront.

Get these right whichever you choose

  1. Bill the account, not the user. In B2B SaaS the company pays, and Cashier can use a model like Team instead of User. This ties directly into your multi-tenant architecture.
  2. Treat webhooks as critical. Verify signatures, process them on a queue and make handlers idempotent, so a duplicate event does no harm.
  3. Never store card data yourself. Let the provider's hosted checkout collect it, which keeps you clear of the heaviest PCI DSS requirements.
  4. Check access against your own database, not a live API call on every page load.
  5. Test the full lifecycle in test mode: signup, plan change, failed payment, card update and cancellation.

If you're still settling on a framework and hosting, here's the SaaS tech stack I recommend.

Failed payments and dunning

Cards expire, get replaced or hit their limit. If nobody notices, you lose a customer who never meant to leave. That's involuntary churn, and it's one of the technical causes of SaaS churn that's easiest to fix.

All three providers retry failed payments, in different ways:

  • Stripe recommends Smart Retries with 8 attempts within 2 weeks. After that, you decide whether the subscription is canceled, marked unpaid, left past due or paused.
  • Paddle retries automatically for up to 30 days, Paddle Retain can add dunning emails, and by default the subscription is canceled if recovery fails.
  • Frisbii includes basic dunning schedules on every plan and multi-step recovery flows on Growth.

What the provider doesn't decide is what happens inside your app. In Cashier, a subscription with a failed payment is marked past_due, and by default it no longer counts as active, so a customer can be locked out the day their card is declined. For B2B I recommend keeping access during the retry window, showing a clear banner with a link to update the card and only locking the account when retries run out. In Cashier, that's keepPastDueSubscriptionsActive.

Two EU-specific details matter here. Strong Customer Authentication (SCA) under PSD2 can require a customer to confirm a renewal with 3D Secure. It's rare for recurring charges, but your app needs to handle it, and Cashier includes a built-in payment confirmation page. Stripe can also receive updated card details from the card networks when a card is replaced, so some payments never fail at all.

When each option is the wrong choice

Skip Stripe if

  • you sell to consumers in dozens of countries and want nothing to do with VAT filings. Paddle or Stripe Managed Payments is the safer choice.
  • nobody on your team has time to reconcile payouts and track tax thresholds.

Skip Paddle if

  • your price points are low enough that 50¢ per charge eats your margin.
  • you're building a marketplace that splits payments between multiple sellers.
  • your product is largely consulting or other human-delivered services. Merchant of record services are built for digital products.
  • your enterprise customers expect invoices from your own legal entity, or you sell to public sector buyers with strict e-invoicing requirements.

Skip a European billing platform if

  • you're at MVP stage with a handful of customers. Fixed monthly fees and contract terms don't suit a product still looking for its first paying users.
  • you want to lean on Laravel Cashier and the ecosystem around Stripe and Paddle.

A European platform earns its place when many of your customers prefer local payment methods (Frisbii advertises more than 50 European ones) and when billing should sync directly with accounting tools such as Xero, e-conomic or DATEV.

One honest caveat: if you sell a simple subscription without your own app, say access to a private community, Stripe Payment Links or Paddle's hosted checkout can handle it without code. You don't need a developer like me for that part.

Next steps

Five answers usually make the decision obvious.

Before you pick a billing provider

  • What share of revenue comes from businesses versus consumers?
  • Which countries are your customers in today, and where will they be in two years?
  • What's your lowest price per charge?
  • Do customers need to pay by invoice, bank transfer or a local payment method?
  • Who handles VAT and bookkeeping, and what does their time cost?

If the answers point to business customers in the EU, Stripe with Cashier is where I'd start. If they point to consumers worldwide, look at Paddle or Stripe Managed Payments. I can help you make that call as part of a fixed-price discovery phase and then build billing into the product. Here's how I approach SaaS development for founders and product teams.

Frequently asked questions

Can I switch billing providers later?

Yes, but it's painful. Card details can't be exported as a simple file, so moving usually requires a secure data migration between the two providers. The alternative is asking customers to re-enter their cards, and some of them won't. Keep billing logic in one place in your codebase, and choose with the next few years in mind.

Do I need to register for VAT in every EU country?

Usually not. If you're the seller, the One Stop Shop lets you report VAT on cross-border consumer sales across the EU in one quarterly return filed in a single member state. Business customers with valid VAT numbers fall under the reverse charge. With a merchant of record like Paddle, it's handled for you. Check your specific case with an accountant.

Can business customers pay by invoice instead of card?

Yes. Stripe Billing can send invoices with payment terms instead of charging a card automatically, which larger customers often prefer, and Paddle offers invoicing as an add-on. Stripe also supports SEPA Direct Debit for euro payments. If you sell to public sector buyers, check their e-invoicing requirements before you choose a provider, since they often need a link to your accounting system.

Should billing be part of my MVP?

Yes, if you want to learn whether people will actually pay. Keep it minimal: one or two plans, the provider's hosted checkout and the provider's customer portal for card updates and invoices. Leave coupons, usage-based billing and custom billing screens until paying customers ask for them.