This can be done with the API manually — we do not currently have a reporting API that does these calculations.
You will need to extract the project rates, people contract costs, the assignments and the actuals.
Ensure you calculate the values for each day separately (e.g. how many hours of assignments, how many hours of actuals, rates and costs on 2023-02-21, 2023-02-22, 2023-02-23) and then combine them into the correct periods.
Assignments have start and end dates that cover weekends, so they should be excluded unless “non_working_day = true”.
On days an assignment exists, but no corresponding actual exists, we calculate revenue/costs based on the assignment. When an actual exists, we use the actual value.
Scheduled Leaves can be ignored - we treat work as still occurring when it clashes with an assignment
Public Holidays cannot be ignored - when a public holiday for a person falls on the same day as an assignment, we 0 the value of the assignment that day. Unless the assignment has “non_working_day = true”
All past days of placeholder assignments are treated as 0
We understand this is a complex calculation, and we are committed to creating a reporting API in the future.