Write off with reason
Outcome
A denial that won't be paid (after appeal exhausted, or genuinely non- appealable) is written off with a reason your tenant can later report on, the receivable closes, and the audit trail is honest.
Prerequisites
| Scope | What it lets you do |
|---|---|
billing.denial.write | Write off |
billing.payment.write | Apply contractual write-off entries (rare; usually inferred) |
Some tenants gate write-offs behind a supervisor approval queue
(PENDING_WRITEOFF). Check your tenant's policy.
The taxonomy
Each reason is a tag on the audit row; reporting groups by reason on the dashboard's Write-off causes widget.
Common reasons
| Reason | When |
|---|---|
contractual | The CO-45 already applied; balance is contractual. (Mostly automatic; rare manual write-off.) |
timely-filing-expired | The window passed; appeal denied or not attempted with cause. |
non-covered | Payer policy excludes; not appealable for your tenant. |
auth-denied-final | Auth was denied at multiple levels; can't pursue further. |
patient-uncollectable | Patient AR unpaid past collection threshold. |
small-balance | Under tenant's small-balance threshold (commonly $5 or $10). |
bad-debt | Sent to collections and returned. |
other | Free-text reason required. |
Steps
Open the denial. Click
Write off.Pick a reason from the picklist. For
other, free text required.Confirm the dollar amount. The platform pre-fills the denial's remaining balance; you can split (rare — for partial write-offs).
Submit. The denial:
- Flips to
WRITE_OFF(orPENDING_WRITEOFFif your tenant gates). - Writes a
payment_applicationrow of typeWRITEOFFso the claim balance closes. - Generates an audit row with reason + actor.
- Flips to
(If gated): a supervisor approves at
/denials?status=PENDING_WRITEOFF.
Bulk write-off
For genuine pattern write-offs (e.g. small-balance sweep at month-end):
Filter denials to the pattern (e.g.
balance < 10 AND age > 90).Bulk select,
Mass write-off. One reason; applies to all selected.Confirm. Per-row audit rows write; supervisor gate applies row by row.
Reversing a write-off
When a payer surprises you with a corrected 835 reversing the denial:
The platform auto-detects the
CRreversal and flags the written-off denial.Click
Reopen. The write-off is reversed (audit logged), the denial returns toRESOLVEDwith the new payment, and the claim balance updates.
If the reversal didn't auto-detect, manually Reopen and post the
incoming 835 against the original claim — the platform reconciles.
Validation
| Check | Expected |
|---|---|
Denial flips to WRITE_OFF (or PENDING_WRITEOFF) | Yes. |
| Claim balance closes | Yes. |
| Audit row carries reason + actor + amount | Yes. |
Reopen reverses cleanly | Yes; balance returns. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Write off greyed | Denial in APPEAL_PENDING (cannot write off pending appeal) | Withdraw appeal first, then write off. |
| Tenant requires reason category but you can't see one | Tenant config | Ask admin; sometimes the picklist is empty until configured. |
| Bulk write-off skipped some rows | Some rows are in protected states (APPEAL_PENDING, RESOLVED) | Summary tells you N/M; redo on the residue manually. |
| Auto-reopen didn't fire | CR reference didn't match | Manual Reopen + post; ping support. |
Where to next
- 5.7 — Force-retry & overrides — when you need to bypass safety rails.
- 7.4 — Write-offs vs adjustments — when the right move is a patient-side write-off.