Statements
Outcome
Patient statements run on the configured cadence, contain the right charges with clear language, and the platform records when each was sent (electronic + paper) so you can answer member questions.
Prerequisites
| Scope | What it lets you do |
|---|---|
billing.statements.read | View statement runs |
billing.statements.run | Trigger a statement run |
billing.statements.write | Cancel / resend a statement |
The patient-billing module must be enabled for your tenant. Some tenants outsource statements to a third party; check before assuming the in-platform flow.
The shape of a statement
Each statement aggregates the member's patient AR as of run time. The as of date is on the statement; later activity (payments, refunds, new charges) shows on the next run.
Statement runs
/patient-billing/statement-runs shows every batch:
| Column | Meaning |
|---|---|
| Run date | When the run executed. |
| Cadence | monthly, weekly, cycle-N. |
| Members | How many statements generated. |
| Sent electronic | Email + portal counts. |
| Sent paper | Mailed counts. |
| Status | PENDING, RENDERED, SENT, BOUNCED, RETURNED. |
Click into a run for the per-statement detail.
Triggering an ad-hoc run
For a single member or a small cohort:
Open the member or filter the list.
Click
Generate statement. The platform renders the PDF + the electronic-channel content.Review before sending — ad-hoc statements bypass the schedule but go through the same renderer.
Send via the picked channel (email, portal, mail).
Statement rules
The platform respects:
| Rule | Effect |
|---|---|
| Minimum balance threshold | Tenants typically suppress statements below $5 or $10. |
| Member opt-out | If the member opted out, the statement is skipped. |
| Pending appeal | Some tenants pause statements while the underlying claim is appealing. |
| Payment plan | Active payment plans skip the standard statement and run their own schedule. |
Channels
| Channel | Default |
|---|---|
| Members with verified email + opt-in. | |
| Portal | Members with portal access. |
| Paper mail | Default for everyone else. |
The platform tracks delivery: bounces, returns, opens (where the email provider supports it).
When a member calls about a statement
The member detail's Statements tab shows every statement they've been sent:
| Column | Helpful for |
|---|---|
| Sent date | "When did I get this?" |
| As-of date | "Why does this not match what I paid?" |
| Channel | "Did I get an email?" |
| Lines | "What is this charge?" |
| Resend | Click → re-render and re-send. |
Click into a statement → the rendered PDF + electronic preview.
Validation
| Check | Expected |
|---|---|
| Run produces one statement per eligible member | Yes. |
| Suppressed members log the suppression reason | Yes. |
| Bounces flag the run | Yes. |
| Resend produces a new audit row | Yes. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Member didn't get a statement they expected | Below threshold, opted out, paused for appeal | Check the suppression log. |
| Statement amount disagrees with ledger | As-of date — newer activity not on this run | Rerun ad-hoc. |
| Lots of bounces | Email list stale | Refresh from member intake; re-run after correcting. |
| Returned mail | Bad address | Update member; flag for next run. |
Where to next
- 7.4 — Write-offs vs adjustments — the right call when patient AR can't collect.
- 4.8 — Manual posting — when patients pay outside electronic channels.