Handling disputes well — the seller's playbook
How to respond fast, what evidence wins, when to refund, and how to keep one dispute from snowballing.
Disputes are inevitable; how you handle them isn't
Every active seller gets a dispute eventually. The question isn't "will I get one" — it's "what do I do when I get one." A dispute handled well costs you 30 minutes of typing and protects your reputation. A dispute handled badly costs you the order, a strike, and a permanent dent in your shop.
This guide is the seller's playbook for the dispute system, written from the inside.
What a dispute looks like from your side
A buyer opens a dispute on an order. Within seconds:
- You get a push notification: "Dispute opened on order #X — reason: [the buyer's pick from the taxonomy]."
- The order in your Orders tab flips to Disputed.
- The dispute thread opens with the buyer's message and any attachments they uploaded.
- Your 48-hour response clock starts.
- The money for the order is frozen in escrow — neither you nor the buyer can pull it during the dispute.
The 48 hours is your window to respond before admin steps in. If you don't respond, admin decides without your side of the story — usually not great for you.
The first 30 minutes
When you see the notification:
1. Open it. Read everything.
Don't skim. Read the buyer's full message. Look at every attachment. Identify exactly what they're saying went wrong.
2. Don't reply emotionally yet
Even if the buyer's tone is angry or accusatory, don't fire back right away. The dispute thread is read by admin if you can't agree. Hot-headed replies count against you in admin review.
Take 10 minutes. Calm down if you need to.
3. Pull up the original order
What did they order? What was the agreed price? What was the delivery option? What date did they pay? What date did you dispatch?
The order timeline is on the same screen as the dispute. Use it.
4. Decide what really happened
Be honest with yourself. There are usually 4 possibilities:
| Reality | Your move |
|---|---|
| You made a mistake (wrong item, broken, late) | Offer to fix |
| Buyer made a mistake (ordered the wrong size, change of mind) | Politely explain + decide if to refund |
| Rider made a mistake (lost, delayed, damaged in transit) | Document + refund + chase rider separately |
| Buyer is trying to scam (claim item never arrived when it did) | Counter with evidence |
Each path has a different reply. The mistake is replying without deciding first.
The four reply playbooks
Playbook A — You made a mistake
The fastest resolution. The buyer is right; the order was wrong on your side.
The reply:
"Hi @username — you're right, this is on me. [Briefly explain what happened]. Here's what I can do: [offer]. Let me know if that works for you."
The offer should be specific. Options:
- Full refund if the item is unfixable and you don't want it back.
- Partial refund if the item is usable but flawed.
- Replacement if you have stock and can ship a correct one fast.
- Refund + small bonus for the trouble, if the buyer was patient.
Don't say "I'm sorry" twenty times. Don't promise vague compensation. Make the offer real and concrete.
The buyer's response options:
- Accept → they close the dispute → admin doesn't get involved → your strike risk = zero.
- Counter-offer → keep negotiating in the thread.
- Reject → escalates to admin.
If they accept and close, you've turned a potential strike into a loyal customer who knows you stand behind your work. This is the best outcome from a dispute.
Playbook B — Buyer made a mistake
The buyer ordered the wrong size, or didn't read the description, or expected a feature that wasn't advertised.
The reply:
"Hi @username — thanks for reaching out. Looking back at the order, I see you ordered [exact thing]. The product page describes [what was on it]. That said, I want you to be happy — can I offer [reasonable solution]?"
Don't be defensive. Don't say "you should have read the description." Just point to the facts calmly and offer something reasonable anyway.
Reasonable solutions:
- Exchange for the right size/colour/etc. at no charge except re-delivery fee.
- Partial refund if a full refund feels excessive for a user-error.
- Store credit for the order amount toward a future purchase.
Most reasonable buyers accept reasonable offers, even when they realize the mistake was theirs.
Playbook C — Rider made a mistake
The order was correct when it left you, but something happened in transit. Lost, damaged, very late.
The reply:
"Hi @username — I'm sorry the delivery didn't go well. The order left my shop on [date], handed to the rider at [time]. Something clearly went wrong in transit. I'll [refund / replace], and I'll chase the rider separately."
This is where delivery-day photos pay off. If you photographed the parcel before dispatch, attach the photo as evidence — you're showing the goods were correct and intact when they left your hands.
After resolving with the buyer, message the rider:
- "Hey, the order to @username arrived damaged / never arrived. I refunded the buyer X UGX. Can you tell me what happened?"
- Decide if you want to use that rider again. (If they cost you multiple disputes, find another rider.)
Playbook D — Buyer is scamming
Rare but real. The buyer claims the item never arrived but it did, or claims the item is broken when you have evidence it wasn't.
The reply:
"Hi @username — I want to make sure I understand what happened. Here's what I see from my side: [the evidence]. Can you help me understand where the disconnect is?"
Stay calm. Don't accuse. Lay out evidence:
- Rider's confirmation message that the buyer received it.
- A photo timestamp showing the parcel intact at dispatch.
- WhatsApp screenshots of the buyer confirming receipt earlier (if any).
- The Delivery PIN was entered (the order shows Completed).
If the buyer is scamming, they usually back down when faced with specific evidence. They may withdraw the dispute or stop replying.
If they double down and admin escalation happens, your evidence is your defense. The admin reads everything in the thread and decides.
Why "always offer something" usually wins
Even when the buyer is wrong, offering something small often resolves the dispute faster than fighting it:
- A 10-15% partial refund on a 100,000 UGX order is 10-15k. Small.
- Admin escalation costs you 2-3 days of frozen money + the risk of a strike + the time you spend on the thread.
The math: a small offered concession is usually cheaper than letting a borderline case go to admin and rolling the dice.
This isn't about being a doormat — it's about pricing risk. Reserve your hard "no" for cases where you have strong evidence and the buyer's claim is clearly wrong.
When NOT to refund
Refunding everything that comes your way is also wrong. You'll attract refund-hunters and burn margin.
Don't refund when:
- The buyer is asking for a refund for an item they kept and use.
- The buyer's claim is clearly contradicted by your evidence.
- The buyer was warned about an issue (size runs small, fragile, etc.) in the description.
- The buyer is using threats or insults instead of evidence.
In these cases: hold the line, present your evidence, let admin decide. Sometimes you lose; usually you win when your evidence is clear.
Evidence that wins disputes
Admin gives weight to:
- Photos timestamped on the day of dispatch. "Here's the parcel as it left my shop."
- WhatsApp chat screenshots showing the buyer's earlier messages (acknowledging receipt, agreeing to terms, etc.).
- The rider's confirmation message that delivery was completed.
- The product page screenshot showing what was promised.
- The Order timeline (dispatch date, delivery date, PIN entry date) — already visible in the dispute, but reference it in your reply.
Evidence that doesn't win disputes:
- "I always ship quality items" (claims, not evidence).
- "Other buyers haven't complained" (irrelevant to this case).
- "It's been months, what do you want" (avoiding the issue).
The 48-hour clock
Reply within 48 hours, always. Even if you can't fully resolve in 48 hours, a quick "Hi @username, I see the dispute. Let me look into the order and get back to you within the day with a real reply." is better than silence.
After 48 hours of no reply, admin steps in. Admin only sees the buyer's side + the order timeline. Your story isn't there. You lose the dispute by default.
What "admin decides" actually looks like
If you and the buyer can't agree within 48 hours, an admin reads the case. Within 2-3 business days they:
- Post a decision in the thread.
- Either resolve in the buyer's favor (refund), the seller's favor (you're paid), or a compromise (partial refund).
- Optionally flag the case for a strike on the seller.
You can reply to admin's decision asking for re-review only if you have new evidence you didn't post the first time. Otherwise the decision stands.
How a single bad dispute becomes a real problem
A single dispute, well-handled, costs you a small amount of money and maybe 30 minutes of typing. No strike, no penalty tier.
A single dispute, badly handled, can:
- Generate a strike.
- Earn you a 1-star review (the buyer almost always reviews after).
- Trigger nearby buyers to second-guess your shop ("hmm, recent bad review").
- Build into a pattern that eventually puts you in Slow or Hidden tier.
This is why the 30-minute investment in a good response is one of the highest-leverage moves you make on KampalaSnap.
Common questions
What if the buyer is rude?
Respond politely anyway. Admin reading the thread sees who escalated the tone. Calm-on-rude beats matched-rudeness every time.
If the buyer is genuinely abusive (harassment, threats), you can report them from the dispute thread. Admin can flag them as a problem reporter.
Can I refund partially to close a dispute?
Yes. Discuss the partial in the thread. If the buyer agrees, both of you confirm and the order resolves with a partial refund — escrow sends part to you, part back to the buyer.
The mechanics are: buyer closes the dispute → admin processes the agreed amount. No further admin review needed.
How do I refund through the dispute thread?
You don't refund directly. You offer a refund in the thread. The buyer accepts. Admin (or the system) processes the refund.
Don't refund through MoMo or any off-platform method. That ends up with you paying twice (the off-platform amount AND the on-platform amount).
A buyer keeps reopening the same dispute. What do I do?
Buyers can only open one dispute per order. They can extend the existing dispute, but can't open a new one if the first was resolved.
If they're abusing the dispute thread (re-replying with new demands after agreed resolution), report them and let admin handle.
Will every dispute show up on my Insights?
Insights → Disputes tab shows your full dispute history. Useful for spotting patterns. If your Insights show a sudden spike in disputes, something's broken upstream (a product description is misleading, a rider keeps damaging items, etc.). Fix the root cause.
Are disputes confidential?
The thread is visible to buyer, seller, and admin only. Other buyers can't see it. The outcome (refund / no refund) doesn't appear on your public shop page; only your overall rating reflects long-term trends.
What's next
- Penalty tiers — what multiple disputes lead to.
- When orders come in — the order flow that disputes interrupt.