---
title: "Initiate a Smart Paste on payroll period data on administration level"
method: POST
path: "/payrollcomponent/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriods/{payrollPeriodId}/payrollperioddata/smartpaste"
tags: ["Smart Paste payroll period data"]
---

# Initiate a Smart Paste on payroll period data on administration level

`POST /payrollcomponent/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriods/{payrollPeriodId}/payrollperioddata/smartpaste`

## Request

- Base URL: `https://api.loket.nl`
- URL: `https://api.loket.nl/payrollcomponent/providers/employers/payrolladministrations/{payrollAdministrationId}/payrollPeriods/{payrollPeriodId}/payrollperioddata/smartpaste`
- Auth: none required

__Activity name :__ <a href="https://developer.loket.nl/Activities/PostInitiateSmartPasteByPayrollAdministrationIdAndPayrollPeriodId" target="_blank">PostInitiateSmartPasteByPayrollAdministrationIdAndPayrollPeriodId</a>

Initiate a Smart Paste operation on payroll period data for all active employments in the given payroll period for the given payroll administration.

## Path parameters

- `payrollAdministrationId` string, uuid, required
- `payrollPeriodId` integer, required

## Headers

- `Authorization` string, required
- `Accept` string, required

## Request body

- SmartPasteData
  - `context` object: The context in which the Smart Paste operation is executed.
    - `employerId` string, uuid: The unique identifier of the employer.
    - `payrollComponentSet` string, uuid: A predefined set of payroll components to filter which payroll components are returned.
    - `payslipType` integer: The type of payslip (as defined by the Dutch tax authorities).
    - `pageNumber` integer, nullable: The page number of the result which is viewed in payroll period browser when initiating a Smart Paste operation.
    - `pageSize` integer, nullable: The page size of the result which is used in payroll period browser when initiating a Smart Paste operation.
    - `orderBy` string, nullable: The ordering of the result which is used in payroll period browser when initiating a Smart Paste operation.
    - `language` string, nullable: The language which is set in Loket when initiating a Smart Paste operation.
  - `payrollData` PayrollData2[]: The current state of the payroll period browser when initiating a Smart Paste operation. This is the results of endpoint <a href="https://developer.loket-ontw.nl/#tag/Payroll-period-data-on-administration-level/operation/GetPayrollPeriodDataByPayrollAdministrationIdAndPayrollPeriodId" target="_blank">GetPayrollPeriodDataByPayrollAdministrationIdAndPayrollPeriodId</a> shown in payroll period browser.
    - `employment` object
      - `id` string, uuid: The unique identifier of an object (GUID/UUID)
      - `payrollId` integer: The payrolling number for this employment of the employee. Used by the payroll engine. This number is automatically generated and cannot be changed by the user.
      - `incomeRelationshipNumber` integer: The income relationship number that is required in the tax return. Together with the citizen service number (burgerservicenummer, BSN) and wage tax number, the income relationship number uniquely identifies an employment.
    - `employee` object
      - `formattedName` string: Preformatted user name for displaying. `<lastname>, <initials> <prefix>`
      - `employeeNumber` integer: The employee number to uniquely identify an employee within an employer.
      - `firstName` string, nullable: The first name, given name, forename or Christian name as part of a persons personal name.
    - `payrollPeriod` object
      - `year` integer: The year of the payroll period in which the payroll data is to be processed.
      - `periodNumber` integer: The period (month [1 to 12] , 4 weeks [1 to 13] or week [1 to 53]) of the payroll period in which the payroll data is to be processed.
      - `periodStartDate` string, date: The first day of the period to which the payroll period data applies.
      - `periodEndDate` string, date: The last day of the period to which the payroll period data applies.
    - `shift` object: The shift determines the full-time hours and bonus percentage.
      - `shiftNumber` integer: The number for the shift. Loket supports a maximum of 15 shifts per payroll administration.
      - `fullTimeHoursPerWeek` number: The full time hours for an employment that is linked to this shift.
      - `bonusPercentage` number: The bonus percentage used in wage calculations for the hours made in this shift.
    - `payslipType` object: The type of payslip (as defined by the Dutch tax authorities).
      - `key` integer
      - `value` string
    - `distributionUnit` object: Distribution unit, used in several reports and the "basic wage journal" functionality. Commonly used as a cost center.
      - `key` string, uuid: The unique identifier of an object (GUID/UUID).
      - `code` integer
      - `description` string
    - `costCenter` object, nullable: The cost center on which the payroll period data for this record will be booked for the ledger.
      - `key` integer
      - `code` string
      - `description` string
    - `costUnit` object, nullable: The cost unit on which the data for this record will be booked for the ledger.
      - `key` integer
      - `code` string
      - `description` string
    - `payrollComponents` object[]
      - `payrollComponent` object: A payroll component is the link to the salary calculation. By setting the value of a component the salary calculation will take this value into account when calculating the wage of the employment for the given payroll period. <br/> Please note: Business rules may differ per component! Understanding these business rules and corresponding validations requires functional knowledge of Loket.
        - `key` integer: The number for the payroll component. This number has meaning to payroll professionals using Loket who often know it by heart.
        - `description` string: The description of the payroll component.
        - `deviatingDescription` string, nullable: A longer and more user-friendly description of the payroll component.
        - `category` object: The category of the payroll component. Example categories are, hours/extra hours/net payment/net deduction etc.
          - `key` integer
          - `value` string
        - `deductionOrPayment` object, nullable: Indicates if the value of the payroll component will be deducted from or added to the salary. In case the component is neither a deduction or a payment, NULL is returned.
          - `key` integer
          - `value` string
        - `canBeSupplemented` boolean: Indicates whether the atribute for this payroll component can have the value `supplement`. Refer to the description of the attribute field for an explanation.
      - `value` number, nullable: Depending on the selected payroll component the possible value(s) for this field change (dynamic business rules).
      - `isSupplement` boolean, nullable: This boolean determines what the salary calculation will do with the value of the payroll component if the payroll component has values in both the payroll period specific data (this endpoint) and in the non-payroll period specific configuration of the employment (it is possible to configure values for payroll components that span multiple payroll periods and even parts thereof). * When set to `false`, the value of the payroll component will overwrite the value specified in the non-payroll period specific data with the given value in the payroll period specific date. * When set to `true`, the value of the payroll period specific data will be added to the value of the non-payroll period specific data. Note that a value can be a negative number. For instance, a payroll period specific value of 20 and a non-payroll period specific value of -8 will effectively result in 12 for salary calculation. This boolean can only be set to `true` in components for which `payrollComponent.canBesupplemented = true`.
  - `clipboard` object: The contents of the clipboard to be processed. __Warning__: `clipboardText` and `clipboardFiles` cannot both be empty.
    - `clipboardText` string, nullable: Contents of the clipboard in text format.
    - `clipboardFiles` object[], nullable: Contents of the clipboard in means of screenshot(s) or copied file(s).
      - `base64Content` string: Base64 encoded string of a screenshot or file from the clipboard.
      - `mimeType` string: MIME type which indicates the type of data contained in the base64 encoded string contained in `base64Content`.

## Response `201`

Created

- object: a warning indacateds that the given payload is valide, however take notice of the warning this might ifluence behavour.
  - `version` Version
    - `obsoleteDate` string, date, nullable: The date (can be null) on which the `resourceVersion` is no longer supported/available
    - `resourceVersion` string, date: The resource version of the object in the response
  - `messages` object[]
    - `type` string: Indication of the type of message. See [the general documentation for more information](./#section/Response/Messages)
    - `description` string: Describes the message
    - `id` string, uuid, nullable: In some cases when the message may relate to a specific entity, or specific group of entities, this field provides the identifier of that entity
    - `code` integer: Identifying code for the message
    - `properties` string[]: An array that can contain additional information
  - `content` object
    - `transactionId` string, uuid: The unique identifier of an object (GUID/UUID)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/loket/apis/loket-api.md) - [All operations](https://skmtc.dev/loket/apis/loket-api/llms.txt) - [OpenAPI document](https://skmtc.dev/loket/apis/loket-api/revisions/32170564148f?raw)
