> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bindbee.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Employee Payroll Run

> Creates a Employee Payroll Run object with the given values.

import { Accordion, AccordionGroup } from "@mintlify/components";

This endpoint creates an Employee Payroll Run in the connected HRIS via Bindbee's unified **Employee Payroll Runs** model.

## Provider-specific behavior

Different HRIS systems can have slightly different requirements and behaviors when creating payroll runs. Use the accordions below to see details for each provider.

<AccordionGroup>
  <Accordion title="Workday">
    <p>
      When the underlying HRIS is Workday, an `earning` can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "019b2647-8e14-7fcf-aa9e-aeff6ab205b2",
      "start_date": "2025-12-01",
      "end_date": "2025-12-31",
      "earnings":
      [
        {
          "type": "Workday_Earning_Code",
          "amount": 200,
          "id": "W_1042S_2015"
        }
      ]
    }
    ```

    <p>
      Similarly, a `deduction` can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "019b2647-8e14-7fcf-aa9e-aeff6ab205b2",
      "start_date": "2025-12-01",
      "end_date": "2025-12-31",
      "deductions":
      [
        {
          "type": "Workday_Deduction_Code",
          "amount": 200,
          "id": "W_1042S_2015"
        }
      ]
    }
    ```

    ### Important note

    * For Workday, you can add either `earnings` or `deductions` at a time - you cannot add both simultaneously.
    * You can only add 1 `earning` or `deduction` at a time, no more than that.
    * `payroll_run` field must be set to **null** for Workday integration.

    The possible types for `earnings` are:

    * **Workday\_Earning\_Code**
    * **WID**

    The possible types for `deductions` are:

    * **Workday\_Deduction\_Code**
    * **WID**
  </Accordion>

  <Accordion title="ADP">
    <p>
      When the underlying HRIS is <strong>ADP</strong>
      , an `employee_payroll_run` can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "01929ee7-28b6-7abc-b4d3-e78610669c82",
      "earnings":
        [
          {
            "code": "BN",
            "amount": 0.01
          },
          {
            "code": "R",
            "amount": 0.04
          }
        ],
      "deductions":
        [
          {
            "code": "REI",
            "amount": 0.01
          },
          {
              "code": "KL1",
              "amount": 0.04
          }
        ],
      "taxes":
        [
          {
              "code": "9"
          }
        ],
      "payroll_file": "023321",
      "payroll_process_name": "Ded Ear writeback"
    }
    ```
  </Accordion>

  <Accordion title="UKG Ready">
    <p>
      When the underlying HRIS is <strong>UKG Ready</strong>
      , an `employee_payroll_run` can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "0194cbef-a29f-7afe-8fb6-bcb706383346",
      "payroll_run": "0194cbef-a8e7-7784-ae98-bb6adaac63c6",
      "paystatement_type_id": 51743758,
      "deductions":
        [
          {
            "company_deduction": 5.5,
            "employee_deduction": 10.2,
            "name": "Student Loan"
          },
          {
            "company_deduction": 1.5,
            "name": "Dental PreTax"
          }
        ],
      "earnings":
        [
          {
            "name": "Overtime",
            "amount": 12.9
          }
        ]
    }
    ```
  </Accordion>

  <Accordion title="SAP SuccessFactors (SAP SF)">
    <p>
      When the underlying HRIS is **SAP SuccessFactors**, an `employee_payroll_run` can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "019bdafb-0afb-782b-b03b-01c23271653d",
      "payroll_provider_id": "BindBee",
      "payroll_person_id": "310",
      "payroll_employment_id": "270",
      "start_date": "2026-01-26T08:00:00Z",
      "end_date": "2026-01-31T08:00:00Z",
      "deductions": [
        {
          "employee_deduction": 200,
          "name": "401K"
        }
      ],
      "earnings": [
        {
          "name": "GROSS",
          "amount": 2000
        }
      ],
      "taxes": [
        {
          "name": "Testing_Tax",
          "amount": 101
        }
      ]
    }
    ```

    ### Where to find these fields:

    * **payroll\_provider\_id**: Use the ID provided by the customer if it’s available. If not, any valid string can be used.
    * **payroll\_person\_id**: This value can be found in the employee’s `raw_data`.
    * **payroll\_employment\_id**: Source this either from the employee’s `raw_data` or from Binbee’s employment model (`remote_id`).
    * **Deductions**: When adding deductions, ensure the deduction codes are included in the name field.

    ### Important notes

    * All top-level fields are mandatory.
    * `earnings`, `deductions`, and `taxes` can be sent together.
    * All fields inside each array are compulsory.
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml POST /api/hris/v1/employee-payroll-runs
openapi: 3.1.0
info:
  title: Bindbee APIs
  version: 0.1.0
servers:
  - url: https://api.bindbee.dev
  - url: https://api-eu.bindbee.dev
security: []
paths:
  /api/hris/v1/employee-payroll-runs:
    post:
      tags:
        - Employee Payroll Runs
      summary: Create Employee Payroll Run
      description: Creates a Employee Payroll Run object with the given values.
      operationId: create_employee_payroll_run_api_hris_v1_employee_payroll_runs_post
      parameters:
        - name: x-idempotency-key
          in: header
          required: false
          schema:
            type: string
            description: Key to guarantee idempotent write execution.
            title: X-Idempotency-Key
          description: Key to guarantee idempotent write execution.
        - name: x-connector-token
          in: header
          required: true
          schema:
            type: string
            title: X-Connector-Token
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````