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.
- 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.