Skip to content
All posts
Product· 6 min read· Apex Product Team

Connecting Your ATS to HRIS and Payroll: What to Sync and When

The hire is made, now the data has to move. Which fields to sync, when to trigger the handoff, and how to keep records from drifting apart.

Every hiring team has a version of the same afternoon: the offer is accepted, and someone opens the HRIS in one tab, the ATS in another, and retypes the candidate's name, address, pay rate, and start date. Then they do it again for payroll. Somewhere in that process a middle initial gets dropped or a pay rate is entered as 18.50 instead of 18.75, and the new hire's first paycheck is wrong. An ATS-to-HRIS integration exists to remove that afternoon. This post explains what should flow, in which direction, and at what moment.

Decide which system owns which fields

Integrations go wrong when two systems both think they own the same field. Before connecting anything, write down the source of truth for each piece of data. A reasonable split for most teams looks like this.

  • ATS owns: application date, source, pipeline history, interview notes, offer details as originally accepted, requisition and hiring manager.
  • HRIS owns: employee ID, legal name after verification, tax and banking details, benefits elections, ongoing job and pay changes.
  • Payroll owns: pay schedule, earnings and deductions, year-to-date totals.
  • Shared, ATS writes once at hire and then stops: name, contact details, address, start date, job title, department, location, starting pay rate, employment type.

The key phrase is "writes once and then stops." The ATS should create the employee record with accurate hire data and then hand off. It should not keep pushing updates after day one, and the HRIS should not push pay changes back into a hiring record that is now historical.

Pick the trigger moment carefully

The obvious trigger is "offer accepted," but that is often too early. Offers get rescinded, start dates move, and background checks come back with issues. Creating an HRIS record for someone who never starts leaves a ghost employee that someone has to clean up, and in payroll it can be worse.

  1. 01Offer accepted: send nothing yet, or at most a pre-hire placeholder if your HRIS supports one.
  2. 02Background check cleared and start date confirmed: create the HRIS employee record with the shared fields. This is the moment most teams should use.
  3. 03First day worked: HRIS or the manager confirms the person showed up, and payroll activates the record.
  4. 04Hired stage in the ATS: mark the requisition filled and lock the hiring record.

In Apex ATS the handoff is tied to the pipeline stage, so moving a candidate to hired (or to a custom "cleared to start" stage if you add one) is what sends the record to the connected HRIS or payroll provider. Recruiters do not have to remember to export anything, and the trigger is visible in the stage history.

Map fields before you flip the switch

Every HRIS has its own idea of what a job title, location, or department is called. If your ATS calls the role "Line Cook" and the HRIS job catalog has "Cook II," the integration will either fail or create a new title nobody wanted. Spend an hour on mapping before going live.

  • Export the HRIS lists for job titles, departments, locations, and employment types. Match each ATS value to one of them.
  • Decide the format for names (does the HRIS want preferred name separately), phone numbers, and addresses.
  • Confirm pay rate units: hourly vs annual, and currency if you operate in more than one.
  • Test with three real but past hires in a sandbox, and compare every field by hand.

Keep the records from drifting

Once the integration runs, the risk shifts from typos to drift: the two systems disagree and nobody notices for months. A light monthly check catches it. Pull the list of hires from the ATS for the month and the list of new employees from the HRIS, and compare counts and start dates. Illustratively, a company hiring 40 people a month might find one or two mismatches early on, usually a rescinded offer that never got reversed. After a quarter that number should be zero.

Log every sync event on the applicant record: what was sent, when, and whether the HRIS accepted it. When payroll asks why an employee is missing, the answer should take one click, not a search through email.

A good ATS-to-HRIS connection is unremarkable. Nobody retypes anything, the first paycheck is right, and the hire data is where HR expects it. Getting there is mostly about deciding ownership, choosing a trigger later than offer acceptance, and mapping fields before day one.

#integrations#HRIS#payroll#onboarding#data-quality

Keep reading

See it live

Fifteen minutes, your own job post.

We load one of your open roles into Apex on the call, run a real resume through the parser and text a test applicant. No slides.