Use Google Sheets to Compare Fee Schedules and Spot Underpayments

Tool:Google Sheets
AI Feature:Explore / formula suggestions
Time:15 minutes
Difficulty:Beginner

What This Does

Builds a quick-reference fee schedule comparison table that checks what different payers are supposed to pay for your top procedures — and lets you instantly spot when a payment doesn't match. A 5-minute setup that can surface hundreds of dollars in missed reimbursements.

Before You Start

  • Google account (free)
  • Contracted rates for your top payers — even 15-20 CPT codes is enough to start
  • ERA or payment data to compare against (can be pasted in manually or imported from billing software export)

Steps

1. Create a fee schedule reference sheet

Go to sheets.google.com → new blank sheet → name it "Fee Schedule Comparison."

Create two tabs:

  • "Rates" — your contracted rates by payer
  • "Payments" — actual ERA/payment data to verify

2. Set up the Rates tab

Column headers in Row 1:

  • A: CPT Code
  • B: Medicare Rate
  • C: Aetna Rate
  • D: BCBS Rate
  • E: UHC Rate
  • (add more payers as needed)

Enter your top 20-30 CPT codes in Column A and fill in contracted rates for each payer.

Tip: Start with the codes you bill most often. Even 15 rows of data is valuable.

3. Set up the Payments tab

Column headers:

  • A: Date of Service
  • B: CPT Code
  • C: Payer
  • D: Paid Amount
  • E: Expected Amount (formula)
  • F: Difference (formula)
  • G: Underpaid? (formula)

4. Add the Expected Amount formula

In cell E2 of the Payments tab:

Copy and paste this
=IFERROR(INDEX(Rates!B:E, MATCH(B2,Rates!A:A,0), MATCH(C2,Rates!B1:E1,0)),"Rate not found")

This looks up the CPT code AND the payer name to find the correct contracted rate.

Simpler alternative: If the formula feels complex, ask Google Sheets Explore: "Write a formula to look up the value in column B (CPT code) against the Rates sheet and return the rate for the payer in column C."

5. Add the Difference and flag columns

In F2: =D2-E2 (Difference — negative means underpayment)

In G2: =IF(F2<-5,"CHECK","OK") (flags any payment more than $5 below expected)

6. Apply conditional formatting to the "CHECK" column

Select column G → Format → Conditional Formatting → Text contains "CHECK" → red fill.

Real Example

Scenario: You paste in 3 weeks of BCBS payments. The sheet immediately flags 8 rows in red — all 99215 visits paid at $165 instead of the contracted $189. Total shortfall: $192. You file a corrected remittance inquiry with BCBS and recover the underpayments.

Without this tool: You'd have to manually compare each EOB line against a printed fee schedule — most billers skip this and the underpayments go undetected.

Tips

  • Update the Rates tab when contracts renew — underpayments often start right after a contract update when the payer's system is misconfigured
  • Use Google Sheets Explore to ask "Which payer has the highest total underpayment this month?" — it analyzes your Payments tab automatically
  • Share this sheet with your billing manager — it becomes a live underpayment dashboard
  • For Medicare, the correct rate is the Medicare Physician Fee Schedule — download it free from CMS.gov annually

Tool interfaces change — if the Explore button has moved, look for the sparkle/star icon at the bottom right of your Google Sheet.