The Redistribute Revenue screen (Projects » Cost and Revenue Processing » Revenue Processing) and Redistribute Revenue by Project screen (Projects » Cost and Revenue Processing » Revenue Processing) redistribute the revenue that has been applied to a single account/single org (the revenue account and home org) for a given project to all accounts/orgs that incurred cost. In this way, revenue can be matched to cost, and profit can be derived by account and performing organization.
For projects whose revenue formula is cost-based (cost incurred plus fee on cost), revenue is calculated separately for each account/org combination that incurred cost. However, for projects whose revenue formula is not cost-based (fixed amounts, Revenue=Billings, Revenue=G/L, Revenue=ETC or EAC, and loaded labor formulas), revenue is calculated and posted to a single account/org combination (the revenue account/home org of the project). This difference in calculation methods poses a problem for companies that normally post revenue to organizations based on performance. As you can see, revenue by performing organization is captured and available for cost-based formulas, but not for non-cost-based formulas. The Revenue Redistribution process was developed to help alleviate this problem.
You can perform this process on a project-by-project basis, or in batch for a range of projects. The batch version will not allow you to edit the redistribution amounts, whereas the project-by-project version will. However, the process used in determining the redistribution amounts is identical in both versions.
You can perform the Redistribute Revenue process (Projects » Cost and Revenue Processing » Revenue Processing) using actual or target rates, or both. You can perform it only for a single subperiod at a time using the project-by-project version, and for a range of subperiods using the batch version. Additionally, you can perform it ONLY after computing revenue for that subperiod or range of subperiods.
The Redistribute Revenue program uses the PROJ_SUM Table as the basis for all calculations. The PROJ_SUM Table contains the following fields for each account/org combination within a given project node:
Direct Incurred Amount
Direct Amount Allowed for Revenue
Fee on Direct Amount
Burden Incurred Amount
Burden Amount Allowed for Revenue
Fee on Burden
Other Fee (Award Fee)
Fixed Revenue Amounts
Redistributed Revenue
Total Revenue (this is the sum of all previous fields except for Direct Incurred Amount and Burden Incurred Amount)
When a given project's revenue is redistributed, Costpoint first checks the Project Master Setup (PROJ Table) to determine how many nodes exist in the project tree. All of those nodes are collected and made available for redistribution, even if some of the nodes have had no cost incurred.
After the project tree structure is collected, the system collects all Allowed Cost For Each Node values from the PROJ_SUM table by summing the Direct Amount Allowed for Revenue and the Burden Amount Allowed for Revenue. The Allowed Cost is the cost used in the revenue computation:
On a project with a cost-based formula, the allowed cost is any cost incurred that was not in excess of a ceiling.
On a project with a non-cost-based formula, the allowed cost is the same as incurred cost.
The system divides the Allowed Cost For Each Node (in total, irrespective of account or organization) by the Total Allowed Cost For The Entire Project. This becomes the redistribution percentage, or percentage of revenue that each node will receive.
After deriving the redistribution percentage, the system obtains the Total Revenue for the project by adding up the Total Revenue field for all account/org combinations for the entire project.
The system then multiplies the Total Revenue for the project by the redistribution percentage for each node to determine that node's Final Revenue.
Finally, the system obtains the Revenue That Already Exists for the node by summing the Total Revenue field for all account/org combinations for the node. It compares this value to the Final Revenue amount, and the difference (+ or -) between the Revenue That Already Exists and posts the Final Revenue into the PROJ_SUM table as Redistributed Revenue.
Additionally, any pennies that result from rounding during this process are placed on the node that contains the highest revenue.