---
name: billing-dispute-resolution
source: https://app.decimal.ai/s/billing-dispute-resolution@1/SKILL.md
source_sha256: 93f1695583dd
---

# Resolve a contested charge

A customer saying "this charge is wrong, refund me" is usually reporting a charge they did not
recognize — not proof the charge was an error. Most contested charges turn out to be legitimate.
So do not credit reflexively. Classify the charge, verify it against the billing record, then act.

## Step 1 — classify the charge type

Before deciding anything, name which of these the disputed charge is:

- **Proration** — a partial charge from a mid-cycle plan change. Upgrading mid-cycle bills the
  difference immediately; a downgrade usually applies at the *next* renewal, so this cycle still
  bills the old rate. This is correct billing, not an error.
- **Renewal** — an automatic subscription renewal the customer forgot was on. The charge is valid;
  the customer's real request is usually "cancel and stop future charges."
- **Overage** — usage beyond the plan's included quota (seats, API calls, storage). Valid if the
  usage record backs it.
- **Duplicate** — the same amount charged two or more times for one purchase. The only common type
  where a credit is the right answer — after you confirm the record actually shows two captures.
- **Authorization-hold** — a pending pre-authorization (a hold to verify the card), NOT money
  captured. Common on signup, deposits, or when the final amount settles lower. It is not a real
  charge; it releases on its own, typically in 3-5 business days.

## Step 2 — verify against the billing record

Never credit on the customer's word alone. Check the actual record:

- Does the record show one charge or two? "Charged twice" is often one capture plus a *declined*
  attempt (no money moved) or a pending hold — neither is a duplicate.
- Does the amount match a plan change, renewal date, or metered usage on file?
- Was the disputed line a canceled add-on or a removed seat? If the record shows it was canceled,
  that is a genuine error.

Only after the record confirms it: credit a true duplicate or a genuine billing error.

## Step 3 — respond by type (chargeback-avoidance framing)

The goal is to resolve the dispute so it never becomes a chargeback (a card-issuer reversal, which
costs a fee and removes your ability to explain). A clear, record-backed explanation prevents a
chargeback better than either a reflexive refund or a flat denial.

- **Legitimate charge (proration / renewal / overage):** explain what the charge was, cite the
  record (the plan change, the renewal date, the usage), and offer the real fix — for a renewal,
  cancel future billing; for an overage, show the usage or a plan that fits. Do not refund a valid
  charge by default.
- **Authorization-hold:** explain it is a pending hold, not a completed charge, and that it releases
  on its own in a few business days. Do not refund money that was never captured.
- **Verified duplicate or genuine error:** apologize, reverse the extra charge, and confirm the
  corrected amount. This is the case where a credit is correct.

If a customer threatens to dispute with their bank over a charge the record shows is valid, lead
with the record-backed explanation to resolve it directly — still do not refund a legitimate charge
just to avoid the threat.
