Ask a practice what its largest commercial payer allows for CPT 99214 and you will usually get one of three answers: a number from memory that is two contract cycles old, "whatever they pay us", or a scramble through a shared drive for a PDF from 2019. Very few practices can pull the answer from their billing system, and that is the problem. Without a loaded fee schedule, the system cannot compare what the payer paid to what the payer owed, and every remittance is posted as if the payer is right.

Payers are not always right. In audits we regularly find a payer paying from a prior year's rate table for months after a contract update, applying a multiple procedure reduction the contract does not allow, or paying an out-of-network rate to an in-network provider whose enrollment record was miskeyed. None of it is visible unless the system knows the expected amount.

Loading fee schedules is unglamorous work, and it is the part of contract management everyone defers. Here is how we do it.

Key takeaways

  • The signed rate exhibit is the source of truth. The payer portal's "fee schedule" is often the standard schedule, not yours.
  • Know whether a percentage-of-Medicare contract is fixed to a named year or floats with the current schedule; the difference is a rate cut every January.
  • Load the top 50 codes by revenue with effective and end dates, test against 20 paid claims, then turn on the variance report.
  • Maintenance is a calendar: contract anniversaries, January 1, quarterly HCPCS updates and payer amendment notices.

Start with the contract, not the payer's website

The rate exhibit in your signed contract is the source of truth. Payer portals often show a "fee schedule" that is the payer's standard schedule, not your negotiated one, and the two can differ by ten percent or more. Find the executed agreement, every amendment, and the rate exhibit or fee schedule attachment. If the practice cannot find the current exhibit, request it in writing from the payer's provider relations contact. You are entitled to know what you agreed to be paid.

While you have the contract open, note four other things the rate exhibit alone will not tell you: the multiple procedure rules, the assistant surgeon and co-surgeon percentages, how the payer prices drugs and supplies, and whether non-physician practitioners are paid at a reduced percentage. Each of those becomes a rule in the system, and a schedule loaded without them will produce variances that are not real.

Understand which of the three schedule types you have

Schedule typeWhat the contract saysWhat you must load
Fixed rate tableA dollar amount per CPT or HCPCS code, sometimes by modifierThe table as written, with effective dates
Percentage of MedicareFor example "105% of the current Medicare Physician Fee Schedule, non-facility, for the locality"The Medicare base for the correct year and locality, multiplied by the percentage, and re-loaded when Medicare changes
Percentage of a proprietary schedule"92% of the payer's Standard Fee Schedule dated January 1, 2023"The payer's schedule, which you must obtain, multiplied by the percentage

The percentage-of-Medicare type is the one that catches practices. The contract may fix the Medicare year ("the 2022 fee schedule") or float it ("the fee schedule in effect on the date of service"). Those are very different contracts in a year when the conversion factor moves, and the CY 2024 proposed rule published on July 13 would cut it by about 3.3%. Read that sentence in your contract carefully; if the year floats, your commercial rates fall with Medicare on January 1.

A quick illustration of why the wording matters. Suppose the 2023 Medicare non-facility allowed for 99214 in your locality is $128.00 and the contract pays 105% of Medicare. This year the payer owes $134.40. If the contract floats and the conversion factor falls 3.3%, the same visit pays about $130.00 from January, a drop of roughly $4.40 on a code many practices bill thousands of times a year. If the contract is fixed to 2023, nothing changes until the anniversary. Same payer, same percentage, two different revenue years.

The fields that have to be right

Every practice management system labels these differently, but a fee schedule record needs: payer or plan identifier, effective date and end date, CPT or HCPCS code, modifier where the rate depends on it (26, TC, 50, AS), place of service or facility indicator if the contract distinguishes, allowed amount, and any unit rules for time-based or drug codes. The effective and end dates are the ones most often left blank, and blank dates mean the system cannot tell a 2022 rate from a 2023 rate when you load the next one.

Load the schedule against the plan, not just the payer, where your system allows it. A carrier's commercial HMO, its PPO and its Medicare Advantage product commonly pay from three different exhibits. If the system can only hold one schedule per payer, create separate payer records per product line; it is more maintenance, but the alternative is a variance report that flags every Medicare Advantage claim as an underpayment against the commercial rate.

A load and test sequence

  1. Export your charge volume by CPT for the last twelve months. The top 50 codes usually cover 90% or more of revenue. Load those first and completely; the long tail can follow.
  2. Build the rate file in a spreadsheet with one row per code and modifier, and keep the contract page reference in a column so anyone can check where a number came from.
  3. Load into a test payer record if your system has one, or load with an effective date and check before it touches live posting.
  4. Pull 20 recently paid claims from that payer and compare the system's expected allowed to the remittance allowed. Every difference is either a load error or a payer error. Sort out which before going live.
  5. Turn on the underpayment or variance report and set a tolerance. A dollar or two of rounding variance is noise; a systematic 4% is a payer problem.

Step four is where practices learn the most. In our experience the first 20-claim test finds two or three load errors (a modifier row missed, a facility rate loaded for an office code) and one or two payer behaviors that the contract does not explain. Fix the load errors, document the payer behaviors, and only then trust the report.

What you find once it is loaded

A worked example from the kind of review we do. A four-provider orthopedic practice loaded its largest commercial contract, a fixed rate table. The variance report on the first month showed CPT 20610 (joint injection) paid at $58.12 against a contracted $71.40 on every claim where it was billed with an E/M visit. The payer was applying a reduction the contract did not contain. Twelve months of claims at roughly 90 injections a month came to about $14,000 in underpayments, all within the payer's reprocessing window. Without the loaded schedule, each remittance had looked like a normal payment with a normal contractual adjustment.

The recovery request that followed was one page: the contract clause, the rate exhibit line for 20610, a spreadsheet of the affected claims with paid and expected amounts, and a request for reprocessing. Payers reprocess these in batches when the evidence is organized that way. They do not when a biller calls about one claim at a time.

Keeping the schedules current

Loading is a project; maintenance is a calendar. Put four items on it.

  • Contract anniversary dates. Many rate exhibits escalate annually or renew with new rates. Record the anniversary for every contract and pull the new exhibit 60 days before.
  • January 1. Medicare-linked schedules change when the final Physician Fee Schedule rule takes effect. Reload the base in December once the final conversion factor and RVUs are published.
  • Quarterly HCPCS updates. Drug and supply codes change quarterly, and the contract's drug pricing method (ASP plus a percentage, usually) needs the new ASP file.
  • Payer notices. Payers send fee schedule amendments by mail and portal message with 60 or 90 days notice. Someone must own the inbox where they land.

The mistakes that make the work useless are all failures of maintenance rather than loading: the payer's standard schedule loaded instead of the contracted one, effective dates left blank, only the top 20 codes loaded while the surgical codes with the big variances sit in the long tail, the variance report never turned on. And the most common one: doing all of this once, in a burst of energy after a bad audit, and never revisiting it.

Questions we hear

Our system charges extra for the contract management module. Is it worth it?

Usually, if you have more than a handful of payers. Without it, the alternative is a spreadsheet comparison of remittance allowed amounts against a rate table, which works for a monthly sample but not for every claim.

What if the payer refuses to give us the current exhibit?

Escalate in writing to provider relations and, if needed, the contracting representative. State regulators in many states require payers to make contracted fee schedules available to participating providers. This is a question for the practice's counsel if it drags on.

Can Revelrex do the loading?

Fee schedule loading and variance review are part of the RCM audit when a practice asks for the underpayment work, and practices on Revelrex billing have their contracts loaded as part of onboarding. Rates are on the pricing page.

What to do this month

  1. Pick your single largest commercial payer and find the executed contract, every amendment and the current rate exhibit.
  2. Read the rate clause and write down whether it is a fixed table, a fixed-year Medicare percentage or a floating Medicare percentage.
  3. Load the top 50 codes by revenue with effective dates, then test against 20 paid claims from June and July.
  4. Run the variance report for those two months. If you find a pattern, request reprocessing in writing with the contract page attached.
  5. Put the contract anniversary and January 1 on the shared calendar with an owner. One payer done properly teaches the team more than five payers done partially.