Bulk creates a Payroll result

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 in errors.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
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

Parent payroll run id, refers to compensations/payroll_runs endpoint. The run must already exist; find it through compensations/cycles and compensations/payroll_runs.

results
array of objects
required

One entry per employee (maximum 1000 amounts in total per request)

results*
Response

Language
Credentials
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json