post
https://api.factorialhr.com/api/2026-10-01/resources/compensations/payroll_results/bulk_create
Imports payroll result amounts for employees of an existing payroll run, for example the
figures returned by an external payroll provider. Only Factorial ids are accepted.
The import is atomic: the whole request is validated before anything is written, and any
error rejects it entirely. A 4xx or 5xx response means nothing was written, so a failed
request can be retried as is.
The request is rejected when:
- it has no results, an employee entry has no items, it carries more than 1,000 amounts,
or it repeats an employee or a concept for the same employee - the payroll run, an employee or a payroll concept does not exist in the company
- an employee is not part of the payroll run, that is, is not one of the employees
Factorial lists in that run. On regular runs the employee's contract must cover the run
period, they must not have been terminated more than 60 days before the run starts and,
when the run's cycle is limited to a people group, they must belong to it. Off-cycle
runs only apply the people group and a 365-day termination window. The error lists
these employees inerrors.employee_ids, so they can be removed and the rest resent. - a concept is a base salary concept or is disabled
- an employee entry does not include the company's net_pay concept (find its id with
compensations/concepts) - an amount is outside the signed 32-bit integer range
Re-posting an (employee, concept) pair replaces its amount and keeps the row id. Pairs not
included in the request are left untouched; there is no delete. Split larger payrolls into
requests of up to 1,000 amounts, keeping all of an employee's items in the same request.
Requires the "Import payroll results" permission.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…

