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

# Payroll Change

Payroll Changes are used to represent all inputs to payroll calculations, including regular compensation,
salary increases or decreases, changes in bonuses, alterations to vacation or sick time, or changes to health insurance
or retirement plans. Changes may also include modifications to payroll deductions, such as taxes or 401K contributions.

Note that each worker’s payroll starts from a blank slate, so their initial compensation is also represetned as a Payroll Change,
not any subsequent modifications to it.

When computing payroll items for any given pay period, Plane will take into account all payroll changes that are effective in that period.

### Examples

Here are a few examples of what would result in a payroll change being created in Plane:

* Compensation is set for the first time

  This can result in two Payroll Change entries if proration is needed to adjust the amount for the first pay period.

* Compensation is changed after worker's first payroll

  This can result in two Payroll Change entries if proration is needed to adjust the amount if the change happens mid-period.

* Expense report is approved and added to payroll

* Recurring reimbursement is set up

* Benefits or deductions must be added to payroll

### Attributes

<ResponseField name="id" type="string">
  Unique identifier for the object, e.g. `prc_cNqYX2J3s9bI2Aa`.
</ResponseField>

<ResponseField name="status" type="string">
  Status of the payroll change. This can be one of `draft`, `accepted`, `processed`, or `cancelled`.
</ResponseField>

<ResponseField name="starts" type="string">
  Date this payroll change is effective from.
</ResponseField>

<ResponseField name="ends" type="string">
  Date this payroll change is effective until. Can be `null`, meaning the change is effective
  indefinitely.
</ResponseField>

<ResponseField name="type" type="string">
  Type of this payroll change. One of `reimbursement`, `regular`, `benefit`, `bonus` or
  `commission`.
</ResponseField>

<ResponseField name="amount" type="string">
  Amount of the payroll change.
</ResponseField>

<ResponseField name="currency" type="string">
  Currency of the payroll change.
</ResponseField>

<ResponseField name="frequency" type="string">
  The frequency of this payroll change, aligned with the worker's pay period. One of `once`,
  `monthly`, `twice_monthly`, `weekly`, `biweekly`, `twice_annual` or `annual`.
</ResponseField>

<ResponseField name="rate" type="string">
  The hourly and raily rate calculated from the payroll change amount and reportable hours.

  <Expandable title="child attributes">
    <ResponseField name="hourly" type="string">
      The hourly rate calculated from the payroll change amount and reportable hours.
    </ResponseField>

    <ResponseField name="daily" type="string">
      The daily rate calculated from the payroll change amount and reportable hours.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="tax" type="string">
  Either `pre` or `post`. Affects whether or not the change should be apply before or after taxes.
</ResponseField>

<ResponseField name="hours" type="string">
  Hours reportable for this payroll change. Mostly used for prorated pay or certain types of
  bonuses. *Optional.*
</ResponseField>

<ResponseField name="description" type="string">
  An additional description of the payroll change, visible to the payroll admin.
</ResponseField>

<ResponseField name="recurring" type="boolean">
  If the change is recurring, it will be set to `true`. Otherwise `false`.
</ResponseField>

<ResponseField name="prorated" type="string">
  Whether or not this change was a result of a proration.
</ResponseField>

<ResponseField name="worker" type="object">
  Object representing the worker whose payroll this change is applicable to.
</ResponseField>

<ResponseField name="source" type="object">
  Reference to the source of this payroll change. For example, a salary change will reference
  the `Worker Compensation` object that resulted in this payroll change.

  <Expandable title="child attributes">
    <ResponseField name="id" type="string">
      Identifier of the object which caused this payroll change.
    </ResponseField>

    <ResponseField name="type" type="string">
      Type of the object that caused this payroll change.
    </ResponseField>
  </Expandable>
</ResponseField>
