Contract Line Item - Revenue Recognition

Revenue recognition is the process of realizing earned revenue. This is a manual process that ensures that accounting complies with Generally Accepted Accounting Practices (GAAP) and does not violate IRS laws. In Projector, this process is performed in bulk from the contract line item search page and individually from the revenue recognition landing pages for individual CLIs. Revenue recognition is most commonly run on Fixed Price contract line items. It is not advised and much less commonly run against Time and Materials or Not to Exceed contract line items. 

Additional Resources

  1. The How To Guide for Revenue Recognition in more Management Portal oriented, but does an excellent job of outlining when to run revenue recognition and for what types of contract line items.
  2. The March 2022 Release Overview Webinar provides an overview of the updates to revenue recognition on the web introduced on March 12, 2022. (go to 26:23)

At a Glance


The revenue recognition landing page includes a information about the contract type & time contract term, who last ran rev rec and when they ran it, the date through with revenue has been recognized, as well as the amount of revenue recognized, revenue remaining to be recognized, and the time contract amount.

A preview of the amount of system revenue to be recognize through the cutoff, assuming use of default options, is displayed with relevant warnings between the header and the activity table.

Warning icons appear inline when time cards or roles relevant to percent complete calculations are in an unexpected state.

A full history of revenue recognition activity is available in tabular form along with downloadable PDFs for each rev rec run. 


Revenue recognition can be run or undone as necessary.   

Permissions and Settings

To perform revenue recognition you must have the cost center permission Revenue Recognition for the engagement's cost center.

The Percent Complete method is determined by the system setting Base Percent Complete On. The choices are Person Hours, Resource Direct Cost, or Contract Revenue.

Note: If the Resource Direct Cost method is selected, the users who run revenue recognition should have the global permission Resource Direct Cost (RDC) Data. Otherwise they will not have permission to have Projector calculate percent completely automatically for them. The reason for this limitation is because through some clever math users could back calculate Resource Direct Cost rates based on revenue recognition numbers. For more information on the percent complete method, please , see our revenue recognition how-to.

Revenue recognition should almost always be run on Fixed Price contract line items. Revenue recognition should almost never be run on Time and Materials or Not to Exceed contract line items.

On Fixed Price contract line items users can optionally specify a Holdback amount. This amount is set aside until the client has signed off on the contract. When performing revenue recognition, Projector subtracts the holdback from the contract amount when calculating values like percent complete. In order to recognize the held back amount, users must zero it out on the contract line item landing page and then perform a final revenue recognition run.

Revenue recognition is only run for time cards, not for cost cards.  

The revenue recognition dialog that is displayed depends on whether the time contract terms on the contract line item is Percent Complete or Revenue Schedule.

Once a time card has been through revenue recognition, you typically cannot transfer it to another project or unapprove it. This is because that time card now has earned revenue associated with it. If the time card is removed, that revenue needs to go somewhere. In these cases your should undo revenue recognition, transfer/unapprove the time, and then redo revenue recognition. Step-by-step instructions for this process are available:

Revenue recognition can be performed regardless of whether the accounting periods it falls under are open or closed, but where revenue lands after the revenue recognition process does depend on whether the accounting periods are open.

If the time period in which revenue was recognized is still open for time cards, then any time cards approved after revenue recognition has been run will have zero revenue on them. You will need to either rerun revenue recognition to get revenue properly allocated to them or let the time cards sit at zero. There are 2 ways to prevent further hours from being added after a revenue recognition run:

  1. The accounting period should be closed and/or
  2.  The associated projects should be closed for time

Running Revenue Recognition 

The revenue recognition dialog is launched from the contract line item landing page.  The contract line item can be found by performing a search on the Contract Line Item search page, navigating to the landing page, selecting the Revenue Recognition sub-page, and then clicking on the button "Run Revenue Recognition". Projector will present one of two dialogs depending on whether the contract line item has a Time Contract Terms of  Percent Complete or a Revenue Schedule

Percent Complete

At it's core, the percent complete revenue recognition process is pretty simple. The wizard allows you to selects a start date, an end date, and how much revenue you want to recognize between those two dates. Projector finds all the approved time cards between the dates, and allocates the revenue between all the time cards according to the selected Percent Complete method (Hours, Resource Direct Cost, or Contract Revenue).

Note: If you have run revenue recognition previously on your selected date range, then all time cards before the start date are left alone. All time cards after the cutoff date are given a revenue of 0.00 for fixed price CLIs and are revalued for T&M-based CLIs.

Revenue Schedule

If you are running revenue recognition for a CLI with time contract terms set to Fixed Price with revenue schedule, the revenue recognition dialog locks into the start dates, end dates, and scheduled revenue for each revenue schedule period. The dialog is very similar to the percent complete revenue recognition dialog, it's just missing the option to change how revenue is recognized, as percent complete calculations based on actual and scheduled work are not a factor when recognizing revenue for revenue schedule-based contract line items. 

In the unlikely event that you have multiple unrecognized revenue schedule periods, the "Run Revenue Recognition" button will appear with a drop menu from which you are able to run rev rec against all unrecognized revenue periods in a single bulk action.

Dialog Pieces & Parts

Engagement & Contract Line Item Info

A reminder of the engagement, contract line item, and contract terms you about to recognize revenue for.

Date Range

For Percent Complete CLIs you can specify the date range for which revenue recognition should be run against. 

Percent Complete Date Range

Begin Date

The first day of the period for which you want to recognize revenue. The begin date is typically set to the day after the last revenue recognition run's cutoff date, but you are able to select additional dates as necessary. Alternate begin dates include:

  • Specific Date
  • Earliest project start date
  • After last rev rec cutoff (this is the default selection)
  • No start date

Additional Notes:

  • If you are used to running revenue recognition in the Management Portal, this is equivalent to the "From..." date.
  • Choose Earliest project start date to redo revenue recognition from beginning of the contract line item. Undo Rev Rec... from the underlying screen is an alternate path to cleaning up a CLI and preparing it for a fresh rev rec run.
  • Choose No start date if you want to re-recognize system revenue items prior to the earliest project start date (not common)
Cutoff Date

The last day day of the period for which you want to recognize revenue.  The cutoff date is initialized to the "Recognize revenue through" date on the rev rec landing page, and you can change it as appropriate. Date selections for the cutoff date include: 

  • Specific Date
  • End of day today
  • End of day yesterday
  • End of last week
  • End of last month
  • End of last quarter
  • End of last year
  • End of last period

Additional Notes:

  • If you are used to running revenue recognition in the Management Portal, this is equivalent to the "Use Actuals Through" date.
  • If revenue recognition was previously run and there is revenue sitting on time cards AFTER this date, that revenue will be zeroed out on Fixed Price CLIs and revalued on T&M-based CLIs.

Revenue Amount

For Percent Complete CLIs, the lower half of the dialog is where you specify how much revenue should be allocated across the given time cards. You have four options. The first is an automatic calculation done by Projector. The remaining three are manual override amounts. Each is explained in the table below.

Revenue AmountDescription
Calculate percent complete using the ratio of actual vs scheduled work and the (X) method

You will see one of three different wordings here depending on your installation's Percent Complete method.

  • Using the Hours method
  • Using the Contract Revenue method
  • Using the Resource Direct Cost method*

This is the "automatic" option. Projector gathers the following information:

  • The amount of revenue already recognized before your start date
  • The number of approved hours between the start and end dates
  • The number of hours booked after the end date. Requested hours can be optionally included as well.

With this information in hand Projector can then calculate what percent of the work you have completed according to your Percent Complete Method (Hours, Contract Revenue, Resource Direct Cost). An explicit revenue number is then formulated ($X) and allocated to the approved time cards. This option works well when actual work and scheduled work are fully and accurately represented in Projector.

Include Requested Hours in calculation - Consider requested hours as booked hours for the purposes of calculating percent complete. Useful when you have a plan that is in flux, but you know that requested hours will be incorporated.

*The Resource Direct Cost option is grayed out unless you have the global permission Resource Direct Cost (RDC) Data

Override percent complete ToRather than have Projector calculate your percent complete based on remaining booked hours, override that value to an explicit completeness percent. This is often chosen when you have a better idea of how complete a project is. For example, there may be a large number of hours left, but perhaps it is all easy, low-level work. You know that the project is more complete than what your scheduling data suggests.
Recognize total system revenue ofEnter the total revenue through the cutoff date, including revenue recognized prior to your begin date, that you would like recognized. For example, if two months ago you recognized 10k, and now for last month you earned another 5k, you would enter 15k here. Projector will back calculate the percent complete automatically.
Recognize period system revenue ofProjector looks at all revenue currently recognized (even in the future) and adds this number to it. That revenue is then applied to your revenue recognition period's specified date range. If there is already revenue on time cards in that date range, then the revenue is first removed and the new amount allocated.
Use the last billed milestoneRecognize the milestone amount of the last billed milestone for the period between the configured rev rec begin date and the last billed milestone's achieved date.

Calculation Previews

There are two views of the revenue to be recognized. A summary view and a detail view. These views are present for both percent complete and revenue schedule CLI rev rec runs.

Revenue Recognition Summary

Displays the date range of the period for which revenue is being recognized, the revenue amount for the period, and the total contract revenue that will be recognized after the rev rec operation.

Calculation Details

The calculation details section shows all the information Projector gathered for this revenue recognition run and how it will be used to adjust your recognized revenue. The data points are displayed in three separate columns. The first column shows all your actuals to date. The second column shows all your estimates based on booked hours. The final column shows the sum of the first two as the estimate at completion.

Actuals to DateActual numbers up to the date you chose on the previous page of the revenue recognition wizard
Estimate to CompleteEstimated numbers based on booked hours after the Actuals date
Estimate at CompletionThe sum of the first two columns

You'll see one of four options displayed here. The first three are shown if you allowed Projector to calculate your revenue from the beginning of the project through your end date. Overridden is displayed if you manually specified a date period and revenue amount. If you let Projector do the calculations then it will show you the actual Hours / Contract Revenue / Billing Adjusted Revenue amounts.

  • Person Hours
  • Contract Revenue
  • Resource Direct Cost
  • Overridden by user
Percent CompleteThe percent complete the project is as of your end date.
Proposed System RevenueThe total amount of revenue that will be recognized between the project start date and the revenue recognition end date. We also show how much recognized revenue is currently in that time period.
Proposed AdjustmentThe difference between the current and proposed revenue amounts. This amount is viewable in the Revenue Recognition history viewer.


You may see the following warnings. Some of these warnings will prevent you from completing your revenue recognition run. Others are merely to notify you that something may need your attention.



No eligible time cards exist from the beginning of the project through (date) to receive the proposed system revenue

Projector looked for time cards between your start and end dates, but was not able to find any. You cannot complete revenue recognition without having at least one approved time card in the specified period. You should add a time card and rerun revenue recognition or expand your start/end dates to encompass an existing time card.

Why does Projector enforce this rule? Because according to GAAP you can only recognize revenue when work is done. If no work has been done, then no revenue should be recognized.

No scheduled hours exist starting (date) to receive the proposed revenue left to earnYou have recognized less than 100% of your contract, and Projector expects that remaining contract amount to be allocated on future time cards. You have no future booked hours, so currently there is nowhere for that revenue to land.
Cannot calculate percent complete because costs, rates or hours are zero Projector cannot calculate how percent complete the project is because there is no revenue on the time cards.
Contract rates on scheduled hours are set to zero, preventing allocation of proposed revenue left to earnYour percent complete method is set to Contract Revenue, but your contract rates are zero. Projector can't figure out what percent of work should be allocated to your current revenue recognition time period vs. your booked hours. You cannot complete revenue recognition. You should correct your contract rates and rerun revenue recognition.
The total contract revenue amount on eligible time cards is zero, preventing allocation of proposed changes to actuals to date

This warning will appear if the total contract revenue associated with eligible time cards prior to the end date is zero and therefore the proposed adjustment cannot be properly allocated. In this case, the first checkbox will be disabled. Note that the text of this warning will vary to reflect configured percent complete algorithm.

Draft, rejected or unapproved time cards exist prior to (date)There are Draft, Rejected, or Unapproved time cards prior to your end date. These cards, if later approved, would enter the system but have zero recognized revenue on them. This is usually a bad thing because you want to paint the most accurate revenue picture possible. You should clean up the hours by submitting and approving them, moving them to another project, or deleting them from the system.


The notes area is a place where you can store information about this revenue recognition run and why you made the choices you did. You can review these notes on your confirmation PDF, discussed next.

Revenue Recognition Confirmation PDF

Each time you run revenue recognition the details of the run are stored in a PDF file. At any time you can view this detailed PDF from the history browser (see the history browser docs below). 



UserThe user account that performed this revenue recognition
Date/TimeThe date and time that this revenue recognition run was performed. Timezone reflects your installation's time zone.
Client The client associated with this engagement
Engagement The engagement associated with this contract
Contract TermsThe terms as specified on the contract line item landing page
CurrencyThe currency as specified on the engagement landing page
Cutoff DateThe end date selected for this revenue recognition run. All previously recognized revenue after this date is zeroed out.
Proposed AdjustmentsThe table shows your revenue recognition method, actuals, and more. See the Confirmation Screen section of this page for full details of this table.
WarningsThere are a number of possible warnings. These would have been shown to the revenue recognition runner prior to completing their run. See the warnings section of this page for an explanation of each.
NotesWhen a user performs revenue recognition they have the option of typing in notes about what they did and why. These are entered here.
Projector Confirmation IDThe confirmation ID consists of the engagement code followed by a colon and then the date/time in ET format Year, Month, Day, Time format (YYYYMMDDTTTTTT)

Undo Revenue Recognition / Reverse Rev Rec

When new time cards are approved within already rev rec'd periods, in order to allocate revenue to them, you should unrecognize revenue for the period and then rerun revenue recognition to spread the revenue across all approved cards within the date range. Other actions requiring revenue recognition to be undone include: transferring time to another project, unapproving, or deleting time cards that have recognized revenue.

Revenue recognition can be reverse in either Projector's web interface or the Management Portal. The web interface is simpler by far and less likely to cause additional complications. Documentation for the interfaces can be found at:

Revenue Recognition Activity Tables

You can view past revenue recognition activity right on the revenue recognition landing page. There is a History view that shows the high-level details of each and every rev rec run, and a Net view that hides overwritten runs and shows fewer data columns for a more compact information display.

Recognized Revenue (History)

View who, what, when, and how much for each rev rec run in the history view.

Recognized Revenue (Net)

Simplify the view down to when and how much only for periods that have not been overwritten with the net view. If you compare the two views displayed here, you will see that the first four rows of data in the history view (above) are omitted from the net view (below). They are omitted because they have been overwritten by subsequent rev rec runs.

Note: Values in each row of the tabular revenue recognition activity views represent data as of the moment a particular rev rec run was executed. 



User The user that performed the revenue recognition
Date/TimeDate and time that revenue recognition was executed.
Contract Terms (Time)

The time contract terms of this contract line item.

Note: This should almost always be Fixed Price.

Time Contract AmountThe contract value (including any holdback amount) specified on the contract line item landing page
Begin DateThe first date for which revenue is recognized for the period in question. The begin date is sometimes referred to as the From date for a revenue recognition run.
Cutoff DateThe last date for which revenue is recognized for the period in question. The cutoff date is also referred to as the end date or Use Actuals Through Date from time to time.
Incremental Revenue Recognized

The change in the amount of revenue assigned to time cards between the begin date and cutoff date associated with this revenue recognition run.

Note: The sum of these adjustments does not necessarily have anything to do with the amount of revenue currently on time cards. The reason is that you can have revenue recognition runs that overlap based on dates. So even though $X were assigned to time cards during this run, $Y may have been zeroed as part of that process.

Period Revenue RecognizedThe amount of revenue for the period at the time this rev rec run was executed. Incremental and Period Revenue Recognized often diverge when revenue for a period is recognized multiple times.
Revenue Recognized to Date

Amount of revenue recognized from the contract line item's earliest rev rec begin date thru the rev rec run's cutoff date for the current configured on this when it was run.

Percent of Revenue RecognizedPercent of the contract line item's time contract amount recognized as revenue thru the revenue recognition run's cutoff date.
NotesNotes entered by the user when performing revenue recognition. 

Inline undo launches a dialog which allows you to set the last revenue recognized date to the day prior to the selected rev rec run's begin date and zero out all recognized revenue after that date.

Note: Inline undo must be done one row at a time and walks the recognized revenue back run-by-run. Row's associated with revenue that has been partially or entirely overwritten can not be undone with the inline undo. To undo revenue that has already been overwritten, use the "Undo Rev Rec..." link above the activity table.

View PDFDownload the Revenue Recognition Confirmation PDF for the selected revenue recognition run.