Our Procore integration is achieved with SyncLinx and AccountLinx, two applications that work together with ExakTime to help streamline the payroll and job-costing process. SyncLinx pulls key data out of Procore, such as employees, projects, and cost codes for use in ExakTime. This data is used by ExakTime to help you and your employees to create their time records and time cards. AccountLinx exports your employee's time records into Procore to help complete your payroll, review job costing, and other items that rely on your employee's time cards.
Some benefits of using SyncLinx and AccountLinx with Procore are:
- Improved efficiency by eliminating the need to manually enter data into both Procore and ExakTime.
- Increased accuracy by limiting the opportunity for errors when entering data.
- Reduced chance of errors for employees tracking their time throughout their work day.
This article focuses on configuring and using SyncLinx to import your entities into ExakTime from Procore. If you would like information about AccountLinx to export time data into Procore, you can refer to the following article.
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.
Table of Contents
- Requirements
- Connecting SyncLinx to Procore
- SyncLinx Import Settings
- Importing Entities from Procore
- Troubleshooting Procore Integration
Requirements
Before we can begin using SyncLinx and AccountLinx with Procore, the following must be done to ensure successful integration between the two systems.
For ExakTime
SyncLinx and AccountLinx must be installed on a Windows-based PC and configured to connect to your ExakTime Connect account. If you need assistance with the installation and initial setup of AccountLinx/SyncLinx, you can refer to the following dedicated article.
For ProCore
AccountLinx and SyncLinx rely on a Procore user with Administrator access to integrate with Procore.
- Go to Company Tools under 'Core Tools', and go to Directory.
- Click Edit for the Procore user that needs to be set to an 'Admin'.
- Under the 'Company Permissions' section, mark all options to 'Admin' from the user profile.
- Scroll to 'Project Settings' and enable the two following permissions:
- Add X to all new projects in X.
- 'Allow X to create new projects (X will have full administrative access to any projects that they create)'
- Go to the 'Personal Information' section and click the check box for 'Is Employee of X Company' and enter an ID into the Employee ID field if needed.
- Save your changes for the user.
- Go to Company Tools under 'Workforce Management' and go to Timesheets.
- Click the orange gear icon towards the top-left next to 'Timesheets'.
- Go to Configurations.
- Enable 'Can company employees be tracked on all projects?' from the 'Shared Settings' section and click Update.
- Scroll down to the 'Timesheet Settings' section and set the 'Default Cost Type For Timecards' to 'Labor' and click Update.
- Save your changes.
To utilize the Procore Timecard, you must have 'Employees' in your company.
- Go to Company Tools, and go to Directory.
- Click + Add User or edit an existing user.
- Enable the 'Is Employee Of [Company Name]' option and enter an employee ID.
- Save your changes.
- Go to Company Tools.
- If the Procore Timecard has been enabled for the company, 'Timecard' should be listed under the 'Project Management' section.
- If you are unable to perform any settings changes or confirm that the 'Timecard' feature has been enabled, you will need to contact Procore Support for further assistance to ensure the 'Timecard' option is enabled.
For SyncLinx and AccountLinx to connect to Procore, you must allow users to install apps.
- Go to Company Tools and go to Admin.
- Go to App Management.
- Enable 'Allow User Installs' towards the top-right.
- Click Select an App in the top right corner of the Procore browser then click App Management.
- Click Install App then Install Custom App.
- Copy the App Version ID of b8c9d50e-64b1-4f79-a4d9-b786bd1fd85a and paste it into the prompted field in the browser.
- Click on Install.
- Custom fields can be created on Procore at the Company Level following the path: Company Tools > Admin > Project Settings > Timesheets.
- Custom fields must be related to a Fieldset in order to be used in Projects.
- Custom fields can be used in the Employee Timesheets under the Project level.
- At least one Company fieldset must be created to activate Custom Fields on AccountLinx/SyncLinx.
- You can have multiple sets of Company Fieldset, but only one can be related/used on AccountLinx/SyncLinx.
- Supported Custom Fields Types
- AccountLinx and SyncLinx only support the following Custom Fields types:
- Plain Text (short) 255 characters
- Date
- Checkbox
- Single Select (Dropdown)
- AccountLinx and SyncLinx only support the following Custom Fields types:
Connecting SyncLinx to Procore
- Go to Tools and click Select Data Source....
- Select 'Procore'. SyncLinx will prompt that it had trouble connecting to Procore, which is expected as it has never connected to Procore before.
- Go to Tools and click Procore Settings....
- Click Connect. This should open a window to enter your credentials.
- Select the company that you are importing from with the drop-down menu.
SyncLinx Import Settings
- Go to Tools and click Procore Settings.
- There will be three sets of tabs for the 'Settings' window:
- The 'Connection' tab will allow you to set up or reset the connection with Procore.
- The 'Employee Import' tab will allow you to:
- Import Employee Crews as Mobile Groups - Procore Crews will be created as Employee Groups/Crews in ExakTime.
- The 'Sub-jobs Import' tab offers the following options:
- Import Sub-Jobs - Allow the import of sub-jobs that belong to imported projects as locations. The name of the location will be the name of the project, a dot ( . ), and the name of the sub-jobs. For example, if the project name is 200 and the sub-job is 005, then the name of the location will be "200.005".
- Import Locations Mobile Groups - When importing Projects, SyncLinx will create them as Mobile Groups and any sub-jobs imported will be added as members of the Mobile Group.
- Import Locations Categories - When importing Projects, SyncLinx will create them as Location Categories and any sub-jobs imported will be given the location category.
- The 'Custom Fields Import' tab offers the following options:
- Only up to one Fieldset can be selected and is supported.
- Only up to 5 Custom Fields can be selected and are supported.
- IMPORTANT - Pre-Import: Every time a Custom Field is created or changed, you need to re-run the Pre-Import to be sure the values are up-to-date. Pre-import is a process triggered only at the first Import/Update run.
- The 'Connection' tab will allow you to set up or reset the connection with Procore.
- Save any changes made.
Importing Entities from Procore
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 Procore and their ExakTime equivalents.
-
Employees - Active Procore Workers can be imported as ExakTime Employees.
-
Locations - Active Procore Projects and Sub-jobs can be imported as ExakTime Locations. The name and ID of sub-jobs will be the name/ID of the project, a period "." and the name/ID of the sub-job. For example, if the project name and ID is PJA & 200 and the sub-job is SJB 005, then the name of the location will be "PJA.SJB" and the ID will be "200.005".
-
Cost Codes - Active Procore Project Cost Codes at the Company Level can be imported as ExakTime Cost Codes.
Please note that in Procore, both Divisions and Cost Codes exist. However, only Cost Codes that belong to a specific Division are imported, while the Division itself is not included in the process.
Data for Procore Work Classifications and Time Types will be automatically imported in the background when first opening SyncLinx, importing any new entity (Employee, Location, cost code), and/or updating an existing entity.
Troubleshooting Procore Integration
Potential Errors
Depending on your mappings, you may receive an error when exporting time records to ensure the data is consistent with Procore in the event that an exported sub-job or cost code is not associated with a project in Procore. In these instances, make sure that the data is properly mapped and/or the sub-job/cost codes are active in Procore.
Connection Timeouts
Sometimes the Procore API will present a timeout error. AccountLinx 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.
Activating Cost Codes
If Cost Codes are not activated as a default feature on Procore, 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 Procore.
- 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 Sub-Jobs
Sub Jobs are not activated by Default in Procore. If you would like to use them in SyncLinx or AccountLinx, you will need to activate them by:
- In Procore, go to Company Tools, go to Admin, and go to Work Breakdown Structure.
- Click on the ⚙️ Gear icon near the 'Segments' section.
- Click the checkbox for 'Enable the usage of Sub Jobs on projects'.
- Save your changes.
After enabling sub-jobs, you can manage Sub Jobs under projects by navigating to Project Tools, then Admin, then Work Breakdown Structure, and going to Sub job.
Data Mapping Tables for Importing Procore into ExakTime
Employee
ExakTime | Procore |
---|---|
ID | employee_id |
First Name | first_name |
Last Name | last_name |
email_address | |
Address1 | address |
City | city |
State | state_code |
Zip | zip |
Phone | mobile_phone |
AccountLinx Work Classification | work_classification_id |
Status, is active | is_active(active only) |
Location
ExakTime | Procore |
---|---|
ID | project_number |
Name | name |
Address 1 | address |
City | city |
State | state_code |
Zip | zip |
Phone | phone |
Date | start_date |
Latitude | latitude |
Longitude | longitude |
Status | status(active only) |
Cost Codes
ExakTime | Procore |
---|---|
ID | code |
Name | Name |
Status | Status(active only) |