Module Navigation

Using AccountLinx with Procore

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 AccountLinx to export your time data to Procore. If you would like information about SyncLinx to import entities into ExakTime from 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

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

Grant Procore User "Admin" Permission

AccountLinx and SyncLinx rely on a Procore user with Administrator access to integrate with Procore.

  1. Go to Company Tools under 'Core Tools', and go to Directory.
  2. Click Edit for the Procore user that needs to be set to an 'Admin'.

    ALX - Procore - 01.png

  3. Under the 'Company Permissions' section, mark all options to 'Admin' from the user profile.

    ALX - Procore - 02.png

  4. 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)'

      ALX - Procore - 03.png

  5. 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.

    ALX - Procore - 04.png

  6. Save your changes for the user.
Procore Timesheet Settings
  1. Go to Company Tools under 'Workforce Management' and go to Timesheets.
  2. Click the orange gear icon towards the top-left next to 'Timesheets'.
  3. Go to Configurations.
  4. Enable 'Can company employees be tracked on all projects?' from the 'Shared Settings' section and click Update.

    ALX - Procore - 05.png

  5. Scroll down to the 'Timesheet Settings' section and set the 'Default Cost Type For Timecards' to 'Labor' and click Update.

    ALX - Procore - 06.png

  6. Save your changes.
Procore Timecard Enabled

To utilize the Procore Timecard, you must have 'Employees' in your company.

  1. Go to Company Tools, and go to Directory.
  2. Click + Add User or edit an existing user.
  3. Enable the 'Is Employee Of [Company Name]' option and enter an employee ID.

    ALX - Procore - 04.png

  4. Save your changes.
Confirm Procore Timecard is Enabled
  1. Go to Company Tools.
  2. If the Procore Timecard has been enabled for the company, 'Timecard' should be listed under the 'Project Management' section. 

    ALX - Procore - 07.png

  3. 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. 
App Management

For SyncLinx and AccountLinx to connect to Procore, you must allow users to install apps.

  1. Go to Company Tools and go to Admin.
  2. Go to App Management.
  3. Enable 'Allow User Installs' towards the top-right.
Install ExakTime App
  1. Click Select an App in the top right corner of the Procore browser then click App Management.
  2. Click Install App then Install Custom App.
  3. Copy the App Version ID of b8c9d50e-64b1-4f79-a4d9-b786bd1fd85a and paste it into the prompted field in the browser.
  4. Click on Install.
Custom Fields
  1. Custom fields can be created on Procore at the Company Level following the path: Company Tools > Admin > Project Settings > Timesheets.
  2. Custom fields must be related to a Fieldset in order to be used in Projects.
  3. Custom fields can be used in the Employee Timesheets under the Project level.
  4. At least one Company fieldset must be created to activate Custom Fields on AccountLinx/SyncLinx.
  5. You can have multiple sets of Company Fieldset, but only one can be related/used on AccountLinx/SyncLinx.
  6. Supported Custom Fields Types
    • AccountLinx and SyncLinx only support the following Custom Fields types:
      • Plain Text (short) 255 characters
      • Date
      • Checkbox
      • Single Select (Dropdown)

Connecting AccountLinx to Procore

  1. Go to Tools and click Exporter Settings.
  2. Select the Procore exporter and click OK.
  3. A setup wizard should launch and guide you through the setup.

image1a.png

AccountLinx Export Settings

  1. Go to Tools and click Exporter Settings.
  2. Click Configuration... on the Exporter Settings window.
  3. The 'Settings' window will have four tabs:
    1. The 'General' tab offers the following options:

      ALX - Procore - Settings - 00.png

      • Connection - Set up or reset the connection for your Procore company.
      • Default Time Types - Specify the default time type that should be associated with exported time records.
      • Alternative Time Types - This will allow an alternate time type to be associated with specific employees, locations, or cost codes. This allows specific employees, locations, or cost codes to have an alternate set of pay type codes when exported. The related mapping screen will show drop-down menus to specify the time types that should be associated with exported time records.
      • Map Billable to - This will allow you to mark time records as billable for specific employees, locations, or cost codes.  The related mapping screen will show options to mark regular, overtime, or double time as billable.
    2. The 'Cost Codes' tab allows you to specify how the cost codes will generated.

      ALX - Procore - Settings - 06.png

    3. The 'Sub-jobs' tab allows you to include project sub-jobs with your time record export. If enabled, you will map the sub-jobs to a Location from the 'Map Locations' screen.

      ALX - Procore - Settings - 01.png

    4. The 'Other' tab offers the following options:

      ALX - Procore - Settings - 02.png

      • Map Work Classification To - This will allow a work classification to be associated with specific employees, locations, or cost codes.
      • Comments - This will allow comments associated with the time record, employee, location, or cost codes can be exported into the 'Description' column of the Procore Timesheet screen. 
    5. The 'Export Other' tab offers the following options: 

      ALX - Procore - Settings - 03.png

      • 'Export Batch Size' allows you to limit the number of time cards can be added with a single insert during an AccountLinx export.
      • 'Export Time Zone' allows you to specify the time zone with your records to help resolve display discrepancies in Project Timesheet.
    6. The 'Other' tab offers the following options: image2e.png
      • Custom Fields can be mapped to None, Employee, Location, and Cost Code.
        • Does NOT support the same custom field mapped to more than one Entity. You should not map the same custom field to different Entities.
        • Only up to one Fieldset can be selected and is supported.
        • Only up to 5 Custom Fields can be selected and are supported.
      • Custom Fields will appear in the mapping screen related to it.
      • If the Custom Field is changed on Procore and has no single selection option in it anymore, then a text field in the mapping screen is displayed.
      • Every time a Custom Field is created or changed, you must re-run the "Pre-Import" process on SyncLInx to be sure the values are up-to-date and re-open ALX. The Pre-Import is a process triggered only at the first Import/Update run on SLX.
  4. Save your changes made.

Mapping Data

After setting up your Procore exporter settings, you will need to map your data in AccountLinx so the time data from AccountLinx will export to the matching entities in Procore. The mapping process is fairly consistent for all applications we integrate with some variations depending on your export settings.

With Procore, there are some considerations when mapping your data that you should keep in mind:

  • Mapping Employees - Mapping employees will be performed for active workers from Procore.
  • Mapping Locations - Your ExakTime Locations will be mapped with the project and sub-job. If a location was imported via SyncLinx, they should be automatically mapped. 
  • Mapping Cost Codes - Your ExakTime Cost Codes will be mapped to Procore Cost Codes at the Company level. Every Procore project is required to have the Company level Cost Codes added to them.

For more information about mapping, you can refer to the following dedicated article.

Exporting Time Data

When your exporter settings and your mappings have been completed, you should be able to begin exporting your time data. The export process is fairly consistent for all applications we integrate with. For assistance with exporting time data, you can refer to the following dedicated article.

Exporting Custom Fields and API Behaviour

  • If the time records (first API call) and custom field (second API call) were exported successfully, they are considered EXPORTED
  • If the time records (first API call) were exported successfully, but their custom fields (second API call) were not, they are considered as EXPORTED WITH WARNINGS
  • If the time records (first API call) were not exported successfully, they are considered as NOT EXPORTED

Reviewing Exported Time Data in Procore

When exporting time records into Procore, AccountLinx will search for an existing Timesheet for the Project and Date where the status is 'Pending' and add the time cards to it. If AccountLinx cannot find any 'Pending' Timesheets, it will create a new Timesheet. All time records reported from AccountLinx to Procore will have a status of 'Pending'.

After you have exported the time data from AccountLinx, you can review the time data in Procore by navigating to Project Timesheets or Company Timesheets.

Project Timesheet

image28.png

Company Timesheets

image29.png

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.

Export Validations

Cost Codes

The projects from Procore are imported into ExakTime Connect as Locations and their associated Cost Codes are added to the location's view set. This configuration prevents the use of any cost code that does not belong to a project in their Time Records. In case there are manual changes with the Location view set to include a Cost Code that does not belong to the project in use by the Time Record being exported to Procore, an error will be presented during export that reads:

Procore Cost Code does not belong to Procore Sub-Job.

image2a.png

Sub-Jobs

AccountLinx will prevent the exporting of any data in which a Procore sub-job does not belong to a Procore Project. This error can also occur if the sub-job is deleted in Procore and a time record with the sub-job is exported. If you try to export a time record that meets any of the above criteria, you will receive an error that reads:

Sub-job does not belong to Procore Project.

image2b.png

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:

  • In Procore, go to the company level > Company Tools > Admin > Work Breakdown Structure.
  • Click Cost Codes in the 'Segments' table.
  • Highlight the root folder named Cost Codes on the left-hand side.
  • Click the Add Items button to add cost codes to the appropriate parent branch.

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.

image2c.png

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 Exporting Time Data into Procore

*Bolded Fields are Required

ExakTime Procore
Employee ID Employee ID
Cost Code ID Cost Code ID
Location ID Project ID or Project ID and project Task ID or None Project Code
Work Date Date
Regular Hours TimeSpent
Overtime Hours Time Spent
Double Overtime TimeSpent
Comments or Notes Description
AccountLinx Custom Field: Cost Code Cost Code
AccountLinx Earning Type EarningType
AccountLinx Billable BillableTime
AccountLinx Billable Overtime BillableOvertime
AccountLinx Default Note Note
AccountLinx Approval Status Status (always sent as “Open”)
AccountLinx Default Approver Approver
Job Type Certified Job
AccountLinx Default CostRate CostRate
AccountLinx ExternalRefNbr Ref
AccountLinx LaborItem LaborItem
AccountLinx TimeEntryID TimeEntryID
AccountLinx UnionLocal UnionLocal (User needs to enable Construction feature in Procore)
AccountLinx WCCC Code WCC Code

Time Export From AccountLinx Procore API Compared With Business Bridge

ExakTime (Source) Export File
Column Name
(Business Bridge
via CSV File)
AccountLinx via
Procore API
Procore
(Destination)
Req. Notes
Employee Name Employee N/A N/A   This field is not used by Procore and is only on the file for reference.
ExakTime: Employee ID Employee Number Employee Employee ID Y  
ExakTime: Cost Code Name Cost Code N/A N/A   This field is not used by Procore and is only on the file for reference.
ExakTime: Cost Code ID Cost Code Number ProjectTaskID Cost Code ID Y Not required if Location represents Procore None Project value.
ExakTime: Location Name Site N/A N/A   This field is not used by Procore and is only on the file for reference.
ExakTime: Location ID Site Number ProjectID Project ID or Project ID and Project Task ID or None Project Code Y If the Location ID value in ExakTime contains both Project ID and Project Task ID (separated by a colon), they are automatically separated and placed in their respective fields in Procore.
ExakTime: Punch Date\Time Start Date Time N/A   This field is not used by Procore and is only on the file for reference.
ExakTime: Punch Date\Time Stop Date N/A N/A   This field is not used by Procore and is only on the file for reference.
ExakTime: Work Date Work Date Date Date Y  
ExakTime: Regular Hours Regular Hours TimeSpent Time Spent Y  
ExakTime: Overtime Hours Overtime Hours TimeSpent Time Spent Y  
ExakTime: Double Overtime Hours Double Overtime Hours TimeSpent Time Spent Y  
ExakTime: Exported Exported N/A N/A   This field is not used by Procore and is only on the file for reference.
ExakTime: Comments or Notes N/A Summary Description Y Time record Comments or Employee, Location, Cost Code Notes. AccountLinx has also an option for default comment.
AccountLinx Custom Field: Cost Code N/A CostCode Cost Code   In Procore Cost Code, needs to be enabled with Cost Code feature, it is different from the Project Task. Sent user mapped value.
AccountLinx Setting: Earning Type N/A EarningType Earning Type Y Earning Type: Business Bridge defaults (RG, OT). In AccountLinx Procore API it is set by the user.
AccountLinx Custom Filed: Billable Flag N/A Billable Billable   Marks Regular Hours as Billable. If not marked defaults to False.
AccountLinx Custom Field: Billable N/A BillableTime Billable Time   If Billable Flag for Regular Hours is checked, it will output TimeSpent field for Regular Hours.
AccountLinx Custom Field: Billable Overtime N/A BillableOvertime BillableOvertime   If Billable Overtime Flag is checked, it will output Overtime and Double Time Hours from the TimeSpent field. (This will be outputted as separate entries).
AccountLinx: Default N/A note note   Sent with empty value.
AccountLinx: Default N/A ApprovalStatus Status   Always sent as "Open".
AccountLinx: Default N/A Approver Approver   Sent with empty value.
ExakTime Custom Field: Job Type N/A CertifiedJob Certified Job   Standard value is false, can be overwritten in AccountLinx via mappings.
AccountLinx: Default N/A CostRate Cost Rate   Sent with empty value.
AccountLinx: Default N/A ExternalRefNbr Ref   Sent with empty value.
AccountLinx Custom Field: Labor Item N/A LaborItem Labor Item   Sent user mapped value.
AccountLinx: Default Value N/A TimeEntryID TimeEntryID   Always sent with a new GUID.
AccountLinx Custom Field: Union Local N/A UnionLocal Union Local   Need to enable Construction feature in Procore. Sent user mapped value.
AccountLinx Custom Field: WCC Code N/A WCCCode WCC Code   Worker's Class Compensation code, need to enable the Construction feature in Procore. Sent user mapped value.
Was this article helpful?
0 out of 0 found this helpful