Guide

Loading allowables: the setup that makes underpayments visible

Summary

Loading a fee schedule means entering the amount you expect to be paid — by CPT/HCPCS code, modifier, and place of service — into your billing system so it can compare the expected allowable against what actually posts on every remittance. Start from a public anchor like the Medicare Physician Fee Schedule, add each contracted payer's rate as an override on the same code list, and refresh the table on a fixed schedule rather than only when a payment looks wrong.

By Gale Editorial · Updated 2026-07-26. Every figure cited to a dated source. How we write.

Start from a public anchor

Before loading a single contracted rate, load what Medicare actually pays for each code you bill. CMS publishes the Medicare Physician Fee Schedule — the national and locality-adjusted amount, the RVUs, and the payment indicators behind it — through a public search tool 1, and the underlying schedule itself is republished every year through formal rulemaking 2. That table becomes your baseline column, the one every other payer's rate gets compared against.

Pull the locality-specific amount, not the national unadjusted number — two practices in different parts of the same state can have a materially different Medicare rate for the identical code.

Know your MAC before you pull the numbers

Medicare claims processing is regionalized: a Medicare Administrative Contractor is assigned to your jurisdiction, and CMS publishes which MAC covers which states 3. Confirm yours before loading anything, because your MAC — not a generic national figure — is the source for any local coverage determination or billing article that might affect what a code actually pays or requires.

This matters most for codes near a coverage boundary: a code Medicare pays cleanly in one jurisdiction can carry documentation requirements in another, published in that MAC's own local coverage determination.

Split facility from non-facility rates

The place of service on the claim — office, home, telehealth, facility — determines which of two Medicare rates applies to the same code, because CMS's place-of-service code set is what triggers facility versus non-facility pricing 4. A practice that sees patients in more than one setting needs both rates loaded per code, keyed to POS, not a single flat number.

Skipping this split is one of the most common reasons a loaded fee schedule quietly disagrees with the remittance from day one: the code was loaded once, at one rate, and the setting that actually generated the claim used the other.

What actually belongs in each row

A row that only holds a code and a dollar amount looks complete until the first denial forces you to add context back in one field at a time. Build the table with enough structure from the start that a remittance can be matched against it without guessing: code, modifier, place of service, payer, effective date, and the allowable itself, at minimum.

The effective date matters more than it looks like it should. A payer rate change that takes effect mid-quarter, or a Medicare fee-schedule update that lands partway through the year, means the same code can have two different correct allowables depending on the date of service — and a table with no effective-date field will eventually show the wrong one for claims filed late or resubmitted after a rate change.

Build one master table, not one per payer

Keep a single table keyed by CPT/HCPCS code, modifier, and place of service, with the Medicare rate as the anchor column and each contracted payer's allowable as its own column beside it. Layering payer rates onto one shared code list — rather than maintaining a separate spreadsheet or system module per payer — is what makes it possible to spot, in one glance, which payer is underpaying relative to the others for the identical code.

When a payer's contract expresses its rate as a percentage of Medicare rather than a flat dollar amount — the common practice of pricing off Medicare as a multiple — load the percentage as a formula against your Medicare column instead of a static number, so the whole table updates itself the next time you refresh the anchor. Once your fee schedule reflects every payer's actual rate this way, a posted payment that falls short stops looking like noise and starts looking like a pattern.

Automate the refresh where your MAC allows it

Some Medicare Administrative Contractors publish machine-readable files of their local rates and edits that a billing system can ingest directly rather than requiring manual re-entry — CGS Medicare's provider site is one example of a MAC publishing this kind of jurisdiction-specific file alongside its coverage articles 5, though the exact format and update cadence is specific to each MAC, not universal. Check what your own MAC's provider site actually offers before assuming a comparable file exists.

Where no machine-readable file exists, put the refresh on a calendar rather than leaving it to whoever notices a denial first — an annual load, done once and deliberately, beats a fee table that silently drifts out of date for months.

Loading for a secondary payer isn't the same math

When a patient has two payers, coordination of benefits determines which one pays first and which pays second, and CMS runs its own Benefits Coordination & Recovery Center for Medicare's side of that ordering 6. A loaded fee schedule that only accounts for a single primary allowable will misjudge every secondary claim, because what the secondary payer owes is usually based on the gap between the primary's payment and the secondary's own allowable — not the secondary's full rate billed independently.

If a meaningful share of the practice's volume involves a secondary payer, build a COB rule into the table rather than handling each one manually: flag which codes commonly carry dual coverage, and treat the secondary allowable as a formula against the primary payment rather than a flat number.

Sanity-check the load before it goes live

Before trusting the table for daily posting, run a batch of recent remittances against it and flag every line where the posted payment doesn't match the loaded allowable. A newly loaded schedule with a typo, a stale rate, or a missing modifier override will surface immediately this way, instead of quietly hiding real underpayments behind a wrong expected value for weeks.

Once the table is trusted, this same comparison becomes the ongoing check: every remittance that posts below its loaded allowable — billing below the allowable is one thing, but a payer paying below it is another — is a candidate for a call to the payer, not a number to write off automatically.

Common questions

Yes, using the same code-modifier-POS structure, but pull the rate from your own state Medicaid agency's published fee schedule or billing manual rather than assuming it tracks Medicare. State Medicaid programs set and publish their own rates and update cadence, and they don't necessarily move on the same schedule or by the same percentage as Medicare.

At minimum once a year, timed to the Medicare Physician Fee Schedule's annual rulemaking cycle, since that's your anchor column. Practices that see frequent underpayment patterns often refresh contracted-payer columns more often than that, or the moment a renegotiated contract takes effect, rather than waiting for the annual cycle.

Load whatever the contract actually specifies — a flat dollar amount, a percentage, or a code-specific carve-out — directly from the fee-schedule exhibit in the signed agreement, not from an assumption. Contracts that mix methods by code family are common; the loaded table should mirror the contract line by line, not approximate it.

A spreadsheet works for a low-volume solo practice as long as it's structured by code, modifier, and place of service and gets compared against remittances regularly. Most billing systems and EHRs have a fee-schedule module built for this; the structure matters far more than which tool holds it.

Pull a sample of recent remittances and compare the posted allowable, line by line, against what your system currently expects for that code, modifier, and place of service. A pattern of small, consistent gaps on the same codes usually points to a stale or mis-loaded rate rather than random payer error.

Run your practice on Gale

The software is free. Gale earns one flat 3.5% all-in per paid transaction — only on transactions that actually pay. No subscription, no setup fee, no network cut.

Start or manage a practice →

References

  1. 1.Centers for Medicare & Medicaid Services (2026). Physician Fee Schedule Search. Centers for Medicare & Medicaid Services (CMS). linkThat CMS publishes a public lookup tool for the national and locality-adjusted Medicare payment amount, RVUs, and payment indicators for a code — the anchor column for a loaded fee schedule.
  2. 2.Centers for Medicare & Medicaid Services (2026). Physician Fee Schedule. Centers for Medicare & Medicaid Services (CMS). linkThat the Medicare Physician Fee Schedule is republished annually through formal rulemaking, which sets the refresh cadence for the anchor column.
  3. 3.Centers for Medicare & Medicaid Services (2026). Medicare Administrative Contractors. Centers for Medicare & Medicaid Services (CMS). linkThat Medicare claims administration is regionalized across MACs, and CMS publishes which MAC serves each jurisdiction — the lookup a practice needs before trusting a local coverage rule.
  4. 4.Centers for Medicare & Medicaid Services (2026). Place of Service Code Set. Centers for Medicare & Medicaid Services (CMS). linkThat the place-of-service code set determines facility versus non-facility payment for the same code, requiring two rates loaded per code for a multi-setting practice.
  5. 5.CGS Medicare (2026). CGS Medicare. Medicare Administrative Contractor portal. linkNamed as one example of a Medicare Administrative Contractor publishing jurisdiction-specific billing files and articles; cited as an example of what a MAC portal offers, not as every reader's own MAC.
  6. 6.Centers for Medicare & Medicaid Services (2026). Coordination of Benefits and Recovery Overview. Centers for Medicare & Medicaid Services (CMS). linkThat coordination of benefits determines primary versus secondary payer order and that CMS runs its own Benefits Coordination & Recovery Center for Medicare, which affects how a secondary allowable should be loaded.

https://www.gale.care/for-providers/fs-loading-fees-into-ehr · 6 sources. Competitor details are cited to dated public sources and maintained as they change; figures are estimates, not commitments. Synthetic demonstration.

Findability, by specialty

How practices like yours get found in local search and AI answers — the honest playbook, per specialty.

SEO for private practices · SEO for AI search / answer engines (all verticals)