1. Your remittance file(s)
Download the 835 (often .835, .txt, .edi or .era) from your clearinghouse or payer portal. You can choose several files at once. A PDF explanation of payment will not work; it has to be the electronic file.
2. Your contract rates (optional)
One line per code: 99213,92.50. A modifier can follow a dash: 99213-25,80. The rate is the allowed amount per unit. Leave this empty to compare each payer with its own usual amount instead.
Choose a file or paste the text, then click Analyze.
Result
Lines paid below the expected amount
| Payer | Claim | Code | Units | Expected | Allowed | Short by |
|---|
Shortfall by code
| Code | Lines | Expected | Allowed | Short by |
|---|
Denied claims by reason
| Reason | What it means | Usual next step | Claims | Billed |
|---|
By payer
| Payer | Claims | Denied | Billed | Paid | Paid / billed |
|---|
Where the money went (adjustments)
| Code | What it means | Lines | Amount |
|---|
Provider-level adjustments
| Payer | Reason | Reference | Amount (positive reduced payment) |
|---|
The model, and what it leaves out
- Allowed amount for a line is the AMT allowed amount when the file carries one, otherwise payment plus patient responsibility, plus any sequestration reduction added back. Coordination of benefits, withholds and capitation make that inexact, so treat a flagged line as a question to put to the payer.
- Underpaid means expected (your rate times units) minus allowed is above the tolerance. Only lines that paid something and carry no adjustment other than the contractual write-off, patient responsibility or sequestration are tested; the rest are counted as skipped.
- Without a schedule the test is a payer against its own most common per-unit amount for a code (at least three clean lines, at least half agreeing). It finds inconsistency, not proof of a breach.
- Denials are claims with status 4, or nothing paid and a non-patient adjustment. Reversals are not denials. Reason text is from memory and abbreviated; unknown codes are labelled unknown.
- Balance checks test that charge less payment equals the listed adjustments on each claim and line, and that each deposit equals claim payments minus provider-level adjustments.
- Not modelled: payer appeal deadlines, rates that change by date of service, place of service, plan or provider, multiple-procedure and bundling rules, secondary-payer logic, interest owed on late payment, and anything not in the file.
Common questions
How do I find out if an insurance payer underpaid my practice?
Drop the 835 electronic remittance file your clearinghouse or payer portal gives you into this page and paste your contract fee schedule (one line per CPT code and rate). The tool works out the amount each payer allowed on every service line, from the AMT allowed amount when the file has one or from payment plus patient responsibility when it does not, and lists the lines allowed below your contract rate by more than a tolerance you set. The file is read in your browser and never uploaded.
What if I do not have my contract rates handy?
Leave the schedule empty. The tool then compares each payer with its own most common allowed amount per unit for the same code, using only codes with at least three clean lines from that payer. That finds inconsistent pricing inside the file, but a legitimate difference such as place of service or plan looks identical, so treat those as questions to ask the payer, not as proof.
Is it safe to put an 835 file with patient information into a web page?
The page runs entirely in your browser: the file is read locally, nothing is sent anywhere, and a test in the code asserts there are no network calls. Patient names and member IDs are never read into the page's data; claims are identified by the patient control number your own system assigned. This is not a HIPAA compliance assessment. If your policies bar pasting PHI into any browser tool, run it from a downloaded copy of the page on an approved machine or do not use it.
Which lines does the underpayment check skip?
Lines that paid nothing, and lines carrying any adjustment other than the contractual write-off (CO-45), patient responsibility or sequestration (CO-253). A line reduced for bundling, a multiple-procedure rule or medical necessity is not a clean test of your contract rate, so it is counted as skipped rather than flagged.
What do the denial reason codes mean?
The tool translates the common Claim Adjustment Reason Codes into plain language and suggests a usual next step: resubmit with a fix, appeal, check the contract, bill another payer or bill the patient. The list is written from memory and abbreviated, so a code it does not know is shown as unknown rather than guessed. Payer-specific remark codes are not read.
How to read an 835 ERA file, and find the lines a payer underpaid
Is this legal, billing or compliance advice?
No. It does arithmetic on the file you provide and the rates you enter. It is independent and is not affiliated with any payer, clearinghouse or the X12 standards body.