HR → Payroll employee sync
Fluide HR is the canonical source for employee and contract data. When you create or update records via the HR API, HR automatically mirrors them into Fluide Payroll using internal service-to-service calls.As a Connect integrator you only call public HR and Payroll APIs. Mirroring happens inside the platform — this guide explains the behavior so you can debug sync issues.
When sync happens
Idempotency
Payrollemployees.id equals the canonical HR employee UUID. Replaying the same create or update updates the same Payroll row — safe to retry.
Contract rows may use the same UUID as hr_employment_contract.id when HR sends contract.id.
Steps (integrator workflow)
1
Create employee in HR
2
Wait for mirror (usually seconds)
HR publishes to Payroll internal endpoints asynchronously after commit.
3
Verify in Payroll API
id should match HR data.id.4
Proceed to payroll run
Once mirrored, include the employee in a run — Run payroll.
Internal mechanics (reference)
HR calls Payroll with:- Header:
x-internal-api-key(service mesh only — not for Connect developers) POST /api/v1/payroll/internal/employees/mirror-from-hrPOST /api/v1/payroll/internal/contracts/upsert-from-hrPOST /api/v1/payroll/internal/employees/provision-wallet
Troubleshooting
Related
Add an employee
Create the canonical HR record.
Run payroll
Process pay after sync.