Module Navigation

8/2025 - Arcoro Integration Release Notes

This August 2025 maintenance release delivers a broad range of enhancements focused on improving integration accuracy, system alignment, and user experience across the Arcoro platform. Key improvements span major providers including Acumatica, CMiC, Sage 300, Spectrum, Sage Intacct, and Payroll, with new support for hierarchical job structures, department and labor classification syncs, and refined payroll UI features. 

Noteworthy updates include enhanced error handling, expanded read/write support for Sage Intacct entities, streamlined payroll workflows with configurable settings and active pay schedule management, and real-time notifications for payroll edits. The release also enforces critical validation rules (example: required GL location mapping), disables unsupported UI sorting behaviors, and upgrades sync processes to reduce errors and improve data consistency. 

Alongside these enhancements, bug fixes, and numerous optimizations ensure greater stability and smoother operation of integrations and core payroll functionality. 

Enhancements

Integrations Module

Notable enhancement in regard to connector properties as covered in the Sage Intacct section. 

Providers

Acumatica

  • Fix for Incorrect Rehire Date and Inactive Status
    • Resolved an issue where rehire syncs from CoreHR to Acumatica were incorrectly setting the rehire date to the employee’s termination date.
      • Sync logic now uses the hire date field in CoreHR when a termination date is still present.
    • Addressed a separate issue where the ORG employee record in Acumatica was not updating from inactive to active during rehire.
      • The employee status is now correctly set to active when rehire data is sent from CoreHR. 

CMiC

  • User-Friendly Handling of Termination Sync Errors to CMiC
    • Improved error handling when attempting to terminate an employee in CMiC who is already marked as terminated.
    • A warning message is now logged instead of allowing the sync to fail:
      • "Employee already terminated in CMiC. No action taken."
      • If the employee status matches between Core and CMiC but the termination date has changed in Core, a second warning message is logged:
        • "Termination Date has been changed in the source system, but the employee is already terminated in CMiC. The termination date change will not be recognized by CMiC."
    • These messages apply only when the employee is already terminated in CMiC and are designed to prevent unnecessary sync failures while maintaining transparency in the sync logs.
  • Validation for Non-US Addresses and Postal Code Truncation in CMiC Integration
    • Added validation to detect and handle non-US addresses during sync to CMiC.
      • When found, a warning is logged: "Non-US addresses are not supported by CMiC."
      • The address is excluded, but the rest of the employee data is still processed.
    • Postal codes are now truncated to CMiC’s 13-character limit.
      • Logged as: "The postal code has been truncated to 13 characters to meet CMiC's maximum length requirement."
    • Prevents sync failures caused by unsupported international geocodes and invalid postal code lengths. 

Sage 300

  • Fix for Union Sync Failure: Sage 300 to CoreHR
    • Resolved an issue where union records were not syncing from Sage 300 to CoreHR for LEM Construction.
    • Root cause: A SQL error was triggered due to an OUTPUT clause being used on a table (L_Company_Defined_13) with enabled triggers and no INTO clause. The trigger was temporarily disabled, but the OUTPUT clause is no longer in use.
    • Impact: Union, union locals, and union classes were not created in CoreHR during the sync.
    • Error observed in log file:
      • “Failure to connect/sync due to bad data and/or connection…” 

Spectrum:

  • Added length validation for Work State (UDFL8) and Union Class (UDFL14) fields in the Spectrum integration.
    • Fields exceeding 10 characters will not be synced.
    • A warning message is logged: 
      "The {property name:0} {value:1} exceeds the maximum length of 10 characters supported by Spectrum. The employee will be synced without this data."
    • This prevents sync failures due to field length limitations in AppXChange/Spectrum. 

Sage Intacct

  • Added Employee Reader
    • Updated Sage Intacct product configuration to support reading Employee data, aligning with the scopes used by the existing Employee Writer.
    • Initial implementation based on current Intacct Employee Reader logic.
    • Enables bi-directional employee data flow for improved integration with Arcoro products.
  • Added Job Reader for Employee Projects
    • Introduced a new Job Reader to retrieve Employee Projects data from Sage Intacct.
    • Updated Sage Intacct product configuration to include the new Domain Entity with read-only support.
  • Added Union, Union Local, and Union Class Reader
    • Introduced a new connector line item allowing users to specify which Intacct list contains their Union Class data (Labor Union, Labor Class, Labor Shift, or Not Supported).
    • The Union readers pull data from the selected list and streams it into one or more Arcoro products.
    • Mapping logic is consistent across all supported lists for seamless integration.
    • Enables flexible configuration based on user Intacct setups.
  • Added Termination Reason Reader
    • Updated Intacct product configuration to support reading Termination Reasons from Intacct to enable accurate capture and syncing of employee termination reasons from Intacct.
    • Supported termination reasons include: deceased, disability, involuntary, null, retired, and voluntary.
  • Added Labor Classification Reader
    • Added support for reading Labor Classification data from Sage Intacct at the company level.
    • Updated the Sage Intacct provider and product configuration to include this new reader.
    • Enables integration of Labor Classification data with Arcoro products using the Intacct API.
  • Added Contractor Reader
    • Updated Sage Intacct product configuration to support reading Contractors.
    • Contractors are identified and read from the Employee endpoint where Employee Type = Contractor.
    • Enables accurate retrieval and sync of contractor data into Arcoro products.
  • Updates for Sage Intacct and Hub Integrations
    • Sage Intacct for Payroll configuration updated to support write-only mode, enabling data flow from Payroll to Intacct.
    • Introduced new Sage Intacct for Arcoro Hub configuration to support read-only usage, allowing data to flow from Intacct to Hub.
    • Added a Hub Default product configuration with write-only support for use in Hub-integrated environments.
  • Initial Provider and Department Writer Support
    • Added a new Hub product configuration.
    • Implemented write support for Company.Department data to sync from Sage Intacct into Hub.
    • Developed a new Department writer with:
      • Duplicate detection based on department name.
      • Validation on field lengths (Name errors if exceeded; Description warns/truncates).
      • Audit logging for updates.
  • Labor Classification Writer Support
    • Added write support for Labor Classification data in the Hub product configuration.
    • Implemented new Labor Classification writer to sync data from Sage Intacct into Hub.
    • Duplicate detection based on Labor Classification name.
    • Validation on field lengths with Name max length of 50 characters (errors if exceeded).
  • Refactor Arcoro Job Model and Reader
    • Updated Arcoro job model to support a root-level Job with recursive child Jobs (up to N levels).
    • Refactored Sage Intacct reader to accommodate hierarchical Job structures, aligning with Hub/ET implementations.
    • Supports up to 10 layers of job hierarchy as per Sage Intacct limitations. 

Payroll Module

  • Added an Active toggle to each pay schedule in the Pay Schedules tab under Company Details.
    • Users can now mark pay schedules as active or inactive.
    • Toggling updates the schedule’s Active metadata field in real time.
    • Inactive schedules remain visible in the list with a visual indicator (e.g., grayed-out label) when Active = false.
  • Introduced a configurable Settings page under the Payroll UI, accessible via the existing gear icon in the top navigation bar.
    • Displays company-specific payroll and sync configuration options.
    • Visible to all users except those with the Employee role.
    • Settings are grouped and ordered based on predefined configuration tables:
      • Arcoro.Settings, SettingGroup, SettingDataType, SettingPickList, and Company.Settings.
    • Supports the following data types:
      • boolean, multi-select, number, single-select, string, and URL.
    • Group and setting display respects defined DisplayOrder.
    • Masking is applied if configured in the database.
    • Validation will be handled in a future update.
  • Exclude Inactive Pay Schedules from Payroll Dashboard Drop-Down
    • The Pay Schedule drop-down on the Payroll Dashboard now lists only schedules with Active = true.
    • Inactive pay schedules are fully excluded from the selection to prevent use in payroll runs and reporting.
  • Suppress Errors for Filtered-Out Contractor Records
    • Updated the Contractor Reader to avoid logging errors or warnings for records filtered out by provided filters.
    • Validation and processing now focus only on records that will actually be read, minimizing unnecessary log noise.
  • Check HQ ID Column Added for Admin and Read-Only Roles
    • All grids across the Company and Employee tabs now include a Check HQ ID column at the end, visible only to application admins and read-only users.
    • This column displays the unique Check HQ identifier for each item to support debugging and data validation.
    • The column is hidden for all other roles and does not affect standard user workflows.
  • Added Department Management via Hub
    • Updated system to use Hub as the source of truth for Departments, removing dependency on the Payroll database.
    • Department references now use DepartmentIdentifier from Hub where applicable.
    • Employee and Contractor syncs updated to support:
      • Mapping both DepartmentName (for legacy support) and DepartmentIdentifier (for Hubenabled users).
    • Department data in GL Mapping and UI now references DepartmentIdentifier, translating to display Name for users.
    • The Payroll Department table is deprecated and no longer used.
    • For Hub users, department listings in the UI remain visible, with potential linking to Hub for management.
    • Existing metadata tag for Department (Name only) is under review for removal or replacement.
  • Improved Annual Salary Selection Logic Using Base Rate
    • Updated salary compensation sync logic for non-payroll companies to properly prioritize Base Rate Codes when selecting the annual salary.
    • Selection behavior:
      • If no salary comp rates have a Base Rate Code, the latest by effective date is selected.
      • If all have Base Rate Codes, the latest by effective date is selected.
      • If there's a mix, the latest Base Rate comp is used.
    • This change ensures the correct annual salary is used during Core HR to Hub syncs when multiple active salary compensation rates exist.
    • Also verified compatibility with facility code prefixes defined in settings.
    • No impact to payroll users, as Payroll does not support Base Rate Codes.
  • Bank Status Display Added to Person Page
    • Added Bank Status to the bottom of the Person page.
    • Displays the status of the associated bank account using the existing Company Bank Account statuses.
      • Format: 
        Status: {status} – {disabled reason if applicable}
  • GL Mapping Search Now Includes Type
    • Updated the search functionality on the GL Mapping screen to include the Type field in the search scope.
    • Users can now filter GL mapping entries by Type for quicker access and improved usability.
  • GL Mapping Line-Item Name Now Editable
    • Resolved an issue where Line-Item Name could not be edited after creation on the GL Mapping screen.
    • Users can now modify the Line-Item Name as needed without recreating the entry.
  • Company Edit Notifications Added
    • The Company Details UI now listens for EntityStateChangedEvents, enabling real-time updates across the application when company data is modified.
    • Events are triggered after successful saves for the following:
      • Basic company information
      • Bank account edits
      • Document edits
    • Location updates made through Payroll Sync will now also trigger a change event only if changes are detected and saved successfully.
    • To prevent excess noise, location syncs will not fire general company update events at this time.
  • Fixed Issue Preventing Rate Code Status Updates
    • Resolved an issue where certain rate codes, originally created via script or external tools, could not be toggled between active and inactive in the UI.
    • Updates to status now correctly trigger writes to Hub when changes are detected.
    • Affected rate codes can now be managed consistently through the UI without error.
  • Addressed Location Metadata Case Sensitivity in API
    • Fixed an issue where metadata keys (e.g., “JobType”) in Location-related API requests were being incorrectly serialized with different casing (e.g., “jobType”).
    • The Payroll API and UI now no longer rely on case-sensitive metadata keys to prevent issues during automated API calls.
    • Metadata handling was improved to ensure consistent recognition regardless of key casing.
    • This change improves compatibility for automation tools and external integrations using the Payroll API.
  • Added Validation for Company Configuration Settings
    • Extended validation to all Company Configuration Settings controls based on their data types:
      • Strings: must not be null or empty
      • Numeric: null values are not allowed
      • URL: validation aligned with IntFx standards
    • Implemented audit logging to track any changes made to these settings.
  • Added Support for New Check Benefit Types: Transit and Parking
    • Payroll now supports Check’s new Transit and Parking benefit types.
    • These benefit options can be assigned to employees alongside existing benefit types.
    • Ensures full compatibility with Check’s latest benefit offerings for broader payroll support.
  • Exposed Read-Only Pay Schedules Endpoint
    • Added a GET /pay_schedules endpoint to the Payroll API to provide Hub consumers with readonly access to Check HQ pay schedule definitions.
    • Integration includes:
      • Authentication using the existing Payroll Provisioning API token pattern.
      • Data scoped to the current tenant (CheckHQ company ID: com_****).
      • Inclusion of 1 year of pay dates per schedule.
      • Automatic handling of paging with headers and page aggregation.
    • All write operations (POST, PATCH, DELETE) are explicitly disallowed.
  • Added Department Reader with Hub Integration
    • Introduced support for reading Department data from Arcoro Hub in the Payroll system.
    • Updated Payroll V1/Default configuration to include the new Department reader.
    • Reader pulls data via the Hub provider using Arcoro One API, enabling sync with Sage Intacct.
    • Mapping includes all relevant fields, including Intacct ID, to ensure downstream compatibility.
  • Fixed Issue with Bank Account Updates
    • Resolved a bug in UpdatePersonBankAccountsCommand where new bank accounts with a null ID caused errors during lookup of existing accounts.
    • Bank account updates and additions now process correctly without requiring a pre-existing ID.
  • Improved Formatting for Hub Provider API Errors
    • Enhanced error handling for calls to the Hub Location API within the Payroll Location writer.
    • API errors are now formatted into clear, customer-friendly messages in the sync logs.
    • Prevents raw or unclear Hub exception output from being shown to users.
  • Added HUB-Driven Module Sync and Enablement Support
    • Automatic Module Synchronization: 
      Added new Payroll API endpoints to keep the list of active modules (e.g., UsesCoreHr, UsesExakTime) in sync with Hub.
      • Hub can now push updates when module configurations change.
      • Payroll system updates the [Users].[Tenant] table accordingly.
      • An additional endpoint allows retrieval of a company’s current module configuration.
    • Payroll Enablement via Hub: 
      Introduced a new endpoint allowing Hub to retrieve a company’s Check ID and list of Payroll Administrator users.
      • Enables Hub to manage Payroll enablement, removing the need to use Clocktower.
  • CQRS Handler Security Review
    • Identified two handlers lacking security checks, and Implemented necessary security validations to ensure proper access control and data protection.
  • Payroll Edit Notifications
    • Added notifications in the Payroll UI to alert users when the payroll they have open is modified by another user or by a sync event (time, expense, PTO balance).
    • Improves real-time collaboration and data accuracy in multi-user environments.
  • General Ledger - Location Mapping Made Required
    • Updated the Payroll UI to enforce that General Ledger Location mapping cannot be left empty. This change aligns with Sage Intacct requirements, ensuring data integrity during integrations.
    • Users must now select a valid location mapping before saving GL configurations.
  • Wage Determination Grid
    • Added a new Wage Determination list view with columns:
      • Job (clickable link)
      • Effective Date
      • Expiration Date
      • Line Items (count)
      • Active (toggle)
    • Default sorting: Active first, then Expiration Date (descending), then Job (A-Z).
    • “Add” button opens the Add Wage Determination screen requiring Job, Effective Date, and Expiration Date.
    • Validation enforces required fields before saving.
    • Successful save returns user to the grid view.
    • Drill down action specifies read-only and editable items.
  • Add Department Writer Support
    • Enabled reading and writing of Department data in the Payroll V1/Default configuration.
    • Added new Department writer syncing data via Hub provider calls, since CheckHQ doesn’t support departments.
    • Duplicate detection based on Department name.
    • Validation on field lengths: Name triggers error if exceeded; Description triggers warning/truncation.
    • Audit logging implemented for Department updates.
  • Disable Sorting on General Ledger Mappings Details Column
    • Disabled sorting functionality on the Details column in the General Ledger Mappings grid.
  • Wage Determination Rules UI Enhancement - Labor Class Code Dropdown
    • Replaced the freeform Labor Class Code input with a dropdown list powered by HUB lookup.
    • Auto-selects the Labor Class Code if only one valid option is returned from HUB.
    • Displays all valid Labor Class Codes in a dropdown when multiple options are available.
    • Improves data accuracy and user experience by reducing manual entry errors and ensuring consistent labor classification.
Was this article helpful?
0 out of 0 found this helpful