Revenue Distribution
The Redistribute Revenue screen and the Redistribute Revenue by Project screen redistribute the revenue that has been applied to a single account/single organization (the revenue account and home organization) for a given project to all accounts/organizations 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 plus fee on cost), revenue is calculated separately for each account/organization 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/organization combination (the revenue account/home organization 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 does not allow you to modify the redistribution amounts, whereas the project-by-project version does. However, the process used in determining the redistribution amounts is identical in both versions.
The Redistribution Process
You can perform the Redistribute Revenue process 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/organization combination in 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 no cost incurred.
After the project tree structure is collected, Costpoint 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 is not in excess of a ceiling.
- On a project with a non-cost-based formula, the allowed cost is the same as incurred cost.
Costpoint 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 receives.
After deriving the redistribution percentage, Costpoint obtains the Total Revenue for the project by adding up the Total Revenue field for all account/organization combinations for the entire project.
Costpoint then multiplies the Total Revenue for the project by the redistribution percentage for each node to determine that node's Final Revenue.
Finally, Costpoint 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.
In addition, any pennies that result from rounding during this process are placed on the node that contains the highest revenue.