Resources

WordPress plugin business financials: what to give a buyer

When you sell a plugin, the numbers are the first thing a buyer asks for and the first thing they check. Getting your WordPress plugin business financials right before you list saves weeks: a buyer who finds that a figure was gross rather than net, or included consulting work, starts doubting the rest. We run FlipWP, a marketplace for buying and selling WordPress businesses, and most of the figures we rework with sellers before a listing goes out come down to a handful of terms. This guide explains them, and shows how to get from your payment dashboard to numbers a buyer will trust.

The WordPress plugin business financials buyers ask for

Every buyer asks for roughly the same list:

  • Revenue for the last 12 months (trailing 12 months, or TTM)
  • Annual recurring revenue (ARR), if you sell subscriptions or annual licences
  • Monthly revenue for the last 24 months, to show the trend
  • Renewal rate, or churn
  • Refunds and chargebacks
  • Costs, and so profit
  • Where the figures come from: Freemius, Easy Digital Downloads, WooCommerce, Stripe or PayPal

Each of these has a common mistake, and the sections below go through them.

Revenue: start from what the plugin earned

Your payment dashboard’s headline number is usually gross volume: everything that went through the account. Revenue for a buyer is narrower.

  • Take out sales tax and VAT you collected. It was never yours. Freemius, CodeCanyon and the Woo Marketplace deal with it as the seller, but your own store collects it on top of your prices.
  • Take out refunds and chargebacks. Buyers will find them, so show them.
  • Take out anything that isn’t the plugin: consulting, custom development, setup or maintenance work, other products on the same account. Services income usually goes with you, so a buyer won’t pay a multiple for it. Show it separately if it’s worth mentioning.
  • Say whether the figure is before or after platform fees. Freemius pays you after its share; your own Stripe account shows revenue before its fees. Either is fine as long as you say which.

The result is the product’s revenue. If your plugin’s sales share a Stripe account with your consulting work, export the plugin’s payments on their own before you send anything.

TTM, not lifetime

Buyers value a plugin on what it earns now, so the figure that matters is revenue for the last 12 months. Lifetime revenue is a nice number for a sales page and tells a buyer very little: a plugin that made most of its money five years ago is a different business from one that’s growing.

If revenue has fallen, the trailing 12 months will be higher than the current run rate, and buyers will notice. Give them both: the last 12 months and the last three months annualised. It’s better coming from you than found in due diligence.

ARR: recurring revenue only

Annual recurring revenue is the yearly value of the subscriptions and licences that renew. Stripe’s definition of the monthly figure, MRR, is a good reference: the monthly value of all active subscriptions, without taxes, free plans or usage-based charges. ARR is that times twelve.

What goes in and what stays out:

In ARR Not in ARR
Annual licences that renew automatically Lifetime licences
Monthly and yearly subscriptions One-off sales and upgrades
Credit packs and pay-as-you-go usage
Setup fees, services and support contracts paid once

ARR matters because recurring revenue is worth more than the same amount from one-off sales. A plugin with most of its revenue in ARR and a good renewal rate sits at the top of the price range.

Profit: revenue minus what the plugin costs to run

Profit is revenue minus the costs of running the product: hosting, the licensing platform, tools and services, contractors, and paid ads. Profit isn’t revenue, and revenue isn’t profit, so label each one. A figure quoted as profit in one email and revenue in the next is one of the quickest ways to lose a buyer’s trust.

Two things to be clear about:

  • Your own time. Most solo developers don’t pay themselves a salary from the plugin, so profit is close to revenue. Say how many hours a week you spend on it, so a buyer can price in replacing you.
  • Costs that end at the sale. A contractor you’ll stop paying, or a tool only you use, can be shown separately.

For most plugin businesses, costs are low enough that we price on revenue rather than profit. Our post on WordPress plugin valuation explains why, and the 1.5 to 2.5 times revenue range most deals close in.

Renewal rate and the trend

Next year’s revenue depends on how many customers renew, so the renewal rate is the number buyers look at after revenue. Give the share of annual licences or subscriptions due to renew in the last 12 months that did.

Then send 24 months of revenue, month by month. Buyers read the shape before they read the total: steady or rising is good, a spike from one launch or sale is something to explain, and a fall is something to explain before they ask.

A worked example

Take a made-up plugin whose Stripe dashboard shows $48,000 of gross volume over the last 12 months:

Amount
Gross volume $48,000
Less VAT and sales tax collected -$4,000
Less refunds -$2,000
Less custom development for two clients -$6,000
Plugin revenue (TTM) $36,000
Of which annual licences that renew $30,000
Of which lifetime licences $6,000
Costs (hosting, licensing, tools) -$3,000
Profit (TTM) $33,000

So the plugin has $36,000 of revenue, $30,000 of ARR and $33,000 of profit, and $6,000 of services income that goes with the seller. Quoted as “$48K a year”, a buyer would find a $12,000 gap in the first hour of due diligence. Quoted as above, the numbers survive it.

Where to get the figures

Use the reports in the platform you sell through, so a buyer can check them against the same source later:

  • Freemius: its dashboard shows revenue, renewals and refunds per product
  • Easy Digital Downloads: EDD’s reports cover earnings, refunds and, with Recurring Payments, subscriptions
  • WooCommerce: WooCommerce Analytics for revenue, refunds and taxes
  • Stripe: Billing analytics for MRR and churn, and a payments export for everything else

Screenshots are fine for the listing. Buyers will want read-only access or exports during due diligence, so check now that you can give it.

Before you send them

A last check before the figures go to a buyer, or into your listing form:

  • Every number is labelled: revenue or profit, gross or net, TTM or ARR
  • Tax, refunds and services income are out of the revenue figure
  • The monthly figures add up to the 12-month total
  • The trend over 24 months is explained if it isn’t steady
  • You can show each figure in the platform it came from

If one of these doesn’t hold, fix it now. It’s much easier than explaining it to a buyer halfway through due diligence.

Ready to sell?

Get the figures above ready, label each one, and keep anything that isn’t the plugin separate. Our guide on how to sell your WordPress business covers the rest of the sale, from the asking price to the handover. When you’re ready, list your business on FlipWP and we’ll go through your numbers with you before the listing goes out.


Iain profile image

Iain Poulson

November 7, 2026