Home User Manual Discussion Forum Search

Production and Income  

Below is a definition of terms used when discussing production and income, as well as a discussion about compensating providers by production vs income.

Definition of Terms
Production: The amount of money you expect to collect. Production is often described in terms of production for all (or a group of) patients in a date range (or on a certain date). Gross production is the sum of the fees charged the patient(s). It is a good number to compare how busy you were in different periods. Net production is gross production minus adjustments and insurance writeoffs.

Writeoffs: The difference between the insurance fee the provider is contractually obliged to charge and the provider's UCR fees. If patient insurance plans are set as PPO percentage plan types and use the carrier's fee schedule (see In-network / Contracted Insurance Plans (PPOs), several reports include writeoff information.

Adjustments: Reductions in charges to patients. Open Dental splits adjustments into positive adjustments and negative adjustments for data entry purposes, but they are reported together or by type. For example, a positive adjustment type might be 'missed appointment' or 'late charge'. A negative adjustment might be 'senior discount'.

Income: The amount of money brought in or paid on accounts, usually described in terms of a date range. One could also call this 'collections'. For reporting purposes, this can be grouped into 'insurance income' and 'patient income'.

Production or Income? Sometimes there is confusion about whether a particular entry is production or income. Examples:

  • Patient refund: Both a negative adjustment (production) or a negative payment (income) would reduce the account balance. However, because money is entering or leaving the office, it should be entered as a negative payment so it shows as income in reports. See Patient Refunds
  • Warranty credit: A patient comes into your office and a veneer that you applied last week has come off.
    1. You want to show the production of putting the veneer back on, so you enter the procedure like normal (chart the procedure, mark it complete). However, you are not going to collect the fee (no money exchanges hands) and you do not want the production to show in your Net Production for the day.
    2. Thus, add a negative adjustment equal in amount to the procedure fee. The gross production for the day will include include the work for the veneer, but the net production will take into account the adjustment, thus making the net production for that patient zero.

It is easier to track production by provider, thus many offices use this method. To track income by provider, payments need to be properly allocated using pay splits.

Reports
There are several Production and Income Reports (daily, monthly, annual, provider). Each summarize the data differently but are comprised of the same information.

If you have insurance plans that use the PPO percentage plan type, and thus track writeoffs, you have two options that affect when writeoffs in reports are applied to production: using insurance payment date or using procedure date. See Applying Writeoffs to Production for guidance and examples.

Note: Production and income amounts may not match Aging of A/R amounts.

Paying Providers Based on Production
Some offices compensate providers by paying them a percentage of production. To determine provider production, run the Production and Income Report by provider, or for a single provider, for a date range.

If you do not use PPO insurance plans: The Tot Prod amount indicates the net production and accounts for adjustments. Set a Global Lock Date so that financial report data doesn't change over time.

If you have PPO insurance plans and know your contracted rates: In this scenario you will know the writeoff at the time of service. Run the report to show insurance writeoffs by procedure date so net production (Tot Prod) for the day will also reflect the writeoff. If for some reason the writeoff amount changes at a later date, you will need to re-run historical reports.

If you have PPO insurance plans and do NOT know your contracted rates: In this scenario you will not know the writeoff at time of service or the amounts entered at treatment time will be questionable. Thus you will enter (or update) the writeoff when you receive the insurance claim payment. Run the report to show insurance writeoffs by insurance payment date. The Tot Prod amount will not include writeoffs until the insurance payment is entered. Since payments will not always be entered in the same time period as production, you may have 'residual' negative production. A provider's net production in any given period will be lessened by the amount of writeoffs entered on insurance payments received in that period, even though the work may be from another period. This may or may not have a significant impact upon the production.

Period

Gross Production

Adjustments

Write-offs

Net Production

1

$10,000

-$200

$700

$9,100

2

$500

0

$600

-$100

The real result here is that your writeoffs may be associated with work in a different time period. The numbers become less meaningful if you are trying to measure productivity. You can't just use procedure date because writeoffs will change as payments come in and you may overpay your providers.

Paying Providers by Income
Provider income can be viewed on the same Production and Income Report used to view production. There are two types of income: insurance income (Ins Income) and patient income (Pt Income). Together they equal the total income (Tot Income). Writeoffs are not an issue because they do not affect income. They simply lower the amount you expect to collect (production).

There are two issues to be aware of when tracking income:

  1. Payments need to be properly allocated. For more details, see Tracking Income by Provider.
  2. Income may be received after the period in which it was earned.

Insurance Income: Insurance income is allocated when you receive the claim payment.

  • If you receive the claim by procedure, the income for each procedure is allocated to the treating provider. It is very straightforward.
  • If you receive the claim by total, the total payment will default to patient's primary provider but can be changed. As long as all procedures on the claim have the same provider you will be OK.

Patient Income: Patient income can be allocated when entering the payment or at a later date using income transfers. If allocated when entering the payment, the Pay Split Manager is a useful tool that suggests pay splits based on the family's outstanding charges, payment amount, and FIFO logic (first in, first out, by date). You can also manually add your own. It is very important to know which provider should and is getting credit for a payment. You should also develop a policy for allocating a payment to multiple providers. The daily or weekly Payments Report (run by provider) can be a useful report to give to providers so they can verify the income information.

Adjustments to income: Adjustments themselves only affect production amounts, not income. If you need to adjust income, you must enter a payment. Below are some example scenarios.

  • Returned patient check: Enter a negative payment to increase account balance. See Patient Refunds.
  • Customer has work done, does not want to pay for it, and you have agreed to credit the fee: Enter a negative adjustment to affect production only. This will decrease the account balance.

What are the issues with reporting income by provider?

  • Income may not come in at the time of service, so it is nearly impossible to say you are square with a provider unless you sign a settlement. That is, unless you make rules that say otherwise, the obligation to pay your providers a cut of the income lasts as long as your oldest balance for that provider.

    For example: Provider A performs a procedure for $1000. Insurance payment is expected to be $400, patient pays $300 immediately and will pay the remainder after insurance pays. Insurance is billed the next day. Three weeks later the claim comes back saying that the procedure needs more information, the original prosthesis date is incorrect. One month after the procedure date, the provider's husband gets a job in Zambia and leaves immediately. The insurance payment finally arrives three months after the original procedure, and it is indeed $400. Now because we are paying based on income, you send provider A's check to Zambia. The patient moves and fails to pay the remaining $300. A year later the patient pays. Another check must be mailed to Zambia. So the ex-employee retains a claim on the Accounts Receivable for work that they did, and that can be a problem, but if it is not, this might be the way you want to compensate your providers.

  • Patient payments are made before insurance pays and insurance does not pay as expected. If amounts are not the same as anticipated and differ by provider, one provider may end up receiving more payment than they produced. One way to handle this is to transfer income when insurance payments come in, but this can be time consuming. See Income Transfers.

  • Patient prepays.
    • Version 16.2 and greater has a Prepayment system. The prepayment itself is not allocated to any provider or procedure. But once the treatment is complete, simply allocate the unearned amounts to the correct procedures and/or providers.
    • Prior to version 16.2, and if not using accrual accounting, make a dummy provider (usually one that is listed first) for prepayments or otherwise unallocated payments. Temporarily assign the amounts to the dummy provider while the work is in progress. Once the work is complete, reallocate the amounts to the proper providers. This is usually done by entering a zero sum payment with two balancing pay splits. See Income Transfers.
    • If using accrual accounting, see Accrual Accounting.

  • Improperly allocated payments may bias toward the default practice provider. If the default practice provider also treats patients, payments may be improperly allocated and biased towards this provider. Why? Because the default practice provider is often the default primary provider for new patients, and the primary provider is always the default for patient payments. If you do not accurately assign primary providers or verify who payments are allocated to, the default provider may receive more payments. For example, if only defaults are used, a practice with three providers (each seeing 33% of the patients) will have more than 33% of new patients assigned the default practice provider as their primary, and thus more than 33% of payments will default to this primary provider. 

    To mitigate this issue: 
    - Train your staff to set the correct primary provider.
    - Use a dummy practice provider if patients do not have assigned primary providers. 
    - Train staff to correctly allocate incoming payment by provider. 
    The most thorough solution is to do all of the above, then split payments by procedure. See Pay Split Manager

Collection Ratio
How much income am I getting compared to my production?
You would think you can just compare income and production for a period and it will tell you what percentage of production you are collecting. Not so fast. This is problematic because it will compare different periods. The period you collect income for is not the same period the work was done in, so that ratio will have no meaning. Each incoming payment will be from an unknown period of production.

For example:

  • If one patient payment was made in the period for $500 and no work was done, the ratio of the amount you collect relative to production would be 1/0 (or infinity) for that period.
  • The next period the sum of patient portions is $2500, you get 10 checks in the mail totaling $3000, and $2000 is paid in the office. Your ratio is 5000:2500 or 2:1 or 200%.
  • The next period the sum of patient portions is $3000 and you collect $2000. Your ratio is 2:3 or 66%.

These numbers will not help you run your business. And it does not matter if you make the period larger, unless you make it ONE period for all time, which again is not informative.

What you may be looking for is called the 'collection ratio' and is reported in units of days. It is also called an average collection period.
If

  • AR=Average Accounts Receivable for period ((Starting AR+Ending AR)/2)
  • P=Period=Length of collection period in days
  • CE=Credit Extended = net production

Then the formula is AR*P/CE and is reported in days.

If your ARStart is $5000 and your AREnd is $15000 then your average AR over the period is $10000.

If we call your production the credit extended, and count payment at time of service as collection, for a month of 30 days with the AR shown above and production (sales) of 50,000, your ratio is

$10,000*30 Days/$50,000 =6 days

What does that mean to you? It means that you need to produce for 6 days to equal your average AR. So the lower the number, the better.

To determine you collection ration, there are a few Queries you can copy, paste, then edit.

(version 14.3 and greater)
Query: Collection ratio for given month and year

Query: Collection ratio for given month and year
/*Collection ratio for given month and year*/
/*For version 14.3 and newer. For more information on this report, see the bottom of http://www.opendental.com/manual/productionincome.html. Uses insurance payment date for total production*/
/*If query shows ERROR in Month column, you entered an invalid date. If query shows ERROR in Collection Ratio column, you have 0 production for that month*/
/*Query code written/modified: 10/03/2014*/
SET @ReportDate='2014-06-01'; /*Set report date here, Year-Month-Day. Will always run from the begining of this month, to the end of this month, regardless of day*/
SELECT COALESCE(DATE_FORMAT(@ReportDate,'%M %Y'),'ERROR') AS 'Month',
COALESCE(CONCAT(ROUND((
(( (/*Start AR*/SUM(CASE WHEN GuarTrans.StartAR > 0.005 THEN GuarTrans.StartAR ELSE 0 END)
+/*End AR*/SUM(CASE WHEN GuarTrans.EndAR > 0.005 THEN GuarTrans.EndAR ELSE 0 END))
/2 /*=AVG AR*/
)* DAY(LAST_DAY(@ReportDate))/*Days In Month*/
) / SUM(GuarTrans.TotalProduction)/*Total Production for Month*/
),1),' Days'),'ERROR') AS 'Collection Ratio'
FROM (
SELECT SUM((CASE WHEN TranDate<=LAST_DAY(@ReportDate-INTERVAL 1 MONTH) THEN TranAmount ELSE 0 END)) AS 'StartAR',
SUM((CASE WHEN TranDate<=LAST_DAY(@ReportDate) THEN TranAmount ELSE 0 END)) AS 'EndAR',
SUM((CASE WHEN TranType IN ('Fee','Adj','InsWriteoff') AND TranDate BETWEEN DATE(CONCAT(YEAR(@ReportDate),'-',MONTH(@ReportDate),'-01')) AND LAST_DAY(@ReportDate) THEN TranAmount ELSE 0 END)) AS 'TotalProduction'
FROM (
/*Get the completed procedure dates and charges for the entire office history*/
SELECT 'Fee' AS TranType,pl.PatNum AS PatNum,pl.ProcDate AS TranDate,pl.ProcFee*(pl.UnitQty+pl.BaseUnits) AS TranAmount
FROM procedurelog pl
WHERE pl.ProcStatus=2
UNION ALL
/*Paysplits for the entire office history*/
SELECT 'Pay' AS TranType,ps.PatNum AS PatNum,ps.DatePay AS TranDate,-ps.SplitAmt AS TranAmount
FROM paysplit ps
WHERE ps.PayPlanNum=0 /*Only splits not attached to payment plans*/
UNION ALL
/*Get the adjustment dates and amounts for the entire office history*/
SELECT 'Adj' AS TranType,a.PatNum AS PatNum,a.AdjDate AS TranDate,a.AdjAmt AS TranAmount
FROM adjustment a
WHERE a.AdjAmt!=0
UNION ALL
/*Claim payments for the entire office history*/
SELECT 'InsPay' AS TranType,cp.PatNum AS PatNum,cp.DateCp AS TranDate,(CASE WHEN cp.PayPlanNum=0 THEN -cp.InsPayAmt ELSE 0 END) AS TranAmount
FROM claimproc cp
WHERE cp.Status IN (1,4,5,7)/*received,supplemental,CapClaim, or CapComplete*/
UNION ALL
/*Claim payments for the entire office history*/
SELECT 'InsWriteoff' AS TranType,cp.PatNum AS PatNum,cp.DateCp AS TranDate,-cp.Writeoff AS TranAmount
FROM claimproc cp
WHERE cp.Status IN (1,4,5,7)/*received,supplemental,CapClaim, or CapComplete*/
UNION ALL
/*Payment plan principal for the entire office history on or before the given date*/
SELECT 'PayPlan' AS TranType,pp.PatNum AS PatNum,pp.PayPlanDate AS TranDate,-pp.CompletedAmt AS TranAmount
FROM payplan pp
WHERE pp.CompletedAmt!=0
) RawPatTrans
INNER JOIN patient p ON RawPatTrans.PatNum=p.PatNum
WHERE TranDate<=CURDATE()
GROUP BY p.Guarantor
) GuarTrans

(version 14.2 and earlier) 
Query: Collection ratio for given month and year

/*Collection ratio for given month and year*/
/*For versions before 14.3. For more information on this report, see the bottom of http://www.opendental.com/manual/productionincome.html. Uses insurance payment date for total production*/
/*If query shows ERROR in Month column, you entered an invalid date. If query shows ERROR in Collection Ratio column, you have 0 production for that month*/
/*Query code written/modified: 10/03/2014*/
SET @ReportDate='2014-08-01'; /*Set report date here, Year-Month-Day. Will always run from the begining of this month, to the end of this month, regardless of day*/
SELECT COALESCE(DATE_FORMAT(@ReportDate,'%M %Y'),'ERROR') AS 'Month',
COALESCE(CONCAT(ROUND((
(( (/*Start AR*/SUM(CASE WHEN GuarTrans.StartAR > 0.005 THEN GuarTrans.StartAR ELSE 0 END)
+/*End AR*/SUM(CASE WHEN GuarTrans.EndAR > 0.005 THEN GuarTrans.EndAR ELSE 0 END))
/2 /*=AVG AR*/
)* DAY(LAST_DAY(@ReportDate))/*Days In Month*/
) / SUM(GuarTrans.TotalProduction)/*Total Production for Month*/
),1),' Days'),'ERROR') AS 'Collection Ratio'
FROM (
SELECT SUM((CASE WHEN TranDate<=LAST_DAY(@ReportDate-INTERVAL 1 MONTH) THEN TranAmount ELSE 0 END)) AS 'StartAR',
SUM((CASE WHEN TranDate<=LAST_DAY(@ReportDate) THEN TranAmount ELSE 0 END)) AS 'EndAR',
SUM((CASE WHEN TranType IN ('Fee','Adj','InsWriteoff') AND TranDate BETWEEN DATE(CONCAT(YEAR(@ReportDate),'-',MONTH(@ReportDate),'-01')) AND LAST_DAY(@ReportDate) THEN TranAmount ELSE 0 END)) AS 'TotalProduction'
FROM (
/*Get the completed procedure dates and charges for the entire office history*/
SELECT 'Fee' AS TranType,pl.PatNum AS PatNum,pl.ProcDate AS TranDate,pl.ProcFee*(pl.UnitQty+pl.BaseUnits) AS TranAmount
FROM procedurelog pl
WHERE pl.ProcStatus=2
UNION ALL
/*Paysplits for the entire office history*/
SELECT 'Pay' AS TranType,ps.PatNum AS PatNum,ps.DatePay AS TranDate,-ps.SplitAmt AS TranAmount
FROM paysplit ps
WHERE ps.PayPlanNum=0 /*Only splits not attached to payment plans*/
UNION ALL
/*Get the adjustment dates and amounts for the entire office history*/
SELECT 'Adj' AS TranType,a.PatNum AS PatNum,a.AdjDate AS TranDate,a.AdjAmt AS TranAmount
FROM adjustment a
WHERE a.AdjAmt!=0
UNION ALL
/*Claim payments for the entire office history*/
SELECT 'InsPay' AS TranType,cp.PatNum AS PatNum,cp.DateCp AS TranDate,-cp.InsPayAmt AS TranAmount
FROM claimproc cp
WHERE cp.Status IN (1,4,5,7)/*received,supplemental,CapClaim, or CapComplete*/
UNION ALL
/*Claim payments for the entire office history*/
SELECT 'InsWriteoff' AS TranType,cp.PatNum AS PatNum,cp.DateCp AS TranDate,-cp.Writeoff AS TranAmount
FROM claimproc cp
WHERE cp.Status IN (1,4,5,7)/*received,supplemental,CapClaim, or CapComplete*/
UNION ALL
/*Payment plan principal for the entire office history on or before the given date*/
SELECT 'PayPlan' AS TranType,pp.PatNum AS PatNum,pp.PayPlanDate AS TranDate,-pp.CompletedAmt AS TranAmount
FROM payplan pp
WHERE pp.CompletedAmt!=0
) RawPatTrans
INNER JOIN patient p ON RawPatTrans.PatNum=p.PatNum
WHERE TranDate<=CURDATE()
GROUP BY p.Guarantor
) GuarTrans

 

Open Dental Software 1-503-363-5432