Revenue is not profit - how to calculate net profit online

Step by step: how to go from gross revenue to the real net profit of your online store or SaaS. The formula, a worked example and the most common mistakes.

"We did 50k in sales" sounds great on social media, but it says nothing about the health of a business. Revenue can be bought - just burn enough ad budget. Profit cannot. This guide shows how to go from gross revenue to the number that actually matters.

The real net profit formula

The entire management accounting of a small online business fits in one line:

Net profit = revenue − refunds − processing fees − ads − fixed costs − COGS

Let's unpack it:

  • Revenue - the sum of successful payments (Stripe, Shopify, bank transfers).
  • Refunds and chargebacks - money you gave back; the fee from the original charge is usually lost.
  • Processing fees - the per-transaction fees of your payment processor. We explained why they're invisible in the dashboard in why Stripe doesn't show your profit.
  • Ads - total spend across Meta, Google and TikTok for the period.
  • Fixed costs - hosting, domains, SaaS tools, accounting, subscriptions.
  • COGS - the cost of goods, production and shipping (for physical products).

A worked example

An e-commerce store, one month:

Line itemAmount
Gross revenue€11,200
Refunds−€490
Payment fees−€310
Ads (Meta + Google)−€4,950
Fixed costs (hosting, tools, accounting)−€920
COGS + shipping−€2,290
Real net profit€2,240

The sales dashboard showed €11,200. What actually remained was €2,240 - 20% of that number. Still a healthy business, but decisions about hiring, scaling ad budgets or paying yourself look completely different at 11.2k versus 2.2k.

The most common mistakes when calculating profit

  1. Using an "average fee percentage" instead of actual fees - with refunds and international cards the difference adds up to hundreds per month.
  2. Ignoring annual costs - a €100/year domain is €8.33/month; annually billed licences and hosting must be prorated too.
  3. Mixing currencies - subtracting USD costs from EUR revenue without converting at a real rate skews the result either way.
  4. Calculating once a quarter - profit computed in April won't save January's margin. This number needs to be available continuously.
  5. Looking only at campaign ROAS - ad platforms over-attribute; more on that in blended ROAS and POAS.

How to calculate it without a spreadsheet

You can maintain a spreadsheet - and for the first few months it's a useful exercise. But every hour spent pasting Stripe CSV exports is an hour not spent on product or marketing.

SeeProfit automates exactly this process: it pulls revenue and fees from Stripe, lets you add ads and fixed costs (including recurring ones, with reminders), converts currencies at ECB rates and shows your up-to-date net profit every day. Setting up an account takes a minute and the trial lasts 14 days.

Keep reading

← All posts