Post an ERA (Receivables walkthrough)
Outcome
An incoming 835 file is parsed, every line is matched to a claim, payments and adjustments are posted, variances are reviewed and reconciled, and the secondary / tertiary claim auto-builds where COB applies.
Prerequisites
| Scope | What it lets you do |
|---|---|
billing.receivable.read | View list / detail |
billing.receivable.write | Confirm posting; manually match unmatched lines |
billing.receivable.override | Force-match a low-confidence pairing |
A trading partner whose inbound 835 capability is enabled (see 5.6 — Trading partner credentials), so 835 files arrive automatically. You can also upload an 835 by hand.
Receivables list
/receivables shows every received 835 with status:
| Status | Meaning |
|---|---|
RECEIVED | File parsed pending review. |
AUTO_MATCHED | All lines matched at high confidence; safe to confirm. |
REVIEW_REQUIRED | Some lines need manual matching. |
EXCEPTIONS | Variances remain after auto-match. |
POSTED | All lines applied. |
CLOSED | Fully reconciled. |
Detail page — the 6 tabs
/receivables/:id opens with the parsed 835. The tabs are processed
left-to-right:
| Tab | Purpose |
|---|---|
| Auto-matched | Lines linked to claims with confidence ≥ threshold. Review and confirm. |
| Review | Lines linked to claims at low confidence — confirm or reject the suggestion. |
| Unmatched | Lines with no candidate claim. Manual match or write-off. |
| Exceptions | Variances — posted amount disagrees with expected. Resolve before close. |
| Adjustments | Claim-level CAS rows — typically PR-1/2/3 routed to patient AR. |
| Trace | Raw 835 segments and provenance — which loop produced which UI row. |
Steps
Pick a
RECEIVEDrow at/receivables. The detail page opens; the Auto-matched tab is the default.Review the Auto-matched tab. Each row shows claim ID, payer claim control number, billed, paid, adjustments. Click into any row for line- level detail. Confirm the page is sane (totals look right, payer matches), then click
Confirm auto-matched.Work the Review tab. Each row carries the engine's suggestion with a confidence score and a reason ("payer claim control number partial match", "member ID match only"). For each row, either:
- Confirm the suggestion → posts the line.
- Reject → moves the line to Unmatched for manual handling.
Work the Unmatched tab. For each line, use the Manual match dialog: search for a claim by member, payer claim control, or amount; pick one; confirm. The platform records the manual match and the user.
Work the Exceptions tab. Each variance shows expected vs. posted with the delta. Common causes:
Cause Resolution Payer applied a different fee schedule than your contract Update the contract / fee schedule and request a corrected ERA, or accept the variance. Modifier was downcoded Tag the denial appropriately; auto-correct or appeal. Patient liability greater than expected Confirm member's deductible / coinsurance is current. For each, either resolve and re-confirm, or accept the variance with a reason note.
Click
Post. The platform applies every confirmed line in a single transaction:- Updates each claim's balance.
- Writes
remittance_adjustmentrows. - Routes patient liability (
PR-1/2/3) to the patient AR. - Triggers secondary / tertiary claim build if COB applies (see 6.2 — COB & dual-eligibility).
- Generates denials for any
DENIEDlines (CARC groupCO, denied amount), which then enter the worklist.
Confirm closure. Once all variances are resolved, the row moves to
CLOSED.
Manual ERA upload
If a payer mailed a paper EOB and a CSV, or a partner you have not yet fully integrated with sent an ERA file out-of-band:
Click
Upload ERAon the list page. Drop the 835 file.The platform parses, dedupe-checks against prior receivables, and either creates a new receivable or returns 409 if the same
BPR-trace + TRN02pair already exists.Proceed through the standard tab flow.
Validation
| Check | Expected |
|---|---|
| All tabs reach 0 unconfirmed rows | Yes. |
Post finishes with no error | Yes. |
| Each claim's balance updates within seconds | Yes. |
| Secondary claim auto-built for COB cases | Yes; visible on the original claim's Relationships tab. |
report.export audit row written if you exported variance lines | Yes. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Confirm auto-matched is greyed | Some auto-matched rows fall below the post-confirmation threshold | Open them to confirm individually. |
| Manual match dialog finds no candidate | Claim was archived / never built / belongs to a different tenant | Use the Trace tab to see the payer claim control number; cross-reference with the /claims search. |
Variance with OA-23 adjustment | Informational impact-of-prior-payer; common on secondary claims | Accept; not an error. |
Posting fails with transaction_aborted | One line referenced a claim that was deleted between confirm and post | Re-open the receivable; the platform shows the now-orphaned line; re-match or skip. |