ETC (Cost) on task list page doesn't get updated correctly when a role is staffed on a project a second time and assigned to the same task.

Document ID : KB000056906
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

When task date range is within the matching matrix row coverage, the ETC (Cost) often picks up a rate of $1; when the task date range is outside of the matching matrix coverage but still within the coverage of a wildcard row, the cost is blended but often not with the expected rates.

It would appears that depending on how the date range of the project, task assignment and matrix row overlaps each other, the calculation would either be using a higher than expected rate, or a lower than expected rate, none of these rates are defined in the matrix. 

Here is an example for when the task date range is within the matching matrix row date range: if you put a role on a project, assign it to a task with 100 ETC, then calculate the task ETC (Cost), it is calculated correctly; when you then add the role to the project a second time, and assign this second occurrence of the role to the same task with an ETC of 50, and calculate ETC Cost total again, the amount doesn't change. If you change the rate in the matrix then calculate cost total, the ETC Cost does not get updated with the new rate.

After running the Rate Matrix Extraction (full) job, performing a Calculate Cost Total results in ETC Cost being calculated with the full ETC (150 in this example) but a rate of $1 despite of a different rate being defined in the matrix.

Any new task added to the same project with the duplicate roles assigned continue to receive the $1 rate, with or without the Rate Matrix Extraction (full) job running.

New project that has the role added twice first, then have the roles assigned to a new task with ETC, would get the correct rate applied to the ETC Cost amount.

Steps to Reproduce:

1. Create a new labor role "Developer"

2. Create a matrix that has a column for Resource Role, enter a row with:
 From Date: 1/1/1990
 To Date: 1/31/2014
 Resource Role "Developer"
 Rate = $8; Standard Cost = $2; Actual Cost = $3

and a catch-all row with:
 From Date: 1/1/1990
 To Date: 12/31/2054 (any random year far into the future)
 Resource Role : *
 Rate = $40; Standard Cost = $50; Actual Cost = $60
  
3. Create a new project "PROJ001", start date set to 1/1/2014, finish date set to 1/31/2014

note: this is a one month duration, not one year

4. On the financial page of the project, enter the matrix defined above to Labor Rate Source and Labor Cost Source
 
5. Go to the Team tab, add the role "Developer"
 
6. Go to the Task tab, create a new task "TASK001", same dates as the project, assign Developer to this task with the same start and finish date, and ETC of 100, Save and Return to the task list page
 
7. Select this task, click on Actions > Update Cost Total
-> the ETC (Cost) amount is now populated with $300 as expected
 
8. Go to the Team tab, add the role "Developer" a second time, this creates a new row on the team staff list as "Developer (2)"
 
9. Go to the Task tab, click on "TASK001", click Assign and add "Developer (2)", enter ETC 60, Save and Return
 
10. Task ETC now shows 160 back on the task list page. Select this task and select calculate cost total

Expected: ETC Cost is (100 + 60) * 3 = 480
Actual: ETC Cost is still 300. The new 60 ETC from the Developer (2) role doesn't get included. After running the Rate Matrix Extraction job with the first 3 parameters checked, updating cost total will update the ETC (Cost) to $160 as if the rate is $1

11. Create a second task "TASK002", start date is 1/1/2014, finish date is 3/31/2014; assign Developer with ETC of 80 and Developer (2) with ETC of 20.

Note that the finish date is outside of the matrix matrix row date range now as the matrix row for Developer finishes on January 31 2014

12. Update Cost Total for this task,

Expected: the ETC (Cost) shows a blended rate of $8 (from the row for Developer) applied to the month of January 2014 and $60 (from the catch-all row) applied to the remainder ETC of the task.
Actual: the ETC (Cost) shows $3,879.65 ; this amount looks to be blended but the rate seems to be too high considering the simple low rates defined in the matrix

13. Change the finish date of TASK002 to on or before January 31 2014, Save and Return

Expected:  Upon selecting and clicking on Calculate Cost Total for this task, the Cost Total is $300

Actual:      Once the task list page is refreshed the ETC Cost is already showing $100 as if it's using a rate of $1; running the matrix job and clicking on Update Cost Total do not change this amount 

 

Solution:

This is documented as CLRT-74396 and is resolved 14.3.