Why every commission waits out a refund hold

Affiliatops team · · 5 min read

Where a refund lands decides what happens: during the hold it cancels the commission, after payout it comes off the next one.

Refunds are the least glamorous part of an affiliate program and the one most likely to cause an argument. A customer comes through a partner’s link, pays, and asks for their money back two weeks later. Did the partner earn that commission? Almost every program says no. The question is whether the software makes that answer automatic or leaves it to someone with a spreadsheet.

In Affiliatops it is automatic, and it is on from the start. Every commission waits out a hold period before it can be paid, and a refund reverses the commission it came from without anyone having to find it. This post explains why we made that the default, how partial refunds and already-paid commissions are handled, and what your partners see.

Why it is the default, not an add-on

If refund handling is optional, most programs launch without it. Nobody is thinking about refunds on the day they invite their first partners. The problem shows up months later, when a commission has already been paid for a customer who refunded and you have to ask a partner to give money back. That conversation goes badly even when your terms are clear.

A hold period avoids most of those conversations. Most refunds arrive within a few weeks of the purchase, so if commissions only become payable after that, a refund cancels the commission before any money moves. Nothing is clawed back because nothing was paid.

So new programs start with a 30-day hold and refund reversal switched on. You can change the hold to match your own refund window, and for SaaS programs you can turn off reversal on refunds, but you have to decide to. The refund hold and automatic clawbacks are included on every plan, Starter included, as the pricing page lists.

How the hold works

A commission is created as soon as a referred customer pays: a Stripe invoice for a subscription, or an order recorded through the tracking script, the API or by hand. It starts as Pending, with a date when the hold ends.

Once an hour, Affiliatops approves every Pending commission whose hold has ended and adds it to the partner’s balance. Only approved commissions can be paid out. If you try to include a commission that is still on hold in a payout, it is refused.

  1. 1

    Pending

    Created when the payment happens. Held for the program’s hold period, 30 days unless you change it.

  2. 2

    Approved

    The hold ended without a full refund. The amount is in the partner’s available balance.

  3. 3

    Paid

    Included in a payout. The payout has an invoice the partner can open.

Refunds reverse the commission, in proportion

When a refund comes in, from Stripe’s charge.refunded event for SaaS or from the refund webhook or admin for store orders, Affiliatops finds the payment it belongs to and reverses that payment’s commission. Each refund is recorded once, so if the same refund is delivered twice, the second delivery changes nothing.

The reversal is proportional to the share of the payment that was refunded. Refund half the payment and half the commission is reversed.

Commission reversed

Reversed = original commission × refunded amount ÷ payment amount

A $49 payment earned a 20% commission of $9.80. A $24.50 refund reverses $4.90, leaving the partner $4.90.

Several partial refunds on the same payment are added up against the original commission rather than calculated one by one, so rounding never drifts. By the time a payment is refunded in full, exactly the original commission has been reversed, not a cent more or less.

What happens next depends on where the commission is:

How a refund reverses a commission
Commission statusFull refundPartial refund
Pending (on hold)Cancelled; never paidAmount reduced; stays on hold
Approved (in balance)Reversed and taken off the balanceAmount reduced and the difference taken off the balance
PaidReversed; the amount becomes a deductionStays paid; the refunded share becomes a deduction

Refunds after a commission was paid

A hold period catches most refunds, not all. A customer can refund after the hold, or a long annual plan can be refunded months in. By then the commission may already be paid.

We don’t ask partners to send money back. The refunded share of the commission is taken off the partner’s balance, which can go below zero, and the next payout deducts it before anything is paid. If the deduction is larger than everything the partner has approved, there is nothing to pay yet; the rest comes off future commissions as they are approved.

Every reversal also sends a commission.reversed event to your outbound webhooks, with the amount reversed and the refund it came from, so your own books can follow along.

What partners see

Clawbacks cause friction when partners find out by noticing a smaller number. We show them what happened instead.

  • On their Commissions page, a commission on hold says when the hold ends. A reduced commission shows its new amount with the original crossed out and the note “Reduced after a refund”. A cancelled or reversed one is struck through and says whether it was cancelled before payout or taken off their balance.
  • On their Payouts page, partners see how long the program holds commissions and how much of their earnings is in the hold right now. If refund deductions are outstanding, the page says how much and that the next payout is approved commissions minus those deductions.
  • Each payout in their history shows the deduction taken from it, next to the amount paid.

Put the same rules in your partner terms. Our guide to affiliate refunds and clawbacks covers how long to hold, how to word the policy, and what is reasonable to reverse. To see a reversal happen, the demo walks a referred customer from first payment to refund and shows the commission being reversed.

Related guides

More from the blog

Run your partner program on Affiliatops

Recurring commissions, refund holds and clawbacks, and a branded partner portal, from $19 a month. Try it free for 14 days.

Start free trial