Recovery playbook

Designing who absorbs a refund: the platform policy decision

Most platforms did not choose their refund policy. They inherited it from a missing boolean: reverse_transfer defaults to false, refund_application_fee defaults to false, so the platform absorbs everything until someone decides otherwise on purpose. That default is not wrong — plenty of platforms should absorb refunds as a customer-experience stance. What is wrong is inheriting it accidentally. Four dials turn it into a decision you can defend to sellers, finance and your own future self.

Dial 1 — the transfer

Reverse always, reverse proportionally, or absorb below a floor. Reversing always keeps margin intact and shifts surprise costs onto sellers; absorbing buys goodwill at a price most marketplaces have never computed. Work each option through the $100/$10/$90 table with your own volumes before choosing — the annualised difference is usually a salary, not a rounding error.

One $100 sale with a $10 fee, refunded — under three policies
Reverse always → seller returns
$90.00
Platform absorbs → platform pays
$90.00
Absorb below $50 floor → this case reverses
$90.00 reversed

Dial 2 — the application fee

Keep fees on refunded sales (compensating processing cost already incurred), return them proportionally, or return them only when the seller is at fault. All three are legitimate when disclosed in terms; keeping them silently while terms say otherwise is the compliance exposure nobody priced. Write the sentence, then make the code agree.

Dial 3 — disputes, dial 4 — floors

Disputes: absorb-and-clawback preserves control but requires recovery operations; passing through via direct charges offloads liability and surrenders the tools that come with holding funds. Floors decide where conversation cost beats recovery: a $4 clawback costs the same to process as a $4,000 one, so most platforms absorb below $25–50 deliberately rather than accidentally.

Write it down where all three copies live

Refund policy drifts in three places: seller-facing terms, payment code, and support macros. Support issuing dashboard refunds with default flags is the classic failure — the policy exists, the code complies, the macro bypasses both. Audit all three surfaces quarterly.

What FeeGuard does about it

Whatever policy you choose, detection verifies that behaviour matches it: findings are policy violations, not merely money gaps. A platform that decided to absorb can dismiss those findings as expected; a platform that decided to reverse cannot afford to. Either way the decision is now visible instead of latent.

Common questions

Is absorbing refunds normal for marketplaces?

Common on destination-charge platforms because the mechanics make it the default. Normal does not mean chosen — the exercise is making it deliberate either way.

Can policy differ per seller tier?

Yes — enterprise sellers often negotiate different reversal terms. Thresholds support this; documentation has to as well.

Does deciding the policy require lawyers?

The terms do; the dials are business decisions. Sequence matters less than consistency between the two.