# Contracted Rates: How to Find Yours by CPT Code

> The three places a practice’s negotiated rate exists — the contract exhibit, the remittance advice, and the payer’s monthly Transparency in Coverage file — how to obtain each, and how to reconcile them when they disagree.

- Published: 2026-09-18 (updated 2026-10-07)
- Author: RateBench
- Human page: https://ratebench.health/blog/find-your-contracted-rate
- This document: https://ratebench.health/blog/find-your-contracted-rate.md
- Product (sign up / app): https://app.ratebench.health

---

Ask a practice manager what Aetna pays for a 99214 and you will usually get one
of three answers: a number from memory, a number from the last remittance
advice, or an honest "let me find out." The third answer is the correct one,
and finding out is harder than it should be.

There are exactly three places your negotiated rate for a CPT code exists. Each
is obtainable. Each has a specific weakness. And the practices that get paid
correctly are the ones that hold all three next to each other.

## The short version

| Where the rate lives | What it is | How current | Its weakness |
|---|---|---|---|
| Your contract exhibit | The rate you actually agreed to | As of the last amendment you can find | Often incorporated by reference and never attached; may be a formula, not a number |
| Your remits (ERA/835) | What the payer priced a specific claim at | Current for codes you billed recently | Reflects edits, modifiers and your own charge — not the base contract rate |
| The payer’s published file | The rate the payer tells the federal government it negotiated with you | Updated monthly, by rule | Published in files built for regulators, not practices |

The rest of this piece is how to get each one, and what a disagreement between
them actually means.

## Why your own contract usually can’t answer the question

Practices are often surprised that the document in the filing cabinet does not
contain the number. Several reasons, all common:

**The fee schedule is an exhibit, and the exhibit is incorporated by
reference.** The signature pages say the parties agree to the compensation set
out in Exhibit B. Exhibit B was a spreadsheet emailed during negotiation, or a
link to a provider portal, and it is not stapled to what you kept.

**The rate is a formula, not a figure.** "115% of the then-current Medicare
Physician Fee Schedule for the locality in which services are rendered" is a
rate, but it is not a number until you resolve three variables: which year's
conversion factor, which geographic locality, and which RVU set. For 2026 the
conversion factor is **$33.5675** for clinicians in a qualifying alternative
payment model and **$33.4009** for everyone else — increases of 3.77% and 3.26%
over 2025, effective January 1, 2026. If your contract is written as a
percentage of Medicare, your rates changed on that date whether or not anyone
told you.

The 2026 rule did something more structural, too. CMS reduced the share of
indirect practice expense allocated to services performed in facility settings,
on the reasoning that facilities now bear those costs, and finalised higher
indirect practice expense values for office-based settings. So office-based and
facility-based codes did not move by the same amount. A single blended
assumption about "the Medicare increase" will be wrong for at least one half of
your code mix.

**"Then-current" and "prevailing" language means the payer can move it.** A
contract that pays the payer's "then-current fee schedule" has, in effect,
delegated the number to the payer.

**Amendments arrive as notices, not as contracts.** Most commercial agreements
renew evergreen and permit amendment on written notice. The document that
changed your rate last year probably looked like a letter, and it is probably
not filed with the contract.

**One contract can carry several fee schedules.** Carriers contract at the
entity level and pay at the product and network level. One agreement, four
networks, four schedules.

Your rights to be told the number vary by state, and it is worth knowing yours.
Minnesota is unusually explicit: Minn. Stat. § 62Q.735 requires a health plan
company to make available to the provider the fee schedule — or a method or
process that lets the provider determine the fee schedule — for each service
under the contract, and requires that any amendment altering the fee schedule
be disclosed at least 45 days before it takes effect, with the provider free to
terminate before it does. Texas requires HMOs to give contracting physicians and
providers copies of applicable claim-processing policies and procedures, which
is related but narrower. Many states have neither. Check your own insurance code
before you assume the payer is obliged to answer.

## Method 1 — Ask the payer, in a way that gets an answer

This works more often than practices expect, and it fails in predictable ways
when the request is vague.

Send it in writing, to your provider relations or network management
representative, and be specific about five things:

1. **The entity.** Your legal name, TIN, and the group NPI the contract is under — plus individual NPIs if the schedule varies by clinician.
2. **The product and network.** Not "Aetna" but the named network your patients are enrolled in. If you do not know, ask which networks your contract participates in; that answer is useful on its own.
3. **The effective date.** Ask for the currently effective schedule *and* the date it took effect. A schedule without an effective date is unusable in a dispute.
4. **A code list.** Do not ask for "the fee schedule" — that request routinely comes back as a percentage factor or not at all. Attach your codes. In most practices a couple of dozen CPT codes carry the large majority of commercial revenue; pull your top 25 to 30 by charge volume and ask about those.
5. **The basis.** If the rate is a percentage of Medicare, ask which year and which locality, in writing.

If your state has a disclosure statute, cite it. If your contract has a
disclosure provision, quote the section number. Expect weeks rather than days,
expect a partial answer, and expect to ask twice.

What you are really buying with this exercise is the *effective date* and the
*network name*. Those two facts turn every other source of truth from a rumour
into a comparison.

## Method 2 — Back into it from your remittance advice

Your 835s know a great deal. The allowed amount is the figure the payer priced
the claim at, and the write-down from your billed charge to that allowed amount
appears as adjustment reason code **CO-45** — "charge exceeds fee schedule /
maximum allowable or contracted / legislated fee arrangement."

CO-45 is worth understanding precisely, because it appears on almost every
commercial claim and is often misread. It is not a denial. It is a pricing adjustment:
the contractual difference between what you charged and what your contract
allows, and it is not billable to the patient. Staff who treat every CO-45 as
something to appeal will waste their week. Staff who treat every CO-45 as
correct will miss the ones that aren't.

The traps in reading allowed amounts as contract rates:

- **If you billed below the allowed amount, the payer pays your charge.** The remit then shows your own fee schedule, not the payer's. This is the single most expensive blind spot in the list, because it is invisible: nothing on the remit says "you could have been paid more." If any of your charges sit below any payer's allowed amount, you are funding the difference and cannot see it.
- **Never use the paid amount.** Paid is net of deductible, coinsurance and copay. In a high-deductible market, comparing paid to a contract rate manufactures underpayments that do not exist. Compare allowed to allowed.
- **Edits move the number.** Bundling and NCCI edits, multiple-procedure reduction, modifier pricing and assistant-surgeon percentages all produce an allowed amount that is correct and yet is not the base rate for that code.
- **Place of service matters.** Facility and non-facility pricing differ, and a code billed at POS 11 is not directly comparable to the same code at POS 22.
- **Somebody else may have priced it.** Repriced claims, secondary and coordination-of-benefits claims, and rented network access — sometimes called a silent PPO — can produce an allowed amount from a network you never signed.

Remits are excellent evidence of *what happened*. They are weak evidence of
*what was agreed*.

## Method 3 — The file your payer is required to publish

This is the source most practices do not know exists, and it is the only one
that is both current and independent of your own filing.

The Transparency in Coverage final rules — issued November 12, 2020 by the
Departments of the Treasury, Labor and HHS, at 85 FR 72158 — require
non-grandfathered group health plans and issuers in the individual and group
markets to publish machine-readable files disclosing their in-network
negotiated rates and their out-of-network allowed amounts. The in-network file
requirement applies to plan or policy years beginning on or after **July 1,
2022**, and the files must be updated **monthly**.

The in-network file lists, for a billing code, the rates the plan negotiated —
attached to provider identifiers. The fields that decide whether a number means
anything are these, and the allowed values come straight from CMS's own
technical implementation guide:

| Field | Allowed values | Why it matters to you |
|---|---|---|
| `negotiation_arrangement` | `ffs` · `bundle` · `capitation` | A `capitation` network has no per-code dollar rate to find. This is why some payers appear to publish nothing for you. |
| `negotiated_type` | `negotiated` · `derived` · `fee schedule` · `percentage` · `per diem` | `derived` is the plan's own estimate, not your contract. `percentage` is not a dollar figure. Only `negotiated` and `fee schedule` are the thing you are looking for. |
| `billing_class` | `professional` · `institutional` · `both` | A practice wants `professional`. Institutional rates belong to facilities and are much larger numbers for the same code. |
| `billing_code_type` | `CPT` · `HCPCS` · `MS-DRG` · `APC` · `LOCAL` · `CSTM-ALL` and others | Some payers publish real rates under custom or local code types rather than CPT. |
| `expiration_date` | ISO date · `9999-12-31` | `9999-12-31` means the arrangement has no stated end date. |
| `provider_references` → `provider_groups` | `npi` array, `tin` object (`ein` or `npi`) | This is how you find *your* rate rather than a market rate. Your NPI and TIN appear here, or they do not. |

To find the files: go to the payer's public "Transparency in Coverage" or
"machine-readable files" page, which leads to a table-of-contents JSON index.
That index lists, per plan and per network, the URLs of the in-network rate
files. No login, no licence, no data agreement.

And then you hit the reason this data is simultaneously public and unavailable.

We read these files for 66 payers, and the scale is the whole story. Each
payer publishes compressed JSON split across many files, one set per network,
and the rate you want is one line among millions. Aetna's September 2026 files
carry a single rate for 99213 for more than two million provider groups;
UnitedHealthcare's for more than 800,000; Cigna's for more than 370,000.
Finding yours means reading the payer's table of contents, working out which
files belong to which networks, resolving the provider references in each file
to NPIs and tax IDs, and only then reading the rate.

None of that is a reason the data is useless. It is the reason a practice
manager with a spreadsheet cannot use it, which is a different problem.

The consequence shows up in the trade data. An MGMA Stat poll conducted
December 30, 2025 found that just **18%** of medical groups use Transparency in
Coverage negotiated-rate data in payer contract negotiations. Forty-six per cent
said they do not, and 36% did not know. The rates are published. Four in five
groups are negotiating without them.

## Reconciling the three

Do this for your top 25 codes by charge volume, once, and you will know more
about your commercial revenue than most practices your size.

For each code, put four numbers in a row:

1. **Your charge** — what you bill.
2. **Contract exhibit rate** — if you have it, with its effective date.
3. **Published rate** — from the payer's current in-network file, for your NPI and TIN, `billing_class: professional`, `negotiated_type` of `negotiated` or `fee schedule`, in the network your patients are actually enrolled in.
4. **Median allowed** — from six months of remits for that code, unmodified, at your usual place of service.

Then read the disagreements. They are diagnostic:

| Pattern | What it usually means |
|---|---|
| Published rate > median allowed | Possible underpayment. Or you are comparing across networks, or the claims carried modifiers or bundling edits. Check those two before you appeal. |
| Published rate < median allowed | You may be paid off a newer schedule than the file reflects, or off a different product. Check effective dates before celebrating. |
| Your charge < published rate | Certain revenue loss, no appeal needed and none possible. Your fee schedule is capping your own reimbursement. Fix the charge master. |
| No published entry for your NPI at all | Three candidates: you are not contracted under that product; the network is capitated, so no per-code rate exists; or your rates are filed under a group NPI or TIN you did not search. |
| Published rate flagged `derived` | Not your contract rate. Treat as an estimate and go back to Method 1. |

## What to do when the numbers disagree

Lead with the payer's own published figure, and cite it properly: the source
file, its "as of" month, the network, and the `negotiated_type`. A contracting
manager can dismiss a vendor's benchmark. It is considerably harder to dismiss
the number their own employer published to satisfy a federal rule.

On a specific claim, appeal with four things: the claim identifier, the CARC on
the remit, the allowed amount paid, and the published rate with its provenance.
Ask for reprocessing, not for a conversation.

If the pattern is systemic rather than per-claim, it is a contracting
conversation, not an appeals one — and that is the moment the same data becomes
a negotiation exhibit rather than a complaint. Escalate provider
relations → network management → your state department of insurance, in that
order, and only after the contract's own dispute path is exhausted.

One caution: check the effective date before you call anything an underpayment.
A rate that legitimately changed mid-year, under an amendment notice that
somebody filed away, is not a payer error. It is a filing problem, and the fix
is a calendar reminder rather than an appeal.

## The honest summary

Your contract tells you what you agreed to, and is frequently incomplete. Your
remits tell you what happened, and are shaped by edits and by your own charge
master. The payer's published file tells you what the payer says it negotiated
with you, is refreshed every month, and is the only one of the three you do not
have to ask anyone's permission to read.

None of the three is sufficient. Together they are close to complete, and the
work of putting them side by side is the work almost nobody is doing — which is
precisely why it pays.

---

Which of those numbers to hold against which is its own question: [allowed
amount vs paid amount vs contracted rate](/blog/allowed-amount-vs-paid-amount)
walks through a remit line and shows the one comparison that finds an
underpayment.

---

*RateBench reads the Transparency in Coverage files for [the payers we
cover](/payers) and builds your [contracted rates into one fee
schedule](/features/fee-schedule): your payers, by CPT code, with the
network, the setting and a link to the source file behind every figure. Upload
your allowed amounts and the [underpayment check](/features/underpayments) shows
the codes allowed below the rate your payer published; [rate
monitoring](/features/monitoring) emails you when one changes. A single [rate
lookup is free](/#check); the rest is on a [paid plan](/pricing) from $99 a
month.*

## Common questions

### Is my practice’s contracted rate public information?

Effectively, yes. Since plan years beginning on or after July 1, 2022, the Transparency in Coverage rules require non-grandfathered group health plans and issuers to publish their in-network negotiated rates — by billing code and by provider identifier — in machine-readable files that are updated monthly and posted publicly with no login. The rate is public; it is simply published in files built for researchers and regulators rather than for your practice.

### Can a payer penalise my practice for looking up its published rates?

No. The machine-readable files are published to satisfy a federal disclosure requirement and are posted for public access. Reading them is not a breach of your contract and involves no protected health information — the files contain rates and provider identifiers, never patients.

### Why does one payer publish several different rates for the same CPT code and the same NPI?

Two common reasons. First, one contract can cover several products and networks — an HMO and a PPO product under the same carrier can pay differently, and each network is published separately. Second, the file marks how each rate was arrived at: a rate flagged "derived" is the plan’s own estimate, not the figure in your contract, so a "negotiated" line and a "derived" line for the same code are not the same claim.

### What if my contract pays a percentage of Medicare instead of a dollar amount?

Then your rate moves every January 1 without anyone sending you a notice. For 2026 the Medicare conversion factor is $33.5675 for clinicians in a qualifying alternative payment model and $33.4009 for everyone else, increases of 3.77% and 3.26% over 2025. The 2026 rule also shifted how indirect practice expense is allocated between office and facility settings, so office-based and facility-based codes did not move by the same amount.

### Does the allowed amount on my remittance advice equal my contracted rate?

Often, but not dependably. The allowed amount is what the payer priced that particular claim at, after bundling edits, multiple-procedure reductions, modifier pricing and place-of-service logic. And if you billed a charge below the contracted rate, the payer pays your charge — so the remit shows your own fee, not the rate you negotiated.

## Sources

1. Federal Register / U.S. Departments of the Treasury, Labor and HHS (November 12, 2020). "Transparency in Coverage, final rules (85 FR 72158)". https://www.federalregister.gov/documents/2020/11/12/2020-24591/transparency-in-coverage
2. CMS (accessed September 2026). "price-transparency-guide: technical implementation guide and in-network rates schema". https://github.com/CMSgov/price-transparency-guide
3. U.S. Department of Labor (2022). "FAQs about Affordable Care Act Implementation Part 70 (machine-readable file enforcement)". https://www.dol.gov/agencies/ebsa/about-ebsa/our-activities/resource-center/faqs/aca-part-70
4. MGMA (poll conducted December 30, 2025). "MGMA Stat: Using TiC negotiated-rate data to negotiate smarter payer contracts". https://www.mgma.com/mgma-stat/using-tic-negotiated-rate-data-to-negotiate-payer-contrac
5. American Medical Association (2025). "2026 Medicare Physician Payment Schedule final rule summary and analysis". https://www.ama-assn.org/system/files/2026-mpfs-final-rule-summary-analysis.pdf
6. Becker’s Hospital Review (October 2025). "CMS finalizes 2026 physician fee schedule: 12 notes". https://www.beckershospitalreview.com/finance/cms-finalizes-2026-physician-fee-schedule-12-notes/
7. Minnesota Legislature. "Minn. Stat. § 62Q.735, Provider contracting procedures". https://www.revisor.mn.gov/statutes/cite/62Q.735
8. Texas Department of Insurance. "28 TAC § 11.901, Physician and Provider Contracts and Arrangements". https://www.tdi.texas.gov/rules/2002/bundling2.html
9. X12. "Claim Adjustment Reason Codes (code 45: charge exceeds fee schedule/maximum allowable or contracted/legislated fee arrangement)". https://x12.org/codes/claim-adjustment-reason-codes
10. CMS, Medicare Learning Network. "Understanding the Remittance Advice for Professional Providers (group codes CO and PR)". https://www.cms.gov/Outreach-and-Education/Medicare-Learning-Network-MLN/MLNProducts/Downloads/ICN905367TextOnly.pdf
11. Healthcare IT News. "How big is the provider Transparency in Coverage data gap?". https://www.healthcareitnews.com/news/how-big-provider-transparency-coverage-data-gap
