---
title: "Prepare DATEV Payroll"
method: PUT
path: "/custom/datev/employees/{employee_id}/prepare-payroll"
tags: ["Custom Endpoints"]
---

# Prepare DATEV Payroll

`PUT /custom/datev/employees/{employee_id}/prepare-payroll`

What DATEV requires to prepare payroll is very specific and currently, as DATEV is not providing "read", this is not part of the unified model.

<Note>
  This endpoint requires the permission **Manage payroll** to be enabled in [your scope config](/scopes).
</Note>

### Example Request Body

```json
{
  "employee_id": "EvLV61zdahkN4ftPJbmPCkdv",
  "payroll_run": {
    "date": "2022-05-01"
  },
  "fixed_payments": [
    {
      "amount": 560,
      "lohnart": 100
    }
  ],
  "hourly_payments": [
    {
      "hours": 14,
      "lohnart": 200
    },
    {
      "hours": 16,
      "lohnart": 232
    }
  ],
  "custom_lodas": [
    {
      "amount": 8,
      "lohnart": 300,
      "bearbeitungsschluessel": 4
    }
  ]
}
```

## Path parameters

- `employee_id` string, required — ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote system by prefixing it with `remote:` (e.g., `remote:12312`)

## Headers

- `X-Integration-Id` string, required

## Request body

- PutCustomDatevEmployeesEmployeeIdPreparePayrollRequestBody
  - `payroll_run` object, required
    - `date` string, date-time, required — YYYY-MM-DDTHH:mm:ss.sssZ
  - `hourly_payments` object[], required — Add entries for all the hourly calculated supplements here. For example you can write "Overtime" or "Work on Holidays" (in hours here). Unfortunately, DATEV doens't allow showing a lable for the entries.
    - `hours` number, double, required — Number of hours this employee has worked.
    - `lohnart` number, double, required — The "Lohnart" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports hours.
  - `fixed_payments` object[], required — Add entries for all the fixed supplements here. For example you can write "Bonuses" (in Euros here). Unfortunately, DATEV doens't allow showing a lable for the entries.
    - `amount` number, double, required
    - `lohnart` number, double, required — The "Lohnart" (payment-type) in DATEV. Make sure a Lohnart is selected that actually supports fixed payments (no hourly modifier).
  - `custom_lodas` object[] — Add custom entries to the DATEV Lodas Standard Erfassungstabelle.
    - `amount` number, double, required — This amount value will be mapped to Datev "Wert" field.
    - `lohnart` number, double, required — Choose a valid Lodas Lohnart.
    - `bearbeitungsschluessel` number, double, required — Choose a valid Lodas Bearbeitungsschlüssel. We list the valid Bearbeitungsschlüssel [here](https://storage.googleapis.com/kombo-assets/integrations/datev/lodas_bs.json).

## Response `200`

PUT /custom/datev/employees/:employee_id/prepare-payroll Positive response

- PutCustomDatevEmployeesEmployeeIdPreparePayrollPositiveResponse
  - `status` 'success', required
  - `data` object, required
  - `warnings` object[], required — These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console.
    - `message` string, required

## Other responses

- `default` — The standard error response with just the platform error codes.

---

[API](https://skmtc.net/kombo/apis/kombo-api.md) · [All operations](https://skmtc.net/kombo/apis/kombo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kombo/kombo-api/revisions/ab61108eae52/schema)
