opendentalsupport.com is an independent community resource. We are NOT affiliated with, endorsed by, or sponsored by Open Dental Software, Inc. Open Dental® is a registered trademark of Open Dental Software, Inc.

Fee Schedule Comparison Query

SQL Queries3 min read4/8/2026

If you need to identify inconsistencies in your billing by comparing fee schedules across different providers, this query provides a clear side-by-side view. Practice owners and office managers can use this open dental fee schedule comparison query to ensure that your fee schedules are correctly assigned and that your providers are billing the intended amounts.

The Query

/* Set the Fee Schedule IDs you want to compare here */
SET @FeeSched1 = 1;
SET @FeeSched2 = 2;

SELECT 
    pc.ProcCode, 
    pc.Descript, 
    f1.Amount AS Fee_Sched_1, 
    f2.Amount AS Fee_Sched_2,
    (f1.Amount - f2.Amount) AS Difference
FROM procedurecode pc
LEFT JOIN fee f1 ON pc.CodeNum = f1.CodeNum AND f1.FeeSched = @FeeSched1
LEFT JOIN fee f2 ON pc.CodeNum = f2.CodeNum AND f2.FeeSched = @FeeSched2
WHERE f1.Amount IS NOT NULL OR f2.Amount IS NOT NULL
ORDER BY pc.ProcCode;

How to Run This Query

  1. In Open Dental, go to Reports in the Main Menu.
  2. Click User Query.
  3. Paste the query provided above into the large text box.
  4. Before clicking submit, look at the first two lines of the code. Change the numbers 1 and 2 to match the Fee Schedule Numbers you wish to compare. You can find these numbers by going to Setup > Definitions > Fee Schedules.
  5. Click Submit Query.
  6. The results will display in the grid below.

Understanding the Results

How to Customize

If you want to focus only on procedures where there is a price discrepancy, you can add a filter to the end of the query.

Change the last line from ORDER BY pc.ProcCode; to:
AND (f1.Amount - f2.Amount) <> 0 ORDER BY pc.ProcCode;

This will hide all procedures where the fees are identical, leaving you with a clean list of only the procedures that need your attention.

Variations

Compare by Procedure Category

If you only want to check fees for hygiene procedures, you can filter by the procedure category. Add this line before the ORDER BY clause:
AND pc.ProcCat = (SELECT DefNum FROM definition WHERE ItemName = 'Hygiene')
(Note: Ensure the category name 'Hygiene' matches exactly what you have in Setup > Definitions > Proc Code Categories).

Skip the Query — Use DentalCanvas Instead

Don't want to write SQL? DentalCanvas connects to your Open Dental database and shows you this data automatically in a visual dashboard — no queries required.


This article is provided by opendentalsupport.com, an independent community resource. We are not affiliated with Open Dental Software, Inc.

Stop Writing SQL.

DentalCanvas connects directly to your Open Dental database and shows you production, collections, scheduling, and more — in a visual dashboard you can understand at a glance. No queries. No exports. Just answers.

Try DentalCanvas

Was this article helpful?

Related Articles

opendentalsupport.com is an independent community resource. We are NOT affiliated with, endorsed by, or sponsored by Open Dental Software, Inc. Open Dental® is a registered trademark of Open Dental Software, Inc.