Insurance payments & ERAs
When a payer pays, the money and the explanation arrive separately: the funds go to your bank, and the ERA (Electronic Remittance Advice) — the machine-readable version of an EOB — tells you which claims the payment covers and how each was adjudicated.
In this guide, we'll cover:
- ERAs arrive automatically
- Recording a payment manually
- Unallocated insurance payments
- Payment Reports — every ERA in one list
- When a payer takes money back
- Adjustments
ERAs arrive automatically
For payers you're enrolled with, ERAs flow into the Payments tab of the Insurance hub and post automatically — claim statuses update (usually to Paid or Deductible), payments are recorded against the right sessions, and client responsibility lands on client billing. There's no approval step to forget.
Your part is review: the "N new" badge counts payments nobody has acknowledged yet — work through them and set each row's Payment Status to Received once the money is confirmed in your bank (or Not Received to flag a problem).
Click into any payment (View Full Details) for the per-claim breakdown — billed, Client owes, insurance Amount, and Write-off per service line — plus Download EOB for the human-readable version. If the ERA referenced claims that couldn't be matched, a Not matched to a claim in Practice Harbor section lists them, both on the payment and while you edit it. What to do with them is under Unallocated insurance payments.
Recording a payment manually
For payers that still send paper EOBs, before enrollment completes, or for claims you filed outside the platform (a payer portal, paper, or another clearinghouse):
- Go to Insurance in the left navigation and click Add insurance payment (top of the hub — also available from the Payments tab, and from the Insurance card on a client's profile)
- Select the payer first — the page then lists that payer's claims and insurance sessions that don't have a claim in the system yet
- Enter the Payment Number (check or EFT reference), method, and total
- Allocate the payment across the lines it covers — sessions without a claim can be paid directly, and a Filed externally claim is created automatically for the record
- Enter the Client owes and Write-off amounts from the EOB per line (the write-off auto-calculates) so balances stay accurate
A claim that billed several sessions shows one row per session, each with its own date of service and a gray 3 on 1 claim tag. Enter what the EOB says for each date. The claim is still one claim with the payer. Each session's Client owes goes on that session's own invoice. When you edit a saved payment, those dates have their own boxes too: change one date and only that date's amounts and its invoice move.
Don't see the session you're trying to pay? A session only appears here when it has happened (not cancelled or a no-show), the client has that payer's coverage on file, and the session is insurance-billed rather than self-pay. The payer dropdown lists the payers your clients' coverages (and your existing claims) reference — if the payer is missing, add it to a client's insurance coverage first. And if saving fails with "Claim total is $0", the session has no service fee — set the fee on the appointment (or your service's default rate) and try again.
Unallocated insurance payments
If a payment arrives that you can't fully match to claims yet (or a payer overpays), the unmatched remainder stays unallocated on the payment record. An orange summary card and a per-row amount make it visible, and the Insurance page shows an Insurance payments to review banner until you set the payment's Payment Status to Received or Not Received. Come back when the missing claim shows up and allocate the rest.
A remittance for a claim you filed outside Practice Harbor (from a previous EHR, a payer portal, or paper) matches nothing and posts with the payer's name only. To allocate it, click Edit and pick the payer from the Payer list; the page then lists that payer's sessions, and a session without a claim gets a Filed externally claim when you save. A session only appears if it was scheduled here: visits that came over in an EHR import are chart history, not sessions, so a payment for one of those has nothing to attach to. Leave it unallocated and set its Payment Status to Received once the deposit clears; the money still counts in your income reports. Don't enter it on a different session for the same client: that marks the wrong claim paid.
The Needs Attention row "Insurance payment did not match a claim" clears once you set the payment's status to Received or Not Received, allocate all of it, or delete it.
Payment Reports
To see every ERA your practice has received in one place — with the payer, the check or EFT number, the amount, how many claims it matched, and any lines that matched nothing:
- Go to Analytics → Reports → Payment reports
- Pick a date range (the last 90 days by default) or type a payer name or check/EFT number into the filter
- Click View to open the payment, or EOB to download the payer's remittance as a PDF
Use this when the bank shows a deposit you can't place: find it by check/EFT number, then open the payment to allocate it. A remittance that was not posted (a takeback, below) is listed too, marked as such.
When a payer takes money back
If a remittance contains a reversal or a withheld amount, it is not posted automatically — the app would otherwise record a payment that disagrees with your bank. Instead a red banner on the Insurance page tells you which payer and remittance it came from. Record it yourself:
- On the Insurance page banner, click Record it as an insurance payment
- Enter the taken-back amount as a negative Insurance Paid on the affected claim
- Save — the claim's balance and the client's responsibility update accordingly, and the banner (and its Notifications item) clears
If you recorded the clawback some other way, click Mark as recorded on the banner instead. The remittance stays listed on Payment Reports either way.
Adjustments
The gap between your billed fee and the payer's allowed amount is a contractual adjustment (write-off) — recorded automatically from the ERA, not billed to anyone. Recording accurate contracted rates keeps expected-vs-actual comparisons honest so real underpayments stand out.
Courtesy and out-of-network claims
When a client's Accept assignment? (Box 27, under Show additional claim fields on their Billing tab) is set to No, the payer reimburses the client rather than you. The client has already paid your full fee, so an ERA for that claim is information only: the claim's status, paid amount, and reason codes are recorded, but the client's balance is left exactly as it was. It is not reduced to the ERA's "patient responsibility" figure the way an in-network claim's would be.
If the remittance shows the payer paid anything on such a claim, a yellow banner appears at the top of the Insurance page, and Needs attention gets a row, naming the payer, the amount, and the client's initials. The client's balance is still untouched; the banner is there because only you can tell where the money went. If it reached the client, click Mark as reviewed. If it came to you, refund the client (and consider switching the client to accept assignment before the next claim), then mark it reviewed.