Underpayment check

Find the codes your payers allowed below your rate.

Upload your allowed amounts by CPT code. We compare each one with the rate your payer published for your practice and show you the potential underpayments: which codes, how many claims, and the dollar gap, worst first.

Check your underpaymentsSee an example

On every paid plan, from $99/month · cancel anytime

Why underpaid claims go unnoticed

An underpaid claim looks exactly like a paid one.

An insurance underpayment is a claim the payer allowed below your contracted rate. When that happens, your practice management system posts the difference as a contractual adjustment and the claim closes at a zero balance, the same as one paid correctly. No denial, no rejection, nothing in a work queue.

The usual causes are mundane: an old fee schedule still loaded at the payer, or a rate update that never made it into their system. Each costs a few dollars a claim, on every claim for that code, until someone compares.

Comparing by hand means pulling your rate for every code at every payer, then lining it up against what was allowed. Most practices only do it when a payment looks obviously wrong. The check does that comparison for every code you upload.

Allowed, paid, contracted

Compare the allowed amount, not the payment.

Three numbers sit on every remittance line, and only one of them tells you whether the payer honoured your rate.

Not an underpayment
Your rate for the code
$141.00
Allowed by the payer
$141.00
Patient’s deductible
$100.00
Paid to you
$41.00

The payment is $100 short of the rate, but the payer allowed the full $141. The rest is the patient’s to pay. Comparing payments to rates flags this claim; comparing allowed amounts doesn’t.

A potential underpayment
Your rate for the code
$141.00
Allowed by the payer
$128.00
Patient’s copay
$30.00
Paid to you
$98.00

The payer allowed $13 less than your rate. That gap repeats on every claim for this code until it’s raised, and it’s exactly what the check looks for.

Illustrations with made-up figures. Allowed amount vs paid amount vs contracted rate, in full → How to spot underpayments by CPT code →

How the check works

Four steps, and no patient data.

  1. 01

    Build your fee schedule

    Your NPI, the codes you bill and the payers you take. We read each payer’s published file and lay out your rate for every code. This is what your allowed amounts are checked against. Fee schedule →

  2. 02

    Export allowed amounts, totalled by code

    From your practice management system, export allowed amounts grouped by CPT code, modifier and place of service, with a claim count: one row per combination, never one per patient. Most practices end up with a few dozen rows. The app gives you a sample file to match.

  3. 03

    Upload it for one payer

    Each code’s allowed amount is compared with the rate on your fee schedule. Within a dollar of the rate counts as the rate. Claims carrying a modifier that changes what the payer pays, such as 26, TC, 50 or 51, are set aside and listed as not compared rather than reported as underpaid. Modifiers that don’t change payment, such as 25 and 59, are compared as normal.

  4. 04

    See the gap, code by code

    Which codes were allowed below the published rate, how many claims that touched, and the dollar difference, sorted worst first. A code we can’t compare says why: priced as a percentage of charges, not published for your office, or not in the payer’s file. Every check is saved and downloads as a CSV.

What you get

A result you can take to the payer.

Underpayment checkExample payer · last quarterExample — a made-up practice and made-up numbers
184 claims below the published rate

$1,680.00 across 2 codes, worst first

CodeServicePublished rateClaimsBelowGap
99214Office visit, established, 30–39 min$128.4041296$1,152.00
99396Preventive visit, 40–64$171.258888$528.00
99213Office visit, established, 20–29 min$92.105380—
20610Joint injection, major joint$64.00310—
12 claims carry modifier 50, which changes what the payer pays — not compared
90834Psychotherapy, 45 min—120——
Published as a percentage of charges — no dollar rate to compare

A gap is worth checking, not a guaranteed recovery: a contract amendment, bundling edits or a secondary payer can explain a real difference.

Prefer to try it by hand first? Download the free underpayment audit template →

What a finding means

A gap, not a promise.

We show the difference between what was allowed and what was published. We don’t print a single “you are owed” figure. Whether a gap is recoverable depends on your contract, the claims and the payer’s process.

A real difference can have a legitimate reason: a contract amendment after the payer’s file was published, bundling edits, or a secondary payer. When it doesn’t, the usual next step is a reprocessing request or appeal to the payer, citing your contract and the claims. The AMA publishes a sample claims underpayment letter to start from. A pattern across a code is also evidence for your next contract renewal.

What it costs

$99 a month, against a gap that repeats on every claim.

An illustration, not a result: if 99214 is allowed $8 below your rate and you bill it 400 times a year with that payer, the gap is $3,200 a year, on one code at one payer. The Practice plan is $99 a month for underpayment checks, your fee schedule and rate monitoring. Cancel anytime.

Check your underpaymentsSee pricing

Your data

Totals by code. Nothing that identifies a patient.

Never leaves your computer

  • Patient names, member IDs, dates of birth
  • Claim numbers or any free-text field
  • Individual claims — only totals are sent

What we receive

  • CPT code, modifier, place of service
  • Allowed amount and claim count, per combination
  • Nothing that identifies a person

Questions

Underpayment checks, answered.

Do I need to upload patient data?

No. You upload totals: one row per CPT code, modifier and place of service, with the allowed amount and how many claims it covers. No names, member IDs, dates of birth, dates of service or claim numbers.

Which amount do I upload, allowed or paid?

Allowed. The paid amount is what is left after the patient’s deductible, copay and coinsurance, so it is lower than the rate on most commercial claims even when nothing is wrong. The allowed amount is the figure to hold against the rate.

What file does it take?

A CSV with five columns: cpt_code, modifier, place_of_service, allowed_amount and claim_count. Most practice management systems can export allowed amounts by code; the app gives you a sample file to match.

What is my allowed amount compared with?

The rate your payer published for your practice under the federal Transparency in Coverage rule, as it sits on your RateBench fee schedule. A code you billed that isn’t on the schedule is looked up on its own.

How are modifiers handled?

Claims carrying a modifier that changes what the payer pays (26, TC, 50, 51, 52, 53, 54, 55, 62, 66, 73, 74, 78, 80, 81, 82 or AS) are set aside and listed as not compared, so they are never reported as underpaid. Modifiers that don’t change payment, such as 25 and 59, are compared as normal.

Is a gap money I am owed?

Not necessarily. It is a potential underpayment worth checking. A contract amendment after the file was published, bundling edits or a secondary payer can explain a real difference. The check gives you the codes, claim counts and amounts to take to the payer.

What does it cost?

Underpayment checks are on every paid plan. The Practice plan is $99 a month and also includes your fee schedule across the payers you take and rate monitoring. Cancel anytime.

Check one payer this week.

Start with your biggest payer and your most-billed codes. On every paid plan, from $99 a month.

Not ready? Look up one rate free or see the payers we read.