Service Bureau Employee Import Utility - All Options for TimeWorks & TimeWorksPlus

This article covers how you can import employee data from your payroll software using the Service Bureau Employee Utility. This feature allows for populating Employee Setup with the manual or bulk import methods.

This utility can be used with some  systems.


You first need to set up the client for Mangrove before you can use the Service Bureau Employee Import Utility.

To do that you need to go to the Accountant menu then
  • TimeWorks - Under Miscellaneous Settings select Payroll Software. On the drop down list select Mangrove and scroll to the button of the page and click the save button.
  • TimeWorksPlus - Accountant Menu > Client Configuration >Account Configuration tab, locate Payroll Software and select Mangrove. 
  • TimeWorks - Under Settings for the Currently Selected Client, select the Service Bureau Employee Utility link. 
  • TimeWorksPlus - Under Settings Menu, select the Service Bureau Employee Utility link. 
Use this utility to add and update employee records with the data that is stored in your payroll software.

PLEASE NOTE: You will need to get the information needed for these fields from Mangrove


IMPORTANT This item is obsolete. Evolution now has a full service integration with our system that does not use this functionality. For further questions on this integration, contact Evolution.

We first need to set up the client for Evolution before you can use the Service Bureau Employee Import Utility.

To do that you need to go to the Accountant menu then
  • TimeWorks - Under Miscellaneous Settings select Payroll Software. On the drop down list select Evolution and scroll to the button of the page and click the save button.
  • TimeWorksPlus - Accountant Menu > Client Configuration > Account Configuration tab, locate Payroll Software and select Evolution.
  • TimeWorks - Under Settings for the Currently Selected Client, select the Service Bureau Employee Utility link. 
  • TimeWorksPlus - Under Settings Menu, select the Service Bureau Employee Utility link. 

It will require you to import a file at the "Source File:" field. Click on Browse to find the file you would like to import. If you do not have a file already created follow the below instructions to do so:

The easiest way to create the file would be by using notepad. The file that needs to be imported needs to be tab separated with a header with the columns needing to be in the following order:

First Name
Last Name
Middle Initial 
Home 1 
Home 2 
Home 3

The file can be saved as a text file (.txt) like if you were to use notepad.

It should look like the below example:

First Name<TAB>Last Name<TAB>Middle Initial<TAB>Title<TAB>SSN......
John<TAB>Smith<TAB>H<TAB>Lab Technician I<TAB>012345678..... 

Any instances in the example of <TAB> you should enter in it's place an actual tab.

REMEMBER! it must be tab separated.

If you have any issues, please submit a support ticket.


The setup can easily be done by doing the below steps:
  1. Login to TimeWorksPlus, PLEASE NOTE this does not mean your client needs to be a TimeWorksPlus client, they can be a TimeWorks users. It is just that the integration needs to be configured in TWP.
  2. Once there use the "Client List" link to select your client.
  3. Next go to Accountant Menu > Client Configuration > Account Configuration tab
  4. Then go to "Payroll Software" in the drop down select "PayEntry
  5. Next select the "Settings Menu" in the side bar and select the "Service Bureau Employee Import Utility"
  6. Then enter in the "Application ID" (usually a 3 digit code) and Client Code given to you by PayEntry in the fields provided.
  7. You will also want to set the "Active Status" to "Inactive" then press "Save" initially before you are ready to start syncing Data.
  8. Next use the "Test" button to ensure you entered in the correct information. Note this can take a few seconds to come back with a response so please ensure after clicking "Test" you at least wait 30 minutes to receive a response.
If you get any messages besides the below you need to verify the information you were provided with PayEntry:
Status: Success
Test connection complete.

Employee Script
By default the integration pulls in the Employee (first, middle and last) Name and the employee code (Employee ID), but you will need to use the Processing Rule EmployeeScript to pull in other information from PayEntry.

To enable this:
  1. Go to "Processing Rules" in the side bar under "Settings Menu" and click the "Search" button.
  2. In the list that comes up select "EmployeeScript". 
Here you will enter in the default scripts in the first box ("Script for Importing Undated Information"). The following pulls in the Hire Date, AND Termination Date for all employees you have set in PayEntry.

RehireDate = getpath("./EmployeeStatusInformation/RehireDate");
TermDate = getpath("./EmployeeStatusInformation/TermDate");
NullDate = "1899-12-30T00:00:00";

employee.startdate = getpath("./EmployeeStatusInformation/HireDate");

if(TermDate != NullDate){
   if ((RehireDate != NullDate) AND (RehireDate >= TermDate))
        {employee.enddate = "";}
   else {employee.enddate = TermDate;}}
else {employee.enddate = "";}

It also includes logic that if the employee has a Rehire date that is greater than the Termination date to remove the Termination date (in SwipeClock ONLY) and change the initial Hire date to the Rehire date. This needs to be done as SwipeClock does not include options natively for handling Rehires.

Additional Employee Scripts

Below are the most common optional scripts broken down by the two different text boxes found under this processing rule (Script for Importing Undated Information AND Script for Importing Dated Information):

Scripts for Importing Undated Information (getpath):

-Do not import Salary Employee- Do not import employees with No PayRates Salary (ONLY WORKS WITH INITIAL IMPORT OF AN EMPLOYEE. IT CANNOT REMOVE EMPLOYEES ALREADY IN THE SYSTEM):

if (getpath("./EmployeeRateInformation/EmployeeRate[1]/Salary") > 0)
$Salary = getpath("./EmployeeAutoPayInformation/BaseAutoPay/SalaryPerPayPeriod");
$Salary2 = getpath("./EmployeeAutoPayInformation/BaseAutoPay/AutoPay");
if ($Salary != "0" OR $Salary2 = "Salary")
   {discard ();}

--Import "Salary" employees- Flags them by entering in an "S" in Home 1 of Employee Setup

if (getpath("./EmployeeRateInformation/EmployeeRate[1]/Salary") > 0)
    {state.home1 = "S";}
else {state.home1 = "";}


if (TermDate > RehireDate) {discard ();}
$status = getpath ("./EmployeeStatusInformation/Status");
if ($status = "Terminated") {discard ();}

--Add Card Number using employees first initial of their first name plus the employees full last name:

addcardnumber (left(employee.firstname,1) + (employee.lastname));

--Add Web Password using the employees first initial of their first name plus the employees first initial of their last name plus the last six of the employee SSN:

$SSN = getpath("./EmployeeBasicInformation/SSN");
if($SSN contains "-"){$SSN = left($SSN,3) + mid($SSN,5,2) + right($SSN,4);} 

employee.webpassword = (left(employee.firstname,1)) + (left(employee.lastname,1))+ right($SSN,6);


--Commonly used Employee Fields
  • Employees Title: state.title = getpath("./EmployeePositionInformation/Title");
  • Employee SSN: employee.ssn = getpath("./EmployeeBasicInformation/SSN");
  • Employee Emails: = getpath("./EmployeeBasicInformation/EmailAddress");
  • Work Phone: = getpath("./EmployeeBasicInformation/WorkPhone");
  • Home Phone: = getpath("./EmployeeBasicInformation/HomePhone");

Other PayEntry Data

The below allows you to access the date in PayEntry BUT you will still need to designate what field to enter the data:
  • Birthday (This field will need to be enables using the "Birthday" Processing Rule: $birth = getpath("./EmployeeBasicInformation/BirthDate");
  • employee.birthday = (((mid ($birth,6,2) + "-") + mid ($birth,9,2)) + "-") + left ($birth,4);
  • Clock Number: Getpath("./EmployeeBasicInformation/Clock");
  • Street Address: GetPath("EmployeeBasicInformation/Address/Address1");
  • City: GetPath("./EmployeeBasicInformation/Address/City");
  • State: GetPath("./EmployeeBasicInformation/Address/State");
  • Zip Code: GetPath("./EmployeeBasicInformation/Address/Zip");

Script for Importing Dated Information (getstatepath):
  • Department: state.department = getstatepath("./Variables/Item[@name='Department']");
  • Location: state.location = getstatepath("./Variables/Item[@name='Location']");
  • Supervisor: state.supervisor = getstatepath("./Variables/Item[@name='Supervisor']");
  • Employees PayRate: state.payrate0 = getstatepath("./Variables/Item[@name='PayRate0']");
  • Employee Type: state.employeetype = getpath("./EmployeeStatusInformation/Type");
Please note with the "Employee Type" script the integration can only pull in certain values. This would include:
  1. RegularFullTime
  2. RegularPartTime
  3. Unknown (It will show as Unknown for any Employee Types that are not either RegularFullTime or RegularPartTime.)

Another option would be to pull the rate from EmployeeRateInformation:
  • Hourly Employees: state.payrate0 = getpath("./EmployeeRateInformation/EmployeeRate[1]/Rate");
  • Salaried Employees: state.payrate0 = getpath("./EmployeeRateInformation/EmployeeRate[1]/Salary");

Activation of the Integration

Once everything is in place go back to Settings > Service Bureau Employee Import Utility > Active Status to "Active" and press the "Save" button.

SwipeClock Setup

Initially the integration was setup by SwipeClock free of charge. But as the process has gotten easier we are allowing Accountants to do these set ups themselves using this article. 

Effective 8/22/2013 we can also set these up upon request but there will now be a fee for Support to do these. The initial fee would be $35 for a basic setup but this amount could increase depending on the complexity that is required.

If all you require is a script for this, the normal $5 a line for scripting would apply.

If you require Support to do the integration please put in a support ticket including the attached form filled out with your requirements for the PayEntry integration.

If you have any further questions on PayEntry Integration Please feel free to contact Support. Attached is a document you can fill out for configuring the integration.



Payentry___SwipeClock_Single_Point_of_Entry_Flyer.pdf Payentry___SwipeClock_Single_Point_of_Entry_Flyer.pdf

Did you find this article helpful?