Overview
In TimeTracker (TT), rollups are used to automatically calculate and update summary information on parent records whenever time entries are added, modified, or removed. This ensures that projects, tasks, assignments, and related business records always reflect the latest actual, approved, and billable time and cost data—without requiring manual updates.
Rollups are triggered at the TT Detail level and propagate calculated values to multiple related objects.
Parent Records Updated by Rollups
Whenever a TT Detail is inserted, updated, deleted, or undeleted, the system recalculates totals and updates summary fields on the following parent records:
TT Project
TT Task
TT Task Assignment
TT Header
Case
Opportunity
Account
This multi-level rollup ensures that time and financial data remain consistent across operational and business objects.
When Rollups Are Triggered
Rollups are executed when TT Details undergo any of the following operations:
1. Insert (New Time Entry)
When a new time entry is created, its hours and financial values are added to the parent rollups.
2. Update
Rollups run on updates only when important fields change, to reduce system load and improve performance. These important fields include:
Project, Task, or Assignment lookup changes
Case, Opportunity, or Account lookup changes
Time Worked changes
Approval Status changes
3. Delete
When a TT Detail is deleted, its contribution is removed from parent totals.
4. Undelete
If a deleted TT Detail is restored, its values are added back into the rollups.
What Data Is Rolled Up
A. Hour Totals
The system calculates time-based totals using the Time Worked field:
Actual Hours
Sum of Time Worked from all relevant TT Details
Approved Hours
Sum of Time Worked from TT Details where Approval Status = Approved
B. Cost and Billable Totals
Rollups also calculate financial metrics:
Fully Loaded Cost
Sum of Cost from all TT Details
Total Billable Amount
Sum of Billable Amount from TT Details that meet the billable condition
Total Billable Hours
Sum of Time Worked from TT Details that meet the billable condition.
How Billable Time Is Determined
A TT Detail is considered billable if either of the following conditions is met:
Billable__c = true
Billable_test__c contains or equals “Billable”
The system automatically handles whether Billable_test__c is a Picklist or Multi-picklist field.
This flexible logic ensures compatibility with different customer configurations.
Handling Inactive Records
TT Details marked as Inactive = true are excluded from all rollups.
This allows organizations to retain historical data without affecting current operational or financial totals.
Performance Optimization
To minimize processing overhead:
Rollups on update are triggered only when critical fields change.
Non-impactful field updates (e.g., comments or descriptions) do not trigger recalculation.
This design ensures scalability even for customers with high time-entry volumes.
Conclusion
The TimeTracker rollup mechanism ensures that time, cost, and billing metrics remain accurate and synchronized across Projects, Tasks, Assignments, and CRM objects such as Cases, Opportunities, and Accounts. By selectively triggering rollups and excluding inactive records, the system balances accuracy with performance.