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:

  1. Billable__c = true

  2. 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.