Dayforce's report builder is one of the most capable features in the platform and one of the least used correctly by mid-market teams. Most companies that have been on Dayforce for more than a year are running the same default reports they launched with, not because those reports are what they need but because the Dayforce custom report builder has a learning curve that nobody makes time to climb. This guide covers the fundamentals that unlock real utility from Dayforce reporting: the data object model, parameter filters, calculated fields, and delivery scheduling.
This is focused on the operational reporting that mid-market HR teams actually need — headcount tracking, overtime analysis, turnover reporting, and compliance summaries. It's not a guide to Dayforce Analytics or the OLAP data warehouse layer, which requires a separate discussion and typically a separate licensing conversation.
Understanding the Dayforce report data object model
The first thing that confuses users coming from other HRIS platforms is that Dayforce reports don't work off tables the way a SQL database does. Instead, Dayforce exposes a data object model — a hierarchy of objects (Employee, Employment, Position, Schedule, Pay, etc.) that each contain fields you can add to a report. Understanding this model is what separates HR analysts who can build useful reports from those who spend 40 minutes in the report builder and give up.
The top-level object for most HR reports is Employee. Underneath it, you have Employment (current employment details), Position (the organizational slot the employee is in), Compensation (pay rates and history), and Time & Attendance objects (schedule, clock data, accruals). The relationship between these objects determines what you can pull in a single report and what requires separate reports that you join outside of Dayforce.
The most important thing to know: each report in Dayforce works off a primary data object you choose when you create the report. Once set, you can only join data from objects that have a defined relationship to your primary object. If you pick Employee as your primary object, you can pull Employment and Position data but you cannot pull Payroll Balances — that's a different object hierarchy. This is why the data object selection at report creation is not a trivial choice.
Parameter filters that make reports actually useful
Setting up runtime parameters
A common mistake in Dayforce report building is hardcoding filters — setting the report to always pull a specific date range or a specific department. The better pattern is runtime parameters, which let the report user define the filter criteria when they run the report rather than requiring an administrator to edit the report definition each time.
In the report builder (Dayforce HCM → Reports → Report Builder), after selecting your data objects and fields, go to the Filters tab. Add your filter condition, then check Is Parameter. This flags the filter as a runtime prompt. When the report runs, the user is prompted to enter the date range, department, or other criteria before the report generates.
Need hands-on help with Dayforce?
Talk to our team →The most useful runtime parameters for mid-market HR teams:
-
Effective date range — for any report showing historical data or point-in-time snapshots
-
Legal entity / location — for companies with multiple sites or subsidiaries that need location-scoped reports
-
Employment type — full-time vs. part-time vs. variable-hour filtering is useful for headcount and ACA reports
-
Pay group — for payroll-adjacent reports where you need to scope to a specific payroll cycle
Using effective-dating correctly
Dayforce is an effective-dated system — most HR data records have start and end dates, not just a current value. This means that pulling an employee's department or pay rate "as of today" requires a different filter than pulling it "as of December 31." Getting effective-dating right in your reports is the difference between a report that accurately reflects a point in time and one that silently pulls current data and labels it historical.
When building reports that should reflect a specific date, use the Effective Date filter on the Employment or Position object — not just a date filter on the report level. The Effective Date filter tells Dayforce to return the record that was active as of that date, rather than the most recent record regardless of when it became effective.
Calculated fields for metrics you can't pull directly
Struggling with Dayforce Consulting?
Harmon & Co specializes in Dayforce consulting for mid-market companies. We fix it the first time — no endless ticket queue, no generic advice.






