Millennium M3 - TimeWorksPlus Integration - Installation and Setup

TimeWorksPlus and Millennium M3 integrate via an interface program that's installed on your process server that hosts M3.

The integration provides the following functionality:
  • employee sync
  • accrual sync
  • time import file
 
IMPORTANT (May 11, 2018)- This software was previously available through Baker Tech Consulting but will soon be available directly through SwipeClock. Contact your Channel Development Manager for information on its availability. 
 
This article serves as an implementation guide for both the initial, bureau level setup as well as the company level setup. A copy of the guide is also attached to the bottom of this page.

What About PayEntry?

‚ÄčIf instead you are looking for information on integrating with PayEntry, please see the following article which explains enabling TimeWorksPlus to pull employee data from PayEntry.

Installation

The M3 To SwipeClock Interface program is the name of the program that facilitates this integration. It needs to be installed on any Windows machine that has Millennium 3 installed; normally this is the process server.

This is a one-time installation at the bureau level and allows the program to run various scheduled tasks that update data between the systems.

If you have already setup the M3 to SwipeClock Interface and are looking for instructions on enabling the integration for your client, see the section titled Configuring the Company in Millennium.

Acquiring Software and Key

At this time, the M3 to SwipeClock Interface software is not yet available through SwipeClock. When a method for distributing the software and license keys is developed, we'll update this article.

Installation Requirements

Before proceeding with installation, you should be prepared with the following:
  • Microsoft .NET Framework 4.5.
  • Knowledge of creating scheduled tasks in Windows Task Scheduler.
  • Port 587 (SMTP) enabled on your perimeter firewall outbound from the machine running the scheduled tasks.
  • A SwipeClock Accountant Level Login and password. It is suggested to use credentials dedicated to the integration and not credentials associated with an actual user. The reason is that if the password is changed or the credentials are deleted, your integration will break. Contact your Channel Development Manager if you need an additional Accountant Level Login created.
  • A Site Code from one of your TimeWorksPlus accounts. It is suggested that you use your SwipeClock demo account.

    You can find your client's Site Code in your Client List
  • SwipeClock Accountant ID and API Secret. These are both found in the Accountant Menu under Accountant Level Secret Management.

    The Accountant Level Secret is found in the Accountant Menu of TWP
  • Millennium username and password for a user with CSR or higher privileges. Like the SwipeClock credentials, it is suggested that these be dedicated to the integration and not associated with an actual user.
  • Millennium Data Source Name (DSN).

Interface Setup and Installation

Once you have chosen the host machine, download the .ZIP file containing the interface program. Extract the and run M3toSwipeClockInterfaceSetup.exe.
 

Finding and running the setup executable file
After running the executable, you'll see the following screen:

When installing the interface, you will first see this screen
 
Enter your Company Name, Contact Phone and the License Key provided by SwipeClock and continue the interface setup.

The following instructions correspond to the remaining 3 sections on the interface setup page:

SwipeClock Config

Step 2 on the interface setup is to enter your SwipeClock information:
  1. Put your SwipeClock Accountant Login in the SwipeClock Service Bureau Login ID field followed by the associated password.
  2. The Site Code for SwipeClock Master Company should be the Site Code referenced in the Installation Requirements section.
  3. Enter your Accountant ID and API secret. See the Installation Requirements section for instructions on finding your Accountant API secret. Do not use the Client Level secret.
  4. Click Test Connection. If successful, proceed to the next step. If not successful, verify the information was entered correctly. If you continue to have problems, contact SwipeClock Tech Support.

Millennium Config

Step 3 requires information related to your Millennium instance.
  1. Enter the Data Source Name (DSN) for your production Millennium database as it appears in the Database dropdown of your Millennium 3 Login screen.

    You can find your Millennium Database
    name on the login page
  2. Enter the Millennium username and password you are using for the integration.
  3. Enter or browse to the folder from which time clock files are imported. This path does not need to include the filename, it's just the root, UNC path in Millennium.

    Example: \\ServerName\ShareName\M3\Timeclock\
     
  4. Click Test Connection. If successful, proceed to the next step. If not successful, verify the information was entered correctly. If you continue to have problems, you may want to contact Millennium or SwipeClock Tech Support.

Configure Program Installation Path

Lastly, enter, or browse to, the folder in which you would like the interface program (M3toSwipeClockInterfaceCMD.exe) to be installed. Make note of where you install it since it will be needed in the next section. If the folder you enter does not already exist, the setup program will try to create it when you click Install.
The page should look similar to this once you are complete:

Your setup page should look similar to this after completion
Click on the Install button to copy the files to the selected folder. No registry changes will be made.

You can now proceed to the next section where you will create the scheduled tasks for the integration.

Bureau Level Setup – Creating the Scheduled Tasks

After configuring and installing the interface program, you will next need to setup command line executables in the Windows Task Scheduler. This is a one-time setup that must be completed before you can enable the integration for your clients.

Windows Task Scheduler
There will be four tasks in total that facilitate the following:
  • Updating accruals*
  • Creating and updating EE info
  • Billing**
  • Updating the Command Line Program
*This task is optional if you are not syncing accrual data between the two systems. However, if you think you will have at least one client interested in passing accrual data between the two systems, it is recommended to configure it now.
**The billing task is required in order for the integration to operate, regardless of whether you are being billed for the integration or not.

A Note About Windows Task Scheduler

The following instructions detail the configuration of each of the integration tasks in Windows Task Scheduler. Complete documentation on Windows Task Scheduler is beyond the scope of this document. For information on how to use Windows Task Scheduler, please see Microsoft's documentation for your specific version of Windows Task Scheduler.

When Creating the Tasks

For each task, it is recommended that you select "Run whether user is logged on or not" and "Run with highest privileges". Both these items are checkboxes on the General tab of each task.

Please note the following in the next series of steps:
  1. Screenshots showing examples of how each tab should look are linked in the steps. Be aware that certain items in the images will differ based on your configuration.
  2. For each task, many of the steps are similar with only minor differences in certain fields. Those differences are highlighted in yellow.

Accruals Task

This task can run up to every 10 minutes, although you can choose to run it less frequently if you choose.
  1. Click Create Task
  2. On the General tab, set the name to "Update Accruals" or something similar.
  3. Choose Run whether user is logged on our not.
  4. Check Run with highest privileges.
  5. Select the Triggers tab.
  6. Click New and choose a start date for the task that runs daily and recurs every day.
  7. In the Advanced Settings section, repeat the task no less than every 10 minutes.
  8. Check Stop task if it runs longer than and set it to 30 minutes.
  9. Make sure the trigger is Enabled and click OK.
  10. Select the Actions tab and set the Action to Start a Program.
  11. Browse to the Command Line program (m3toSwipeClockInterfaceCMD.exe) located in the folder you created in the Configure Program Installation Path step.
  12. Enter A in the Add Arguments field.
  13. Click OK on the Edit Action window as well as the Actions tab to complete the task.

Create and Update Employees Task

This task can run as often as every 30 minutes, but should be set "out of phase" with your Payentry employee sync to avoid conflicts. For example, if your Payentry sync runs every 30 minutes starting on the hour, you should set this task to run every 30 minutes 15 minutes after the hour.
This task is setup similarly to the Accruals task with any variations highlighted in yellow.
  1. Click Create Task
  2. On the General tab, set the name to "Update Employees" or something similar.
  3. Choose Run whether user is logged on our not.
  4. Check Run with highest privileges.
  5. Select the Triggers tab.
  6. Click New and choose a start date for the task that runs daily and recurs every day.
  7. In the Advanced Settings section, repeat the task no less than every 30 minutes.
  8. Check Stop task if it runs longer than and set it to 30 minutes.
  9. Make sure the trigger is Enabled and click OK.
  10. Select the Actions tab and set the Action to Start a Program.
  11. Browse to the Command Line program (m3toSwipeClockInterfaceCMD.exe) located in the folder you created in the Configure Program Installation Path step.
  12. Enter E in the Add Arguments field.
  13. Click OK on the Edit Action window as well as the Actions tab to complete the task.

Update Billing Task

This task is required, regardless of whether you are being billed for the integration or not. It only needs to run once a month.
This task is setup like the Accruals task, but any variations are highlighted in yellow.
  1. Click Create Task
  2. On the General tab, set the name to "Update Billing" or something similar.
  3. Choose Run whether user is logged on our not.
  4. Check Run with highest privileges.
  5. Select the Triggers tab.
  6. Click New and choose a start date for the task that runs monthly and recurs each month on the 8th day.
  7. The task does not need to be set to repeat.
  8. In the Advanced Settings, Check Stop task if it runs longer than and set it to 30 minutes.
  9. Make sure the trigger is Enabled and click OK.
  10. Select the Actions tab and set the Action to Start a Program.
  11. Browse to the Command Line program (m3toSwipeClockInterfaceCMD.exe) located in the folder you created in the Configure Program Installation Path step.
  12. Enter B in the Add Arguments field.
  13. Click OK on the Edit Action window as well as the Actions tab to complete the task.

Update Command Line Programs Task

This task runs nightly and is used to check for any updates to the interface program itself.
  1. Click Create Task
  2. On the General tab, set the name to "Update Command Line" or something similar.
  3. Choose Run whether user is logged on our not.
  4. Check Run with highest privileges.
  5. Select the Triggers tab.
  6. Click New and choose a start date and time for the task (usually at 2:00am) that runs daily and recurs every day.
  7. You do not need to repeat this task in the Advanced Settings section.
  8. Check Stop task if it runs longer than and set it to 30 minutes.
  9. Make sure the trigger is Enabled and click OK.
  10. Select the Actions tab and set the Action to Start a Program.
  11. Browse to the Command Line program (m3toSwipeClockInterfaceCMDUpdater.exe) located in the folder you created in the Configure Program Installation Path step.
  12. Enter nothing in the Add Arguments field.
  13. Click OK on the Edit Action window as well as the Actions tab to complete the task.

You have now completed the scheduled tasks necessary for the integration and you can proceed to setting up your client with the integration.

Configuring the Company in Millennium

With the integration software installed and the bureau level integration configured, you can now integrate individual companies by using the Company Notes in Millennium.

In Millennium, the Company Notes are found in the Master Company Setup under the Notes tab. These will be General Notes.

The General Notes in the Master Company Setup of Millennium

Two-Way Sync

This integration does allow for designating the direction of employee and accrual data sync per company. A system of record needs to be designated for each.

Site Note

The first note will be the Site Note, which is used to match a company in TimeWorksPlus to the correct company in M3. To do this, you will need to access your Client List in SwipeClock to find the companies site code.
To add the Site Note in Millennium:
  1. Add a new note.
  2. Enter "TWP" for the Category.
  3. Enter "Site" for the Code.
  4. Check Date and Entry Date can remain blank.
  5. Enter the companies SwipeClock site code in the Description field.

The Site Note matches the company in M3 to the right company in TWP

Employee Information Note

This note instructs Millennium that the interface will transfer data between TimeWorksPlus and M3. It also indicates the system of record:
  1. Add a new note.
  2. Enter "TWP" for the Category.
  3. Enter "EE" for the Code.
  4. Check Date and Entry Date can remain blank, however, Entry Date will be changed automatically by the interface each time employee data has successfully been transferred.
  5. The Description field is where you note the system of record, either "TWP" or "M3".

The EE note is necessary for integrating employee data

Accrual Note

This note is only necessary if you are transferring accrual data between the two systems.

IMPORTANT: If you are syncing accruals from TimeWorksPlus to M3, make sure you have a finalized pay period in TimeWorksPlus. The system does auto finalize any pay period older than 2 prior pay periods, but it is important to check this as enabling the Accrual Note without a finalized pay period will crash the interface.
  1. Add a new note.
  2. Enter "TWP" for the Category.
  3. Enter "Accrual" for the Code.
  4. Check Date and Entry Date can remain blank, however, Entry Date will be changed automatically by the interface each time accrual data has successfully been transferred.
  5. The Description field is where you note the system of record, either "TWP" or "M3".

While optional, you can use the Accrual Note to share accrual balances between the two systems
Keep in mind that Millennium tracks accrual balances by check date while TimeWorksPlus tracks by pay period. Please see the article Syncing Accruals Between Millennium and TimeWorksPlus for more details on how the two systems need to be configured.

Billing Note

The Billing Note can be used in conjunction with a billing product and SQL in M3 to facilitate more accurate billing. When the command line program is run, monthly employee counts are gathered and the Billing Note is updated with the number of employees for the previous month.
  1. Add a new note.
  2. Enter "TWP" for the Category.
  3. Enter "Billing" for the Code.
  4. Check Date and Entry Date can remain blank, however, Entry Date will be changed automatically by the interface each time billing data has been collected.
  5. The Description field is should be blank, but this is where the count of employees with billable activity will appear for the previous month. IMPORTANT: If you are using WorkforceHUB (formerly Workforce Management Suite), this number will not be indicative of your SwipeClock bill since that pricing plan uses a different method for calculating your bill.

The Billing Note is optional and will show the TWP activity count for the month

Billing Table and Billing Product

This piece is optional. With it, a billing table and product can be configured in M3 to utilize the Billing company note’s Description field value for monthly billing purposes. The Description field will be updated on the employee count. The billing product SQL should reference the correct code and category.
TimeWorksPlus Client Example:
SELECT CNotes.description As ItemCount FROM CNotes
WHERE CNotes.co = [paramComp] AND CNotes.category = 'TWP
AND CNotes.code = 'Billing'

Time Import Service

The "TimeImport" service in M3 needs to be configured so you can import your client's timekeeping file through Millennium.
  1. In M3, navigate to Company Maintenance ⇒ Master Company Setup ⇒ Services tab ⇒ TimeImport Service ⇒ Edit Properties
     

    Configuring the Time Import Service in Millennium
  2. Configure as follows:
    1. The Filename field must be set to the full path of your Timeclock folder with the company code and a CSV file extension.
    2. The description must also be set to "TimeWorksPlus Interface", for the import service to be recognized as an interface service. The interface will automatically download the file from SwipeClock and create it in this path with the company number and CSV file extension as the file name.
    3. The CC level selections are variable.

Mapping the client's import configuration

Configure the Payroll Groups

A special Payroll Group in M3 is used to determine which employee data is synchronized to SwipeClock. This is necessary when M3 is the system of record for employee data, which is most often the case.
  1. In M3, navigate to Company Maintenance >> Company Setup >> Payroll Groups tab and click the "add" button to create a new group.
     

    Payroll Groups are used to select the employees to pass to TWP
     
  2. Label the group "TWP".
  3. Enter an SQL query that produces the desired set of employees to be synced with TimeWorksPlus. At minimum, it is suggested that only active employees be configured.

    Example: Einfo.empStatus IN (SELECT status FROM CEmpStatus WHERE co=EInfor.com AND statusType='A')
     

    An example of a query that pulls all active employees into TWP
This completes most of the "company level" setup. The rest of the configuration is continued in the articles Using the Millennium – TimeWorksPlus Integration and Syncing Accruals Between Millennium and TimeWorksPlus.

 

Attachments

M3_To_SwipeClock_Interface_User_Guide.pdf M3_To_SwipeClock_Interface_User_Guide.pdf
2_Accruals_Trigger.png 2_Accruals_Trigger.png
3_Accruals_Actions.png 3_Accruals_Actions.png
1_Accruals_General.png 1_Accruals_General.png
3_EE_Action.png 3_EE_Action.png
2_EE_Trigger_Tab.png 2_EE_Trigger_Tab.png
1_EE_General_Tab.png 1_EE_General_Tab.png
3_Billing_Action_Tab.png 3_Billing_Action_Tab.png
1_Billing_General_Tab.png 1_Billing_General_Tab.png
2_Billing_Trigger_Tab.png 2_Billing_Trigger_Tab.png
3_Update_Action.png 3_Update_Action.png
1_Update_General_Tab.png 1_Update_General_Tab.png
2_Update_Trigger_Tab.png 2_Update_Trigger_Tab.png

Did you find this article helpful?