Capturing Submitted Planned Hours
Highlights
Implemented new logic to capture Planned Hours on Timesheets upon submission. This ensures that the Planned Hours values reflect those present at the time the user submitted the Timesheet.
What Changed
When using Task Resourcing Mode, Planned Hours on Timesheets now update dynamically to reflect current Project Task scheduling. Previously, once a Timesheet was Submitted, the Planned Hours displayed would remain static even if the underlying Project Task was rescheduled. This created confusion when comparing what was planned at submission time versus current planning.
With this update, Planned Hours on Timesheet Entries will always reflect the current schedule. When a Project Task is rescheduled and no longer overlaps with a submitted Timesheet period, the Planned Hours for that period will update to zero. To preserve the historical record of what was planned when the user submitted the Timesheet, a new field captures this snapshot.
Additionally, when new Timesheet Line Items are created on already-submitted Timesheets (due to Project Task changes), they will inherit an appropriate status based on the Timesheet's current state, ensuring workflow consistency.
How It Works
Consider a Project Task assigned to a Contributor spanning two weeks with 80 Planned Hours:
- The Contributor submits their Timesheet for Week 1, showing 40 Planned Hours (8h/day)
- The Project Task is rescheduled to start from Week 2 instead of Week 1
- The Week 1 Timesheet now displays 0 Planned Hours (reflecting current schedule)
- The original 40 Planned Hours are preserved in the Submitted Planned Hours field
For Timesheet Line Items created on non-Planned Timesheets:
- If the Timesheet status is Approved, new Timesheet Line Items are created with Approved status
- If the Timesheet status is Submitted, new Timesheet Line Items inherit Submitted or Approved status based on existing items
This allows Project Managers to see current Resource allocation while maintaining an audit trail of what was committed at submission time.
Enablement Guidance
Navigate to Precursive HQ > Critical Updates and verify the following tile: Populate Submitted Planned Hours.
This Critical Update applies the submission logic to all existing Submitted, Approved, or Rejected Timesheets, ensuring historical data consistency.
Layout Consideration:
A new field "Submitted Planned Hours" is now available on the Timesheet Entry object. Customers who require visibility into historical Planned Hours at submission time may choose to add this field to their Timesheet Entry page layouts or reports.
Bookings Planned Hours accuracy
Highlights
Resolved an issue where Planned Hours could appear as negative or inaccurate when effort was distributed across multiple days. Planned Hours now remain consistent with the Task estimate, avoiding over-allocation or negative adjustments.
What Changed
Resolved calculation issues that could cause Planned Hours on Bookings and Timesheet Entries to display incorrect values when distributing effort across multiple days. Previously, rounding during hour distribution could result in totals that exceeded or fell short of the original estimate, sometimes producing negative values on individual Bookings.
The system now uses improved rounding logic that ensures the sum of distributed hours always matches the original estimate. Any rounding remainder is applied to the first Booking or Timesheet Entry in the sequence rather than creating discrepancies.
How It Works
When Planned Hours are distributed across multiple days or weeks, the system divides hours evenly across working days. With small hour values spread across many days, rounding to two decimal places could accumulate errors.
For example, a Project Task with 6 Estimated Hours spanning 229 Timesheet Entries previously calculated 0.03 hours per entry (rounded up), resulting in 6.87 total hours and a -0.87 adjustment on the final entry.
The updated logic:
- Calculates hours per day using round-down logic (0.02 in the example above)
- Sums the distributed hours (4.58 in the example)
- Applies the remainder (1.42 hours) to the first entry in the sequence
This ensures totals always match the original estimate without negative values appearing on any individual entry.
Enablement Guidance
No configuration changes required. The fix applies automatically to new Bookings and Timesheet Entries created after upgrading to version 2.12.
Existing Bookings and Timesheet Entries created prior to this version will retain their current values. If customers encounter historical records with negative or inaccurate Planned Hours, they can trigger recalculation by making an update to the related Project Task (such as adjusting dates or hours, then reverting if needed).
Data Model
Version 2.12 introduces few data model changes to support the capabilities described above.
New fields
| Object Label | Field Label | Field API Name | Field Type | Description |
| Precursive Protected Settings | Are Submitted Planned Hours populated | preempt__areSubmittedPlannedHoursPopulated__c | Checkbox |
Flag indicating whether Submitted Planned Hours have been populated
|
| Timesheet Entry | Submitted Planned Hours | preempt__submittedPlannedHours__c | Number (4.2) |
Stores a snapshot of Planned Hours at the time user submitted Timesheet
|
Updated field
Field description updated
| Object Label | Field Label | Field API Name | Field Type | Description |
| Project Access Level | View Phase | preempt__viewPhase__c | Checkbox |
Granting this option is required to enable Participant Phase access, including read-only details, Time Logging, and Timesheet submission.
|
Review all Release Notes.