---
title: "Get payroll period results of an employment for a year"
method: GET
path: "/v2/providers/employers/employees/employments/{employmentId}/payrollperiodresults/year/{year}"
tags: ["Payslip"]
---

# Get payroll period results of an employment for a year

`GET /v2/providers/employers/employees/employments/{employmentId}/payrollperiodresults/year/{year}`

## Request

- Base URL: `https://api.loket.nl`
- URL: `https://api.loket.nl/v2/providers/employers/employees/employments/{employmentId}/payrollperiodresults/year/{year}`
- Auth: none required

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

Download the payroll results (conform overzicht strook) of an employment per payroll period for the provided year.

**Please note the following:**  There is a major functional difference between acquiring the payslips per payroll run or acquiring payroll results per payroll period(in this case a year). In Loket, for each (approved) run there will be payroll results for that run. Each employment with any results in that payroll run will have (one or more) payslips, these are the payroll results/ payslips for that run. Often these results relate to the payroll period for which that payroll run is performed, but the results may apply to other payroll periods. __For example:__ the payroll run for March may contain results that apply to the months January and/or February. (this may occur within a specific year)

* Requesting payslips/results per RUN will provide you all payroll results from that specific payrollrun regardless of the period it applies to.
* Requesting PERIOD results will provide you all (approved) payroll results for that period regardless of the payroll run it comes from.

De facto the payslips/results per RUN are your actual payslips (loonstrook). The results per period are more useful as an overview per period (overzichtstrook).

One more remark: the response of this endpoint is dependent on the role of the user. If the user has role 'werknemer' than the results shown are only based on those approved payroll runs where the ESS-date is on or before today. For other users the results will contain data from all approved payroll runs regardless of ESS-date.

## Path parameters

- `employmentId` string, uuid, required
- `year` integer, required

## Headers

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

## Response `200`

OK

- 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` Employments2
    - `employmentId` string, uuid: The unique identifier of an object (GUID/UUID)
    - `payrollPeriods` object[]
      - `payrollPeriod` object
        - `year` integer: The year of the payroll period the record relates to
        - `periodNumber` integer, nullable: The period number of the payroll period the record relates to
        - `periodStartDate` string, date: The first day of the period for which the tax return message was created
        - `periodEndDate` string, date: The last day of the period for which the tax return message was created
        - `testYear` boolean: Indicates whether the payroll periode is part of a test year. In Loket it is possible to run a year of a payrolladministration as a so-called test year. This is typically done to test the configuration of a new payroll administration, by running payrollruns within the context of a test year. Please note: if the payroll run belongs to a test year the results of the run should not be regarded as actual data but as test data.
        - `payrollPeriodType` PayrollPeriodType3: Indicates the frequency of the payrolling process. Payrolling can be done on a monthly (key 1), 4-weekly (key 3) or weekly (key 4) basis.
          - `key` integer
          - `value` string
      - `payslipTypes` object[]
        - `payslipType` object: The type of payslip on which underlying payroll run results will be booked. This is either normaal or bijzonder tarief.
          - `key` integer
          - `value` string
        - `payrollComponentResults` 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. `payrollComponent` is a metadata field within the payroll administration context. Possible values can be managed by the user.
            - `key` integer: The number for the payroll component. This number has meaning to payroll professionals using Loket who often know many of them by heart.
            - `value` string: The description of the payroll component
            - `category` object: The category of the payroll component. Example categories are, hours/extra hours/net payment/net deduction etc.
              - …
            - `column` object: The wage sheet column (kolom) of the payroll component. Kolommen are related to its specific lines on the payslip and/or wage sheet. Also this does bear some similiarties to wage sheets columns (loonstaatkolommen) used by the Belastingdienst, however the division of columns as used by Loket is not identical to that.
              - …
            - `costsEmployer` object, nullable: Indicates whether the components are costs for the employer (+) or negative costs (-, i.e. benefit) for the employer. The value could also be NULL meaning that the component is not related to actual expenses.
              - …
            - `hoursIndication` boolean, nullable: Only applicable for component in category 6 (eenheden)
            - `countAsNormHours` boolean: Indicates whether its value is counted as norm hours (bij bepalen normuren)
          - `value` number: Value/ amount (normaal tarief voor belasting, tabelloon) for the payrollcomponent. Only a 'normal' type payslip may have value for this.
          - `valueSpecialTariff` number: Value/ amount (speciaal tarief voor belasting) for the payrollcomponent. Both a 'normal' and 'special tariff' type payslip may a value for this. Also, both valueNormal and valueSpecialTariff may have a value at the same time.

## 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)
