Known Issue
Planned Hours Rounding on Timesheet Entries

Name
Planned Hours Rounding on Timesheet Entries
Status
Scheduled
Product
Precursive
Product Component
Summary

We've identified a few areas where Planned Time calculations and their interaction with Timesheet Entries might lead to data discrepancy on Revenue Forecasting:

1. Negative Planned Hours Calculation due to Rounding:

When a Task with a specific number of Planned Hours is divided into numerous Timesheet Entries, the Planned Time per Timesheet Entry is calculated and rounded up to two decimal places. This rounding can result in a slightly higher overall Planned Time for the Booking than the original Estimated Hours on the task.

Example: 6 Estimated Hours divided into 229 timesheet entries. The calculation should be ~0.0262 hours per entry. However, due to rounding up to 0.03, the total Planned Time becomes 6.87 hours, creating a Booking with -0.87 to cover the discrepancy from the rounded values

Impact

Users may see negative Planned Hours on Bookings.

Planned Solution

Instead of rounding up to 0.03, we will be rounding down to 0.02 which will make 4.58 hours Planned and leave 1.42 hours for the first Booking


2. Timesheet Overlap and Planned Hour Allocation:

This issue has several variations:

  • Scenario 1: Contributor Created After First Timesheet Submission: If a Contributor is added to a Task that overlaps two Timesheets (one Submitted/Approved/Rejected, the other Planned), Planned Hours are primarily created on the Planned Timesheet and kept when Timesheet is in further than Planned Status. Hours from the closed timesheet are added to the last day of the Planned Timesheet period.
  • Scenario 2: Booking Before Timesheet Submission and RecreateBookingsForContributorsBatch Trigger: If Bookings are created before Timesheet is Submitted, and then a "RecreateBookingsForContributorsBatch" is triggered by changes triggered by other Tasks, Planned Hours for the Timesheet in Planned Status may be recalculated. Hours from a Timesheet in Submitted/Approved Statuses might be added to the last day of the Planned Timesheet.
  • Scenario 3: Planned Hours Changed Directly on Task: If Planned Hours are changed directly on a Task (or Task Contributor) after a Timesheet has been Submitted, the Planned Timesheet's Planned Hours are recalculated. Again, hours from the Submitted/Approved Timesheet might be added to the last day of the open timesheet.

Impact

Inconsistent or unexpected distribution of planned hours across Timesheets that overlap.

Planned Solution

When changes are made to a Booking (or related Task) timeline or its Planned Hours, these updates will be reflected in the Timesheet Entry, regardless of the Timesheet's status. To retain historical data, such as the Planned Hours submitted or approved by a user, the original Planned Hours will be copied to a separate field. If this field contains a value, it will be displayed as the Planned Hours on the Submitted or Approved Timesheet.


3. Reminder Calculation Discrepancy

When a Booking with a specific number of hours is spread over multiple days (e.g., 5 hours over 3 days), the per-day hours are calculated with decimals. When the total is summed, it can result in a slightly higher value than the original Booking hours due to the way these decimal places are handled.

Example: 5 hours for 3 days calculates to 1.67 hours per day. However, 1.67 * 3 = 5.01, not 5.00.

Impact

Minor discrepancies in reminder calculations that may affect the Revenue Forecasting.

Planned Solution

When a difference exists between these hours, we subtract it from the first Booking's Start Date. In this example, the first Booking has 1.66 Planned Hours, the second and third have 1.67 each, totaling 5.00.

Reproduction Steps

See Examples provided.

Workaround

None

Updates