With SyncLinx and AccountLinx, you can quickly import information such as employees, locations, and cost codes from Acumatica into your ExakTime Connect system (via SyncLinx) and export your employee's time data from ExakTime Connect into Acumatica (via AccountLinx). This article will focus on the configuration and use of SyncLinx with Acumatica so you can import your entities for use in ExakTime. If you would like information on using AccountLinx with Acumatica, you can refer to the following dedicated article.
Table of Contents
Please Note
This article assumes that you are familiar with Acumatica, Acumatica has been set up and AccountLinx/SyncLinx has been installed and successfully connected to your ExakTime Connect database. If you need assistance with the installation and initial setup of AccountLinx/SyncLinx, you can refer to the following article.
If you have any questions or concerns during setup and/or use with Acumatica, you can contact us with the "Request Support" link at the top of the page and we will try to assist as best as possible. Keep in mind, however, that we are not Acumatica support and may lack the knowledge that Acumatica can offer. We will try to assist you as much as we are able, but there are aspects of Acumatica that are out of our area of expertise and your questions may be better served by Acumatica support or your trusted contact to assist.
As each company can set up its company file in unique ways, we have provided generic steps below to try to cover the basics and may not be able to address all scenarios. It is advised to read through all the steps for each section before proceeding to provide context.
Requirements
For SyncLinx/AccountLinx to connect to Acumatica, we require a set of Acumatica credentials to establish a connection.
- Go to 'Connected Applications' in Acumatica (Navigate to More Items > Integration > Show All > Connected Applications).
- Click the + button towards the top-left.
- Enter the Client Name and select "Resource Owner Password Credentials" from the Flow dropdown to help create the API connection.
- Click Add Shared Secret from the Secrets tab. It is recommended to copy the secret from the "Value" field into the description field for future reference as the secret cannot be generated/seen again. Click OK.
- Click Save to generate the Client ID key.
- Note the Client ID and Secret for use to connect SyncLinx/AccountLinx with Acumatica.
A Non-Project Code is used when an ExakTime Location does not need a project associated with it and Acumatica allows you to choose the code that should be used.
- Click Construction.
- Go to the 'Preferences' section and look under the 'General Settings' of 'Project Preferences'.
- 'Non-Project Code' is typically set to X.
Connecting SyncLinx with Acumatica
- Go to Tools at the top and click Select Data Source.... This should open a window with a list of available data source options.
- Select "Acumatica" and click OK.
- A warning may appear saying that there is a connection error, this is expected if the SyncLinx connection to Acumatica has not been done on the computer. Click OK on the warning.
- A window should open to set up the settings for Acumatica. Click Connection.
- A Connection Setup window should open. Enter the connection information for SyncLinx/AccountLinx.
- Client Name - Acumatica client name that has the Client ID and the Client secret associated with it.
- Username & Password - Credentials that are used for logging on Acumatica.
- Acumatica URL - The URL that contains the instance name, for example, "http://localhost:9001/Acumatica2022"
- Client ID - Generated by Acumatica on the Connected Applications screen
- Client Secret - Generated by the user on Acumatica at the Add Shared Secret section
- Click Test Connection and make sure a connection is established.
- If successful, click Save.
Please Note: If the Client ID is changed, the client name needs to be updated, this validation makes sure that the user does not forget to change the Client Name when the Client ID is changed.
SyncLinx Import Settings for Acumatica
- Go to Tools and click Acumatica Settings.
- There will be two sets of tabs for the 'Settings' window:
Connection Tab
The 'Connection' tab will allow you to set up or reset the connection with Acumatica.- Resetting the connection will reset the connection for both SyncLinx and AccountLinx.
Location Import TabThe 'Location Import' tab allows you to specify how locations should be generated, labeled in ExakTime, and if cost codes should be viewsetted for the imported locations.-
Generate Location
- Project - ExakTime Location ID will be based on the Acumatica Project Code. The ExakTime Location Name/Description will be based on the Acumatica Project Description.
-
Project + Project Task - ExakTime Location ID will be based on the Acumatica "Project Code:Project Task Code". The ExakTime Location Name/Description will be based on the Acumatica "Project Description:Project Task Description".
- Generate Category for Project - Will create a category with the Acumatica Project name, and assign the category to the imported location.
- Generate Mobile Groups for Project - Will create a group with the Acumatica Project name and add the imported location to the group.
- Import Cost Codes per Location - If enabled, will viewset the cost codes for the location to limit what cost codes can be used in conjunction with a location.
Cost Code Import TabThe 'Cost Code Import' tab allows you to specify how cost codes should be generated and labeled in ExakTime.-
Generate Cost Codes
- Project Task - ExakTime Cost Code ID is based on the Acumatica Project Task ID. The ExakTime Cost Code Name is based on the Acumatica Project Task Description.
- Project Task + Budget Item - ExakTime Cost Code ID is based on the Acumatica Project Task ID. The ExakTime Cost Code Name is based on the Acumatica Budget Item Account Group ID: Budget Item Description.
- Non Stock Items - ExakTime Cost Code ID is based on the Acumatica Non Stock Item Type ID. The ExakTime Cost Code Name is based on the Acumatica Non Stock Item Description.
-
Filter Project Tasks by Task Type - You can use this to filter which Task Type you want to see listed in SyncLinx. This menu will only appear when generating cost codes from 'Project Task' or 'Project Task + Budget Item'.
-
Filter Budget Items by Account Group - You can use this to filter Account Groups. If no option is selected, all Account Groups will be displayed. This menu will only appear when generating cost codes from 'Project Task + Budget Item'.
-
Filter Non Stock Items by Type - Used to filter the cost code lookup screen to the chosen Non Stock Items Types. This menu will only appear when generating cost codes from 'Non Stock Items'.
Employee Import TabThe 'Employee Import' tab allows you to filter the employees by position.
API TabThe 'API tab' allows you to specify the batch size and API version. These are typically not adjusted unless necessary. - Save any changes made.
Using SyncLinx to Import Entities
The import process for SyncLinx is standardized for all accounting/payroll applications we integrate with. If you are unfamiliar with using SyncLinx, you can refer to the following article.
When importing entities, refer to the list below as to what we will import from Acumatica and their ExakTime equivalents.
-
Employees - Active Acumatica Employees can be imported as ExakTime Employees.
-
Locations - Active Acumatica Projects can be imported as ExakTime Locations.
-
Cost Codes - Active Acumatica Project Tasks can be imported as ExakTime Cost Codes.
Troubleshooting Acumatica Integration
Connection Timeouts
Sometimes the Acumatica API will present a timeout error. We will automatically retry to connect with the standard retry being 5 times with 1-second intervals. If this timeout error continues happening, you will need to try again later as the timeouts are outside of our control.
Server Internal Error
This message suggests there is a problem with the OData4 connection. This may be addressed in Acumatica by using the 'Restart Application' button on the Apply Update screen.
Be aware that during this operation, all running processes will be stopped and all unsaved data will be discarded. Because of this, it may be better to wait until after work hours to perform this action.
Activating Cost Codes
If Cost Codes are not activated as a default feature on Acumatica, you will receive the following message when trying to receive any cost code data:
You have insufficient rights to access the CostCode (PM209500) form.
You can activate cost codes by:
- Go to More Items, go to System Management, go to Licensing, and go to Enabled/Disable Features in Acumatica.
- Click the MODIFY button, mark the Cost Codes checkbox, and then click the ENABLE button to save your changes.
- After activating cost codes, it will be possible to display cost codes on AccountLinx.
Activating Union and Worker's Class Compensation Code
If Union and WCC Codes are not activated as a default feature on Acumatica, you will receive the following message when trying to receive any cost code data:
You have insufficient rights to access the UnionLocal (PM209700) form.
You have insufficient rights to access the WorkClassCompensationCode (PM209800) form.
Activating both features are done through the "Construction" feature.
You can activate "Construction" by:
- Go to More Items, go to System Management, go to Licensing, and go to Enabled/Disable Features in Acumatica.
- Click the MODIFY button, mark the Construction checkbox, and then click the ENABLE button to save your changes.
- After activating cost codes, it will be possible to display Unions and WCC Codes on AccountLinx.
Data Mapping Tables for Importing Acumatica into ExakTime
Employee
ExakTime | Acumatica |
---|---|
ID | Employee ID |
First Name | FirstName |
Middle Name | MiddleName |
Last Name | LastName |
Address1 | Adress.AddressLine1 |
Address2 | Address.AddressLine2 |
City | Address.City |
State | Address.State |
Zip | Address.PostalCode |
Employee Comment | Description |
Hire Date | HireDate |
Locations
ExakTime | Acumatica |
---|---|
Location ID | Project ID or None Project Code |
Address1 | adress.AddressLine1 |
City | address.City |
State | address.State |
Zip | address.PostalCode |
Latitude | address.latitude |
Longitude | address.longitude |
Date | start.date |
Cost Codes
Combo Box selection of Project Tasks
ExakTime | Acumatica |
---|---|
Cost Code ID | Project Task ID |
Cost Code Name | Project Task Name |
Combo Box selection of Project Task + Budgeted Cost Code with Cost Code Name
ExakTime | Acumatica |
---|---|
Cost Code ID | Project Task ID:Cost Code ID |
Cost Code Name | Cost Code Name |
Combo Box selection of Project Task + Budgeted Cost Code with Cost Budget Description
ExakTime | Acumatica |
---|---|
Cost Code ID | Project Task ID:Cost Code ID |
Cost Code ID Description | Budget Cost Description |