If Investment Class is a column in the rate matrix and the project does not have an investment class but there is another match for the row, the transaction will pick up the incorrect row.
If rate matrix has rows in this order
Rate and Cost:
1) Investment Class: RGB
Rate and Cost: 52
2) Investment Class: *
Rate and Cost: 1
A transaction which has the matching role of lw_role but the associated project has no investment class, the transaction will pick up Row 1 for $52. Instead it should pick up Row 2.
Steps to Reproduce:
1. Create a rate matrix with column order
Investment_class, Resource, Role
2. Create two rows in the matrix as mentioned above (see screenshots)
3. Use a project associated to the same rate matrix.
4. Make sure the project does not have investment class associated.
5. Make sure there is not a default investment class on the Entity or Defaults.
6. Add a resource to the team who has the same primary role as the row in the matrix (lw_role in my case)
7. Create a task and assign the resource to the task.
8. Create a transaction against this project using a resource with the same role defined in the matrix.
9. Check the cost on the transaction
Expected Result: Should be associated with the row in matrix without the Investment Class
Actual Result: Calculates the cost based on the row in the matrix with the Investment Class
Defect DE40027 currently under review.
Take out investment class from matrix OR
Create a dummy investment class to add to the projects which do not have one.