# Reading the dashboard

The dashboard is the app you sign into at `app.moderncollections.io`. Top-level routes you'll use day-to-day: **Overview**, **Placements**, **Live**, **Analytics**, **Payments**, **Debtors**, **Statements**, **Settings**. This page is a tour.

## Overview page

The first thing you see after logging in. It pulls from `/v1/analytics/summary` and renders:

* **Header stats** — the total number of placements you've placed, and the outstanding balance (`total_placed_amount - total_recovered_amount`).
* **Four KPI cards** — Outstanding, Recovered MTD (with recovery rate), In outreach (active accounts), Avg days to pay.
* **Recovered (last 30 days)** — an area chart of daily recovered amounts.
* **Activity feed** — recent events for your tenant (right-hand column).
* **Status distribution** — a bar chart showing how your placements are distributed across statuses.
* **Calls by day & hour** — a 14-day heatmap of call volume.
* **Recent placements** — the six most recently-placed accounts. Click any row to open the placement.

There is no "Open actions" card today, no plan-approval inbox, and no per-event badge counter — the Activity feed and your notification emails are the queue.

## Placements page

Every account you've placed with us, paginated 25 per page, with a status-chip filter and a search box.

Columns shown:

| Column   | What it tells you                           |
| -------- | ------------------------------------------- |
| Debtor   | Company name (linked) plus state            |
| Invoice  | Your invoice number                         |
| Amount   | Original invoice amount (sortable)          |
| Past due | Days past due, red if >30 (sortable)        |
| Status   | The placement status (see below)            |
| Placed   | When you placed it (sortable, default sort) |

The **status** filter chips cover:

* `pending_enrichment` — we're looking up contact info before doing anything else.
* `ready` — enrichment is done; outreach hasn't been scheduled yet.
* `in_outreach` — calls and emails are actively going out.
* `disputed` — debtor disputed; outreach is paused.
* `pending_payment` — a payment is in flight.
* `paid` — done. Money received.
* `closed_uncollected` — closed without recovery.
* `recalled` — you withdrew the placement.

A few internal statuses can also appear in the data (`needs_review`, `resolved`, `resolved_out_of_band`, `withdrawn_by_creditor`) — they're set by the QuickBooks integration when a placement was settled outside the platform; for day-to-day work treat them as variants of "closed."

Click any row to open the placement detail view.

## Placement detail page

Everything we know about a single placement, on one page.

Top of page: debtor name, status pill, invoice number, posture (`preserve` / `escalate`), and intake channel. Below that, a five-tile metric row: Invoice Amount, Days Past Due, Recovered, Fee Amount, Placed date.

Side-by-side cards below the header: **Debtor Information** (company, entity type, location, email, phone) and the **Compliance** card (whether calls/emails are currently allowed, with an expiry). A **Planner operations** card shows runtime state (next/last planner tick, current call/email state, settlement availability).

If the placement is in `disputed` status, a **Dispute Center** card appears above the tabs. It has a single **Acknowledge dispute** button — see [Responding to a dispute](/for-creditor-partners/creditor-operations/responding-to-a-dispute.md).

Tabs:

* **Timeline** — every audit event in chronological order, streamed live via Supabase Realtime.
* **Calls** — list of calls placed, each with outcome badge, AI summary, transcript viewer, and recording playback (when consent permits).
* **Emails** — list of emails sent and received as a threaded view.
* **Payments** — payment attempts (status, amount, method, failure code, time).
* **Context** — uploaded documents (invoices, contracts, proof-of-service, etc.) and the extracted "context" they produced.
* **Audit Trail** — every audit event with filters by event type, actor, and date range.

**There are no Pause, Recall, Mark-as-paid, or Approve buttons on this page today.** Recall is available via the API (`POST /v1/placements/{id}/recall`) but is not yet wired into the dashboard UI. See [Pausing or recalling a placement](/for-creditor-partners/creditor-operations/pausing-or-recalling-a-placement.md) for the current options.

## Live page

A streaming audit-event feed for your tenant. Filter chips: All / Calls / Emails / Planner / Compliance. Pause/resume, click-through to the placement, last 250 events buffered. See [Live feed overview](/for-creditor-partners/creditor-operations/live-feed-overview.md).

## Analytics page

Aggregate views across your placements:

* **KPI tiles** — Recovery rate, Recovered total, Fees earned, Avg days to recovery.
* **Recovered (90 days, cumulative)** — area chart.
* **Top 10 debtors by outstanding** — horizontal bar.
* **Days to payment** — bucketed bar chart (paid placements only).
* **Email funnel (30 days)** — Total / Sent / Opened / Replied / Bounced.

No "dispute rate" or "escalation rate" chart exists today.

## Payments, Debtors, Statements pages

* **Payments** — table of payment attempts (succeeded / failed / processing / etc.) across all your placements, with live updates.
* **Debtors** — top debtors by outstanding balance, ranked.
* **Statements** — monthly remittance statements with download links.

## Settings page

Creditor Profile (read-only), Default Collection Posture (preserve/escalate toggle), Webhook URL, API Key, Notification preferences, QuickBooks Online integration.

## Tips

* **Use the filter chips on Placements.** They persist within a session and re-fetch on toggle.
* **The Live page is the fastest spot-check.** Watch for compliance (yellow) and planner (info-bordered) events.
* **Star a placement, bookmark a filter, bulk actions** — these are planned but not yet available.

## TODO

* Screenshot: overview page.
* Screenshot: placements list with status chips highlighted.
* Screenshot: placement detail page timeline tab.
* Screenshot: call playback with synced transcript.

***

Last reviewed: 2026-05-24 by Customer Success.


---

# 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-creditor-partners/creditor-operations/reading-the-dashboard.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.
