Hi Anne, the code in these methods is very confusing and a refactoring is needed for sure. But at the moment it calculates the item subtotals right.
If the workEfforts is not null, WorkOrderItemFulfillments is null and " itemTotal = itemTotal.multiply(getWorkEffortRentalQuantity(workEffort)).setScale(scale, rounding); " is not called at all. That's why it doesn't calculates it twice... And if the workEffort is null , then "itemTotal = itemTotal.multiply(getWorkEffortRentalQuantity(workEffort)).setScale(scale, rounding); " is called. Bilgin