Skip to main content
New Participant
Nov 12, 2026 4:35 PM UTC
Question

Pay Run Data Export: How to report earnings by work date when a pay period spans two months?

Hi everyone,

 

I am building a monthly export using the Pay Run Data Export (export definition XML with Pay Run and HR Export tokens, plus an XSLT to format the output file). The export runs per pay run.

 

Requirement:

The output file must report earnings, hours and deductions by calendar month based on the work date, not the full pay period. When a pay period spans two months, only the portion with work dates in the reporting month should be included, and the other portion is reported in the other month's file.

For example:

* Pay frequency: Bi-weekly

* Pay period: Sunday 01/25/2026 to Saturday 02/07/2026

* Pay date: 02/13/2026

* Employee works 8 hours per day, Monday to Friday, at $25/hour

* Regular earnings in this pay run: 80 hours, $2,000.00

* Retirement deduction (5%): $100.00

What the export currently returns (payrun_earning_current_REG / payrun_earninghours_current_REG): 80 hours, $2,000.00 for the whole pay period.

 

What I need:

* January file: work dates 01/26 to 01/30 = 40 hours, $1,000.00, deduction $50.00

* February file: work dates 02/02 to 02/06 = 40 hours, $1,000.00, deduction $50.00

 

What I have tried

1. payrun_earning_current_{code} and payrun_earninghours_current_{code}: return the full pay period totals.

2. payrollearning_xrefcode, payrollearning_weekstart, payrollearning_weekend and payrollearning_weeknumber: rows are returned per earning code, but the week start, week end and week number values are blank.

3. I am aware of the mtd scope and the {Accumulation Period XrefCode} scope for earning group and deduction tokens, but I am not sure whether they are based on work date or pay date.

 

Questions:

1. Is there any token or setting in the Pay Run Data Export (or HR Export tokens supported in it) that returns earnings, hours or deductions by work date or by date range within a pay period?

2. Under what conditions do the payrollearning_weekstart / weekend / weeknumber tokens return values? Can they be used to split earnings by week?

3. Can a custom accumulation period (with earning group and deduction tokens) be configured to accumulate by work date for a calendar month? If yes, how should it be set up?

4. Does the mtd scope use the pay date, pay period end date or work date?

5. If this is not possible in the Pay Run Data Export, what approach would you recommend (another export type, a report, or a payroll configuration option)?

 

Request you to please guide me regarding the same. Any suggestions would be appreciated.

3 replies

Participating Frequently
Nov 12, 2026 6:09 PM UTC

Based on your requirements, there are a few limitations with the Pay Run Data Export framework. First, this interface exports data at the pay run level (PRPayRunID). In addition, your requirement appears to involve allocating pay run transactions across month boundaries, which is not something that can be supported directly by any existing interface or standard report as far as I am aware.

To illustrate, in your example the $100 deduction represents a single payroll deduction transaction associated with the pay run. That deduction is not linked to a specific week or month; it is simply tied to the pay date of 2/13 and the corresponding pay run. As a result, the transaction cannot be automatically split between months based on the underlying earning period.

Given this requirement, you may want to explore the Payroll GL Export framework instead. Unlike the Pay Run Data Export, the Payroll GL Export exposes a Business Date token for earning transactions. This could enable your downstream system to derive month-based allocations and apply the same logic to related deduction transactions when earnings span a month-end boundary.

AbhinavAuthor
New Participant
Nov 13, 2026 7:43 AM UTC

Thank you again for suggesting the Payroll GL Export. I tested it and wanted to share the results, as they may help others with a similar requirement.

 For example of what I tested:
- Bi-weekly pay period: Friday 01/30 to Thursday 02/12, pay date 02/20
- Requirement: report only 02/01 to 02/12 in the February file and 01/30 to 01/31 in the January file

Results (tested on two pay runs)
1. earning_business_date returned the pay date (02/20) on every earning line, not the individual work dates in the pay period.
2. payrun_week_start_date and payrun_week_end_date returned the full pay period, and payrun_week_assignment was blank.
3. HR Export tokens (for example emp_socialsecuritynumber, emp_address1, emp_birthdate) were not resolved in the GL Export. The output contained the token name as text. Only emp_number, emp_firstname and emp_lastname returned values.
4. Earning amounts and hours matched the pay statement, with one line per earning code for the full pay period.

Follow-up questions
1. Does earning_business_date return the actual work date only when earnings come from daily timesheets (Time and Attendance), and the pay date for salaried or pay summary earnings?
2. Is there a supported way to bring SSN or other HR details into the Payroll GL Export, for example through employee properties?
3. Has anyone handled a split-month requirement in another way, such as prorating the pay period by working days in each month or a payroll configuration option?

Participating Frequently
Nov 13, 2026 2:34 PM UTC
  1. Yes, business date is driven from timesheet transactions. I am suspecting the earnings in your tests were put in quick entry? if so populate the business date field for the quick entry transactions.
  2. No unfortunately, only tokens available in Payroll GL export are the ones exposed in this framework.
  3. I will let other developers comment on similar requirements to yours.