Release Notes: Actuals reconciliation CLI and cascade syncs · June 18, 2026

Reconcile actual hours via the management CLI. Integration cascade syncs and smart CSV dataload imports. Includes 7 backend and platform improvements.

New Features

  • Reconcile Actuals CLI: A new reconcile_actuals.py management script allows administrators to wipe and re-fetch actual hours for specific out-of-sync projects by triggering a targeted integration sync.
  • Integration Cascade Syncs: Dataload mappings can now include cascade configurations. If an imported row updates specific fields on a record, the system automatically dispatches a targeted outbound integration sync to update external systems (like Salesforce).
  • Actual Hours Synchronization: When you change the start or end dates of a resource plan assignment, the system now automatically resizes the actual hours arrays to match the new date range, alongside planned hours.
  • Smart Dataload Dependencies: During CSV imports, if a child record references a parent document that has not been created yet, the system now automatically pauses the row as “Pending Parent Document” and resumes processing once the parent is created.
  • Resource Plan Status Indicators: Updating the status of a resource plan or assignment now displays a loading spinner during processing. If the update fails, the system safely reverts to the previous status and alerts the user.

Fixes & Improvements

  • Management CLI: The zero_out_hours.py script now supports an optional --org parameter to scope updates to a specific organization.
  • Dataload Performance: Added new database composite indexes for dataload_results to optimize the querying of pending import dependencies.

Need more help?

Our support team is available to assist you.

Contact Support