Guide4 min read

Refunds, fees and disputes: what your real revenue is

Gross, net and payout: what each one means, how refunds, fees and disputes eat into your sales, and how to count the money you actually keep.

“I made $3,000 this month.” Did you? Or did customers pay $3,000, and something less than that reached your bank?

The gap between those two numbers is made of refunds, fees and disputes. It’s rarely huge, but it’s always there. If you only ever look at the big number, you’ll overestimate what you have to spend, and misjudge which products and channels are worth your time.

Here’s how the pieces fit together.

Gross, net and payout

Three different numbers get called “revenue”.

  • Gross is what customers paid: every sale, at its full price.
  • Net is what’s left after the money that goes back out: refunds, disputes and the fees your payment platforms take.
  • Payout is what lands in your bank on a given day. It follows your net, but on the platform’s schedule: sometimes in batches, sometimes held back for a while, sometimes converted to another currency.

For deciding what’s working, net is the honest one. For knowing what you can spend this week, look at payouts. Gross is good for one thing: seeing demand.

How each one takes money

Refunds. You send some or all of a sale back. Depending on your platform, the fee on the original sale may not come back with it, so a refunded sale can cost you slightly more than nothing. Check your platform’s policy.

Fees. Payment platforms take a share of each sale, often a percentage plus a small fixed amount. On small orders, the fixed part matters more than you’d think. Some platforms also charge for subscriptions, fraud checks or currency conversion.

Disputes. Also called chargebacks: a customer asks their bank to reverse a payment. The money is usually pulled back while the bank decides, often with a dispute fee on top. Win, and the money comes back. Lose, and it’s gone.

A worked example

Say you sold 100 orders of a $29 product this month. These are example numbers, with an example fee of 3% plus $0.30 a sale (check your own):

  • Gross: 100 × $29 = $2,900
  • Fees: 100 × ($0.87 + $0.30) = −$117
  • Three refunds: −$87
  • One lost dispute: −$29, plus an example $15 dispute fee = −$44
  • Net: $2,652

That’s about 91% of gross. Not dramatic. But now imagine one product has most of the refunds, or one channel brings most of the disputes. Its gross looks fine and its net doesn’t, and you’d never see that from the big number.

A sale counted, then a refund and a fee taken off, leaving what you keep.

Timing changes the picture

A refund usually lands on the day you issue it, not the day of the sale. So a refund today for something sold last month makes today look worse, and last month look better than it really was.

That’s fine, as long as you know which view you’re reading:

  • By the day money moved: what happened to your cash this week. Good for planning spending.
  • By the day of the sale: how good each day’s sales really were. Good for judging a launch, an ad or a post.

When you judge a campaign, look at its numbers again a few weeks later, once the refunds that belong to it have come in.

What to keep an eye on

  • Refund rate: refunds divided by sales. Watch for a jump, and for one product or channel well above the rest.
  • Disputes: even a few deserve a look. Payment platforms and card networks watch dispute rates, so a rising number is worth fixing early.
  • Fees as a share of sales: if it creeps up, look at order sizes, currencies and which platform the sales go through.
  • Net per channel: a channel that brings refunds and disputes along with its sales is worth less than its gross suggests.

How odo counts it

odo reads each platform’s payments, refunds, disputes and fees as separate entries, so nothing gets folded together where you can’t see it.

Refunds and disputes come off as they happen. They count against the day the platform dates them, so your live number and your daily totals reflect money that went back out.

You choose gross or net. In settings, pick whether your number counts before or after fees. Net takes off the fees each platform reports.

Each source shows its own breakdown. For the last 30 days, every platform you’ve connected shows its gross, number of payments, average payment, and fees plus refunds, side by side. That’s where you spot the one that keeps the least.

Refunds follow their sale back to the visit. When a sale is traced to the visit that brought it, a refund takes its credit back from that same visit. So the sales a channel shows are after refunds, and the channel that refunds a lot doesn’t look better than it is.

And you hear about them. odo can message you in Slack, Discord, Telegram or email as each refund or dispute lands, and a dispute message says where to answer it. You can reply to the customer, or gather your evidence, while it’s still fresh.

To be clear about the limits: odo can only subtract what a platform reports. Some platforms don’t report their fees, and some don’t say when a refund happened. Tebex is one: its refunds count on the day of the sale, and odo says so when you connect it.

For the alerts that catch a broken checkout before refunds pile up, read know your checkout broke before your customers tell you. To see what each visitor is worth once refunds are out, read revenue per visitor.

Keep reading