> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Plan Reporting

> Dashboard of payment plan KPIs including active plan count, compliance rate, average collection days, and total outstanding balance.

The Payment Plan Reporting page (`/pm/payment-plan-reporting`) provides a KPI summary and charts for monitoring the health of patient payment plans across the organization.

## Overview

The page displays four KPI cards: Active Plans (count of plans with `status = 'active'`), Compliance Rate (completed plans as a percentage of completed plus defaulted plans), Avg Collection Period (placeholder — currently always 0), and Total Outstanding (sum of `remaining_balance` across active plans). Below the KPI cards, two charts are shown side-by-side: an Aging Tier Distribution horizontal bar chart and a Payment Plan Compliance Trend line chart. All data is scoped to the current organization and loaded via `usePaymentPlanDashboard`.

## Who it's for

Requires permission: `pm.payment-plans.report` (`PM_PERMISSIONS.PAYMENT_PLANS_REPORT`) at the route level.

## Before you start

* Your account must have the `pm.payment-plans.report` permission to reach the page.
* Payment plan records must exist in the system before KPIs will show meaningful values; with no plans, all cards show zero.

## Steps

<Steps>
  <Step title="Navigate to Payment Plan Reporting">
    Go to `/pm/payment-plan-reporting`. KPI cards load automatically for the current organization.
  </Step>

  <Step title="Review KPI cards">
    Check Active Plans, Compliance Rate, Avg Collection Period, and Total Outstanding at a glance.
  </Step>

  <Step title="Analyze Aging Tier Distribution">
    The horizontal bar chart breaks active plans across aging tiers (current, 30-day, 60-day, 90-day, 120-plus). Hover a bar for the count.
  </Step>

  <Step title="Review the Compliance Trend chart">
    The line chart shows the compliance rate over the most recent six months. Hover a data point to see the percentage for that month.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Compliance Rate">
    Computed as: `completed / (completed + defaulted) * 100`. When no completed or defaulted plans exist, the rate defaults to 100%.
  </Accordion>

  <Accordion title="Aging tiers">
    Plans are distributed across five aging buckets: current, 30-day, 60-day, 90-day, and 120-plus. The exact tier labels come from `AGING_TIER_LABELS` in the payment-plans-collections types.
  </Accordion>

  <Accordion title="Empty / loading states">
    While data is loading, each KPI card and chart displays a skeleton placeholder. When data returns with zero active plans, all KPI values show as zero and the aging chart renders empty bars.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Practice Management" icon="briefcase" href="/pm/overview">
    Overview of the Practice Management core.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/pm.tsx
  * src/cores/pm/pages/PaymentPlanReportingPage.tsx
  * src/cores/pm/hooks/usePaymentPlanDashboard.ts
  * src/platform/permissions/constants.ts
</Accordion>
