Payroll Regression Test Runs

Payroll Regression Test Runs are used to test End to End Payroll scenarios.  Smart Payroll utilises Smart HCM to confirm HCM BPs are flowing through to Payroll as expected.  Allowing you to test the "hire to retire/terminate" scenario for the current or future pay periods.  This allows users to know that the BPs are working correctly from a Payroll perspective.

Create Payroll Regression Test Run

Click on CREATE A TEST followed by Business Processes in order to build your test for execution. The process of uploading the Smart specific templates is similar whether it be a HCM, Financials, Security, or Integrations test.  

This guide will show a user how to build up a Payroll regression test run encompassing Business Process and Payroll testing.  Please see the Test Run Creation section for more information on creating a HCM Business Process test.

Payroll regression tests are based on worker scenarios.  For example, to test a compensation change, a Payroll regression test will be created with the following BPs:

  1. Create Job Requisition/Create Position
  2. Hire
  3. Request Compensation Change

The "Future Period Testing" template is then added as the last template, indicating to Smart that this is a Payroll test.

Note: When creating a Payroll test, all BPs must be sequenced

Future Period Testing vs Current Period Testing

Future Period Testing

Not only can Smart, test your Payroll configuration in the current period, Smart can also run the Payroll into the future, allowing testing of future effective dated changes, limits, scheduled pay components etc.  In the background, Smart creates a synthetic Pay Group and runs this for the number of periods specified in the template.

The screenshot above contains the necessary information required to create a synthetic Pay Group:

  • Pay Group Country
  • Pay Group Schedule
  • Run Category ID - this is the Run Category Reference ID not the Run Category Name
  • Start Period WID - this is the first period Smart will calculate
  • End Period WID - this is the last period Smart will calculate

After Smart creates the synthetic Pay Group, all synthetic workers in the test pack are assigned to this new Pay Group.  Once all of the HCM transactions are complete, Smart will then execute the Run Pay Calculation and Run Pay Complete tasks for all periods between the start period and end period inclusive.

NOTE: Dynamic Initiator is currently not supported in the Future Period Template

Current Period Testing

On certain occasions, it will be necessary to execute Payroll regression tests against real, existing Pay Groups (mainly when there are a number of Pay Components that explicitly reference a Pay Group, e.g. Pay Group Eligibility).  In this instance, we are generally unable to run the Payroll into the future due to real workers waiting on data from downstream systems e.g. timesheet.  In this scenario, a "Current Period Test" using Existing Pay Groups should be used.

The screenshot above details the fields required to be populated for a Current Period Test.

  • Pay Group WID - this is the existing Pay Group to be used in the Payroll Regression Test
  • Start Period WID - using the "current period" notation enables Smart to select the period that is the "Current Period In Progress" or "Next Period to Process"
  • End Period WID - as above
  • Employee ID - this is a repeatable section to include all synthetic hires to be assigned to the existing Pay Group.  See HCM chaining for more information.

Payroll Relative Dates

The effective date of the HCM transactions, e.g. Request One Time Payment are extremely important in Current Period Test packs.  As the current period will change between executions, we must ensure the HCM transactions are executing on the appropriate dates.  Smart has the ability to use Payroll specific relative dates ensuring templates do not need to be updated for each execution.

When creating a Payroll test, all HCM templates support the following notations.

Relative Date Description Template Example
Period start date First day of the current period in progress/next period to process
Period start date
Period end date Last day of the current period in progress/next period to process
Period end date
Period start date {+|-} [XX} {day(s)| week(s)| month(s)| year(s)
Plus or minus the number of day(s)/week(s)/month(s)/year(s) from the first day of the current period in progress/next period to process
Period start date + 5 days
Period end date {+|-} [XX} {day(s)| week(s)| month(s)| year(s)
Plus or minus the number of day(s)/week(s)/month(s)/year(s) from the last day of the current period in progress/next period to process
Period end date – 1 month

Add Pay Input

Smart supports the "Add Payroll Input by Worker" task, allowing Smart Regression testing to include specific Pay Component(s) that are wanted to be included in a test scenario(s).

The Add Pay Input template is different to other Smart templates as a tab is created per worker rather than  a column.


Add Pay Input Template tips:

  • The User Login field is not required in the Add Pay Input template as this is executed in Smart via web services
  • The Add Pay Input template uses chaining for the Employee ID
  • Both the Start Date and End Date are required fields on the template


Retro Payments

Smart Regression testing supports testing retrospective payments.  Retro payments can ONLY be tested in Future Period test packs.  Retros are currently not supported in Current Period test packs.

In order to test a retro payment, the HCM transaction to be used for the retro payment, e.g. Request One Time Payment must be sequenced to run AFTER the Future Period Template.  A Retro Template is then added to the sequence, followed by a final Future Period template:


The screenshot above is an example of a retro test.  After creating the job requisition and hiring a worker, the Future Period Testing template is sequenced, for the Payroll to run for a number of periods.  After this  a Request One Time Payment template is sequenced, this would be a back dated payment.  The retro template indicates to Smart to execute the Run Retro Pay Calculation and Run Retro Pay Complete tasks.  The final Future Period Testing template will calculate payroll on the final period(s) specified with the expectation that the retro payment will be picked in this period.

Retro Template

The retro template is simply an indication to Smart that the Run Retro Pay Calculation and Run Retro Pay Complete tasks are to be included in the test pack.  The Pay Group WID does not need to be populated.

Smart currently supports all Retro transaction types except Retro Hires.