# Types of disputes

When a dispute is opened, the platform classifies it into a category. Knowing the category helps both sides understand what kind of evidence is needed and what the outcome might look like.

The system recognizes two layers of categorization:

* **In-call disputes** are tagged by the voice agent with a `dispute_kind` of `billing`, `quality`, `fraud`, or `other`.
* **Email/portal disputes** are matched by keyword against the response matrix into one of five buckets: `no_invoice`, `already_paid`, `wrong_amount`, `service_not_rendered`, or `wrong_party`. Anything that doesn't match falls through to `unknown` and is escalated to a human.

The categories below describe each bucket in debtor-friendly language.

## Category 1 — "I already paid"

**The debtor says:** the debt was paid before placement.

**Typical evidence the debtor provides:**

* Bank statement showing the payment.
* Canceled check.
* Payment confirmation email.
* Receipt.

**What the creditor should check:**

* Is the payment in their books?
* If yes, why was the placement still made? Sometimes the payment came in after the placement was submitted.
* If no, did the payment go somewhere wrong?

**Common outcomes:** every `already_paid` dispute is routed to a human reviewer in the current matrix — the platform does not auto-respond, because reconciliation requires checking the creditor's payment records.

## Category 2 — "I never got the goods or services"

**The debtor says:** the invoice is for something they didn't receive.

**Typical evidence the debtor provides:**

* Statement that the goods or services were never delivered.
* Cancellation notices or emails.

**What the creditor should check:**

* Delivery confirmation, shipping records.
* Signed delivery slips.
* Service completion records.

**Common outcomes:** if proof of service is on file and the debt is not past the statute of limitations, the platform auto-responds with the invoice attached. If proof of service is missing, the dispute is escalated to a human.

## Category 3 — "The amount is wrong"

**The debtor says:** they owe something, but not this much.

**Typical evidence the debtor provides:**

* Original order showing a smaller amount.
* Communications agreeing to a different price.
* Calculations showing the dispute amount.

**What the creditor should check:**

* The original invoice line items.
* Any prior credits, discounts, or partial payments.
* Whether late fees were added that the debtor never agreed to.

**Common outcomes:** if proof of service is on file and SOL is fine, the platform auto-responds with the invoice and underlying records attached so the debtor can reconcile. If proof is missing, it's escalated to a human.

## Category 4 — "I'm not the right person"

**The debtor says:** the invoice is for someone else, or for a business they have no connection to.

**Typical evidence the debtor provides:**

* Proof of identity showing they're a different person.
* Documents showing they're not associated with the named business.

**What the creditor should check:**

* The named party on the invoice.
* Any signed acknowledgment of personal guarantee, if pursuing an individual on a corporate debt.

**Common outcomes:** every `wrong_party` dispute is routed to a human reviewer — the platform does not auto-respond, because confirming the right party requires judgment.

## Category 5 — "I never received the invoice"

**The debtor says:** they never got the bill in the first place.

**What the creditor should check:**

* Whether the invoice was actually delivered.
* The contact channel and address records.

**Common outcomes:** if proof of service is on file and SOL is fine, the platform auto-responds with the invoice attached. Otherwise it escalates to a human.

## Statute-of-limitations handling

Some debts are too old to collect on. Every state has a statute of limitations, and the platform's SOL gate checks each placement against the rules in `config/compliance/states.json`.

When a dispute is filed on a placement that's past SOL, the auto-responder uses the `dispute_auto_sol_warning` template instead of the invoice-attached template. In three states — Mississippi, North Carolina, and Wisconsin — time-barred debt is legally extinguished and the system hard-stops all collection activity on it.

## Special situations the in-call agent handles separately

These don't go through the dispute matrix; they trigger their own structured tool calls:

* **Identity theft.** The agent fires `capture_identity_theft`; the case routes to a human reviewer (FCRA §605B may apply).
* **Bankruptcy.** The agent fires `capture_bankruptcy`; outreach halts immediately under 11 U.S.C. §362.
* **Attorney representation.** The agent fires `capture_attorney`; direct contact stops under FDCPA §805(a)(2).

***

Last reviewed: 2026-05-12 by Compliance Lead.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.moderncollections.io/for-debtors/disputes/types-of-disputes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
