Playbook · Updated October 7, 2026

Handling disputes and chargebacks

The finance playbook for contested money: how card chargebacks arrive, where disputes show up, flagging an invoice dispute, and what pauses dunning.

A dispute is money you thought was settled that someone is now contesting. In Throttle there are two kinds, and they work differently: card chargebacks, raised by the buyer’s bank, and invoice disputes, raised by your team when a buyer on terms won’t pay. For the developer view, see Disputes and chargebacks.

Card chargebacks arrive on their own

When a buyer disputes a card payment with their bank, the processor tells Throttle, and Throttle flags the matching payment as Disputed — no one has to enter it. When the processor decides the case, Throttle records the outcome on its own:

  • Won or reversed: the flag clears and the order reads as paid again.
  • Lost: the flag clears, the payment shows Chargeback lost, and the order’s payment status becomes Chargeback lost — the money was taken back. A payment.dispute_lost webhook fires once.

So Disputed always means “open right now” — a case with a deadline.

Contesting the chargeback — uploading evidence, meeting the deadline — happens in your processor’s own dashboard. Throttle records where the dispute stands; it doesn’t run the case.

Where disputes show up

PlaceWhat you see
Dashboard homeA Disputes count
OrdersFilter All payment statuses → Disputed for open cases, or Chargeback lost for the ones you lost, and Export CSV for a working list
An order’s Payments tabA red Disputed badge, with the reason on hover
Receivables → OverviewA Disputed card for invoices excluded from dunning
Receivables → AgingDisputed invoices stay listed, with a badge

Throttle doesn’t email you when a dispute opens. If you need to hear about it straight away, subscribe to the payment.disputed webhook — or ask an AI assistant for the attention digest each morning.

Disputing an invoice

When a buyer on invoice terms contests an invoice — wrong quantity, goods not received — flag it so the reminders stop while you sort it out:

  1. Open Receivables → Invoices and the invoice.
  2. Click Open dispute, describe the reason, and confirm.
  3. The invoice now shows a Disputed block, and Mark as paid is disabled while it’s open.

While it’s disputed, the invoice is skipped by the overdue-reminder run: the buyer gets no overdue emails and no invoice.past_due webhook fires. It still counts in aging, so it doesn’t disappear from your receivables.

When it’s resolved, click Clear dispute — there’s no confirmation, so be sure. The reason and opened date stay on the record, and both actions are in the audit log.

Who can do it

Opening and clearing invoice disputes needs a role that can change orders — owner, workspace admin, app admin, or developer. The finance role can see disputes but can’t open or clear them; ask an admin, or have your role widened.

Resolving the money

  • Buyer was right: refund or credit them — see Handling returns, exchanges, and refunds — then clear the dispute.
  • You were right: clear the dispute; reminders resume on the original due date.
  • Partial agreement: record what they did pay with Record payment on the order, then clear.