This special topic focuses on revenue setup and the issues involved. The placement of the revenue formula is an important factor in revenue setup. In order to determine revenue placement, you need to evaluate the need for multiple revenue formulas within a single project, identify funding requirements, identify potential retainage issues, and evaluate reporting requirements. You need to ensure that the proper accounts for revenue are in the project account group of the project node where the revenue formula is assigned and evaluate the need for ceilings and overrides.
In order to enter revenue or billing formulas, you must first select the Billable Project check box in either the Basic Info screen (Projects » Project Setup » Project Master) or the Maintain Project Master screen (Projects » Project Setup » Project Master). If you do not select this check box, you will not be able to enter revenue or billing formulas.
Once you have selected the Billable Project check box, you can complete the Basic Revenue Info screen at the project level at which revenue is to be posted. The Revenue Formula that you select applies to the node for which it is entered, and all lower level nodes. You can enter multiple revenue formulas in a single project as long as no revenue formula exists beneath another one on the project tree. The Basic Revenue Info screen will issue an error message if you attempt this type of setup.
At the same node at which the revenue formula is entered, you must assign a project account group that contains accounts with the following Account Function Codes in the Project Account Groups screen (Projects » Project Setup » Controls):
REVENUE
UNBILLED-GENERL
You can enter only ONE account of each type. If you enter more than one account, the system will display an error message. If other types of charging are allowed at this level of the project, no other accounts need to be in the project account group.
When you post revenue, the account in the project's project account group that has been assigned the REVENUE Function Code receives the credit portion of the journal entry. The debit is to the unbilled account. In the case of negative revenue, the opposite entry is posted.
You can optionally enter an account with an ALT REVENUE Function Code in the Project Account Groups screen (Projects » Project Setup » Controls). The ALT REVENUE Function Code allows you to group revenue by the account that generated the revenue. To do this, you must assign a revenue account to each LABOR and NON-LABOR account in the Revenue Account Mapping column. See the documentation for the Project Account Groups screen for more information.
You can enter only ONE revenue formula on any branch of any project tree. This means that you cannot stack revenue formulas - you cannot enter a Revenue Formula for Project 1000.1 and another one for 1000.1.1. However, you can enter one for 1000.1 and another one for 1000.2. You may wish to do this if you need separate revenue by task or need multiple revenue formulas. You can print a Project Status Report at the top level of the project that will combine the revenue amounts of all lower levels. See Special Topic PJ-12, "Revenue Computations," for more info on specific revenue formulas.
You can compute revenue for any fiscal year/period/subperiod. You can recompute it for any previous fiscal year/period/subperiod. However, any time that you recomputed revenue for a previous subperiod, or period or fiscal year, the YTD revenue in all subsequent subperiods, periods, or fiscal years is incorrect until they are also recomputed. Revenue should change when it is recomputed only if there has been a change to costs or a revenue formula. If you recomputed revenue, you should complete the period end closing procedures to ensure that all reports and year-to-date amounts are accurate.
You can redistribute revenue for any subperiod as long as it has been computed. However, if it is redistributed for any previous subperiod, the YTD revenue in all subsequent subperiods is incorrect until they are also recomputed. See the Special Topic PJ-11, "Revenue Redistribution," for more information on this topic.
Unbilled amounts are updated by the revenue and billings posting programs. Unbilled costs are increased by the posting of revenue and decreased by the posting of billings. Situations may exist, however, where billings are not posted at the same project level that revenue is. In this situation, the posting programs update unbilled amounts at different project levels, making a reconciliation of these balances impossible. For this reason, when you post revenue and billings, the system compares the level at which revenue is recognized to the level at which billings are posted. If the levels are not the same, both posting programs use the higher of the two. For example, if revenue is recognized at level one of a project, but billings are posted at level two, unbilled amounts are posted to level one. The system uses accounts set up at this level with a function code that begins with "Unbilled," depending upon the type of unbilled costs that are posted. The following "Unbilled" Function Codes exist:
UNBILLED-GENERL
UNBILLED-RETAIN
You should assign the UNBILLED_GENERL Function Code to the account to which you would like to post revenue and billing amounts. If this account does not exist at the revenue and billing levels, the system will display an error message when you post. The system will use the UNBILLED-RETAIN account only if you are using the retainage feature in Costpoint Billing. The portion of the bill that is net of retainage will post to the UNBILLED_GENERL account and the retainage portion will post to the UNBILLED_RETAIN account.
Unbilled amounts exist in the general ledger either because of timing issues when posting revenue and billings or differences between the amount billed and the amount recognized as revenue. You may want to analyze the unbilled balances from time to time. See Costpoint Billing Special Topic BL-4, "Unbilled Receivables," for more information.
There are three types of ceilings: Direct Cost and Burden Ceilings, Fee Ceilings, and Contract Value and Funding Ceilings. For non-transaction-based revenue formulas, only Contract Value and Funding Ceilings are recognized. Direct Cost and Burden, and Fee Ceilings are ignored.
You enter Direct Cost Ceilings by account/org. You can set them up at either a summary or detail level account. You can set ceilings on burden rates by account and pool using either summary or detail level accounts. Please note that "O" (Override) burden rate ceilings are taken into consideration as part of the Compute Burden Cost process (Projects » Cost and Revenue Processing » Project Cost Processing). Therefore, the burden rates stored in the Project Burden Summary table are inclusive of these ceilings. Burden ceilings of C and F are not enforced until revenue and/or billing is computed.
You must enter ceilings for revenue computations at the same project level as the revenue formula or lower. Ceilings can exist at multiple levels of the same branch of the tree. Example: You can enter ceilings on Travel for 1000, 1000.1, 1000.1.1 and 1000.1.2. In this example, you must set up the revenue formula at the top level, project 1000, for these ceilings to be observed. Assume that costs on this project are charged at level 3 (1000.1.1 and 1000.1.2). Revenue is recognized at level 2 (1000.1). Costs charged and ceilings set at level 2 and 3 are observed when allowable direct costs are calculated. Ceilings set and costs charged to level 1 (1000) are ignored, because they exist at a higher level than does the revenue formula. Lower level ceilings are not considered when calculating allowable costs at higher levels. For example, if ceilings are set at level 3 of a project and costs are charged to level 2, these ceilings will be ignored. They must exist at the same level or higher than the level at which the costs are charged.
For T&M revenue formulas, you can set ceilings on hours by labor category, vendor, and employee. You can also set ceilings at multiple project levels. Only ceilings at project levels equal to or lower than the level of the revenue formula are observed. If you set ceilings by labor category and by vendor or employee, allowable hours are calculated in a two-step process. Allowable hours are first determined by employee or vendor. The system adds this allowable amount to the allowable hours of all employees who have charged to a given labor category. It then compares the sum of these hours to the ceiling set on that labor category to arrive at allowable hours by labor category. The system does not consider lower level ceilings when calculating allowable costs at higher levels. For example, if ceilings are set at level 3 of a project and costs are charged to level 2, these ceilings will be ignored. They must exist at the same level or higher than the level at which the costs are charged.
Contract and Funded Value ceilings are observed for any type of revenue formula. Enter the contract and funded value amounts in the Modifications screen (Projects » Project Setup » Controls). These values then appear in the Project Total Ceilings screen (Projects » Project Setup » Project Ceilings). You can enter codes of A for both revenue and billings, B for billings only, and R for revenue only. You must place these ceilings at or below the revenue levels for them to be considered in the revenue calculation.
There are three types of overrides: Cost Fee, Burden Fee, and Multiplier. You can set up overrides for any account to which costs are charged. When overrides exist at multiple project levels, the program looks for the closest override at the same project level or higher in the project tree. If you are enforcing a cost fee override on an account, it is not necessary to set up a burden fee override on the same account because the same fee percentage is applied to the burden.
You can use fees three different ways:
You can apply a fee to allowable costs by using a fee percentage. You must set this fee percentage at the same project level as the revenue formula. This type of fee is usually associated with cost type revenue formulas. Enter the fee in the Basic Revenue Info screen (Projects » Project Setup » Revenue Setup).
You can apply a fee to hours by using a fee per hour rate. You must set this fee per hour rate at the same project level as the revenue formula. This type of fee is generally associated with Time & Materials type formulas. Enter the fee in the Basic Revenue Info screen (Projects » Project Setup » Revenue Setup).
You can enter a fee in the Modifications screen as part of the total contract or funded value. The Compute Revenue program (Projects » Cost and Revenue Processing » Revenue Processing) applies a separate ceiling to the fee portion of the contract or funded value, as long as the Ceiling Code is A for revenue and billing, B for billing only, or R for revenue only.