This article walks through the end-to-end configuration of the Labour Cost and Budget feature in EVO WFM for Card Factory. Follow each step in order to ensure the Labour Cost Dashboard displays correctly.
📌Note: Complete Steps 1–4 before testing the Labour Cost Dashboard in Step 5.
Step 1 – Create codes for imported data
Card Factory imports four values into WFM. The fourth value (Hourly Store Budgets) is already in place. Steps 1–3 below cover the remaining three imported values.
Agree the interface codes for the three remaining imported values with Card Factory.
Navigate to WFM Admin > Interface Types and set up the agreed interface codes.
Configure each interface type with the Disregard Start/End Time setting.
Confirm that the imported values are available in the Operational Demand Grids.
📌Note: The four imported values are: Sales Budget, Sales Predicted, Sales Actual, and Recommended (Hourly Store Budgets).
Step 2 – Create codes for % Optimisation
Configure the % Optimisation values in the Interface Types screen. These are internal calculation codes — no imports are required.
Navigate to WFM Admin > Interface Types.
Create two new interface types:
One for Optimisation Daily.
One for Optimisation Weekly.
Configure both interface types with the Disregard Start/End Time setting.
In the Optimisation Daily and Optimisation Weekly columns, enter the respective interface types.
📌Note: The Labour Dashboard writes to and reads from Roster Transactions to calculate the minimum and maximum values per day, which are then used to determine the % Optimisation. There are no imports for this step — it is an internal calculation method only.
Step 3 – Operational Demand Grid configuration
Navigate to WFM Admin > WFM Configuration > Operational Demand Configuration.
Create a new Operational Demand Grid
Select Add and enter the Template Code and Description.
Set Labour Cost to Y and Active to Y.
Configure the grid columns
The grid contains the following columns, configured left to right:
Sales Budget, Sales Predicted, Sales Actual, and Recommended — these are all imported values from Card Factory. Select the appropriate code and description for each.
Scheduled (Planned Hours) and Actual (Actual Hours) — these are system data values populated automatically.
Target — this is a fixed value of 75%. Configure as follows:
Create a new formula (for example, named
Fixed_Valueto distinguish it from other formulas).Set the fixed value to 75.
Set the display type to Percent.
Add the formula to the grid.
% Optimisation — select the Optimisation Daily interface value created in Step 2.
This column displays an optimisation percentage calculated from the minimum and maximum staffing values held in 15-minute blocks.
It is derived using the Optimisation Daily or Weekly interface values. See WFM Admin > Interface Types > Assign Types for where Optimisation values are assigned.
Variance — this is a formula column. Configure as follows:
Create a new formula with a Formula Code and Name.
Set Interface Type/Value to OPTD (the Daily Optimisation code created in Step 2).
Set Action to Minus.
Set Interface Type to Fixed Value (this can also reference the Target % formula created above).
If using a fixed value, enter 75 and set the display type to Percent.
Set the Variance column toggle to On.
Add the formula to the grid.
📌Note: The Operational Demand Configuration is now complete.
Step 4 – Override the grid for a selected Team Area
Navigate to the Team Area Structure or Team Area Configuration screen and apply the Operational Demand Grid override for the relevant Card Factory Team Area.
Step 5 – View the Labour Cost and Budget Dashboard
Navigate to EVO WFM. The Labour Dashboard should be displayed in the left panel. If it is not visible, check menu access permissions.
Dashboard controls
Team Area — select the Card Factory Team Area Structure.
Mode — choose from:
End Date: enter a start date and end date.
Weeks: enter a start date and a number of weeks.
Months: enter a start date and a number of months.
Testing
Test the dashboard with the following user access levels:
A user with full access to the Team Area Structure.
A user with lower access, for example at Region or Store level (Store level is recommended).
Verify that the following data is returning correctly:
Sales (Predicted, Budget, and Actual) values are imported and displaying.
Recommended value matches the imported value for the selected store.
Planned and Actual hours are based on overnight or manual cost calculations.
Target of 75% is displayed.
% Optimisation matches the Roster details — run for a week or a day and verify that the Roster detail figures match.
Variance %: % Optimisation minus Target shows both positive and negative values.
⚠️Important: Sales and Recommended data is based on imported data. Card Factory should consider importing historical data to populate the dashboard for prior periods.
Scheduled (Planned Hours) and Actual Hours will not be available for rosters prior to go-live — this data will build up over time. The same applies to % Optimisation and the Variance column.
Scheduled and Actual Hours — calculation rules
Recommended Hours
Recommended Hours represents the store's Labour Budget. It is calculated as the Store's Labour Hours Budget (as imported) plus the total of all Task hours budgeted for the store.
Scheduled Hours
Scheduled Hours represent the total planned (rostered) hours for a store (formerly referred to as Core Hours). Task assignments (Non-Core activity) do not impact the Scheduled Hours total.
Absences impact the Scheduled Hours total. Where an absence is recorded against an employee — whether a full day or part day — those hours are excluded from the Scheduled Hours total.
📌Note: In PXD, absences must be excluded from costing. For example, Annual Leave should be excluded from the costing calculation.
The table below shows how Scheduled Hours are calculated across common scenarios:
# | Scenario | Task Assignment | Scheduled Hours | Absence Hours |
1 | EMP1 rostered 09:00–13:00. No task assigned. | None | 4.0 hrs | — |
2 | EMP2 rostered 09:00–13:00. Task assigned 10:00–11:00. | Task 10:00–11:00 | 4.0 hrs | — |
3 | EMP3 rostered 09:00–17:00 with a 1-hour unpaid break 12:00–13:00. | None | 7.0 hrs | — |
4 | EMP4 rostered 09:00–17:00 with a 1-hour unpaid break. Full-day absence recorded (e.g. Annual Leave or Sickness). | None | — | 7.0 hrs |
5 | EMP5 rostered 09:00–17:00 with a 1-hour unpaid break. Part-day absence for half the day. | None | 3.5 hrs | 3.5 hrs |
6 | EMP6 unrostered booking for 4 hours. | None | — | 4.0 hrs |
Total Scheduled Hours | 18.5 hrs |
|
|
|
Actual Hours
The same rules apply to Actual Hours as to Scheduled Hours. Where a full-day or part-day absence is recorded against an employee, those hours are excluded from the Actual Hours total. The confirmed total Actual Hours for the examples above is 18.5 hours.
