---
title: "Create a payroll wage item"
method: POST
path: "/quickbooks-desktop/payroll-wage-items"
---

# Create a payroll wage item

`POST /quickbooks-desktop/payroll-wage-items`

Creates a new payroll wage item.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Request body

- object
  - `name` string, required — The case-insensitive unique name of this payroll wage item, unique across all payroll wage items. **NOTE**: Payroll wage items do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents. Maximum length: 31 characters.
  - `isActive` boolean — Indicates whether this payroll wage item is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `wageType` 'bonus' | 'commission' | 'hourly_overtime' | 'hourly_regular' | 'hourly_sick' | 'hourly_vacation' | 'salary_regular' | 'salary_sick' | 'salary_vacation', required — Categorizes how this payroll wage item calculates pay - can be hourly (regular, overtime, sick, or vacation), salary (regular, sick, or vacation), bonus, or commission based.
  - `overtimeMultiplier` string — The overtime pay multiplier for this payroll wage item, represented as a decimal string. For example, `"1.5"` represents time-and-a-half pay.
  - `rate` string — The default rate for this payroll wage item, represented as a decimal string. Only one of `rate` and `ratePercent` can be set. Decimal string format: up to 5 decimal places and up to 10 digits before the decimal point (for example, "123.45").
  - `ratePercent` string — The default rate for this payroll wage item expressed as a percentage. Only one of `rate` and `ratePercent` can be set.
  - `expenseAccountId` string, required — The expense account used to track wage expenses paid through this payroll wage item.

## Response `200`

Returns the newly created payroll wage item.

- QbdPayrollWageItem
  - `id` string, required — The unique identifier assigned by QuickBooks to this payroll wage item. This ID is unique across all payroll wage items but not across different QuickBooks object types.
  - `objectType` 'qbd_payroll_wage_item', required — The type of object. This value is always `"qbd_payroll_wage_item"`.
  - `createdAt` string, required — The date and time when this payroll wage item was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
  - `updatedAt` string, required — The date and time when this payroll wage item was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
  - `revisionNumber` string, required — The current QuickBooks-assigned revision number of this payroll wage item object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you're working with the latest data; otherwise, the update will return an error.
  - `name` string, required — The case-insensitive unique name of this payroll wage item, unique across all payroll wage items. **NOTE**: Payroll wage items do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.
  - `isActive` boolean, required — Indicates whether this payroll wage item is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `wageType` 'bonus' | 'commission' | 'hourly_overtime' | 'hourly_regular' | 'hourly_sick' | 'hourly_vacation' | 'salary_regular' | 'salary_sick' | 'salary_vacation', required — Categorizes how this payroll wage item calculates pay - can be hourly (regular, overtime, sick, or vacation), salary (regular, sick, or vacation), bonus, or commission based.
  - `expenseAccount` object, nullable, required — The expense account used to track wage expenses paid through this payroll wage item.
    - `id` string, nullable, required — The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
    - `fullName` string, nullable, required — The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.
  - `overtimeMultiplier` string, nullable, required — The overtime pay multiplier for this payroll wage item, represented as a decimal string. For example, `"1.5"` represents time-and-a-half pay.
  - `rate` string, nullable, required — The default rate for this payroll wage item, represented as a decimal string. Only one of `rate` and `ratePercent` can be set.
  - `ratePercent` string, nullable, required — The default rate for this payroll wage item expressed as a percentage. Only one of `rate` and `ratePercent` can be set.

## Changes

- **2026-05-02** `1de07095c4b7` — 1 warning
  - the `expenseAccountId` request property's maxLength was set to `36`
- **2026-04-20** `10d4e9ebd1df` — 6 breaking, 1 info
  - response property `overtimeMultiplier` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `rate` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `ratePercent` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - the `expenseAccount` response's property type changed from `object, null` to no type for status `200`
  - …3 more
- **2026-04-20** `8e0b7df2044d` — 5 breaking, 6 info
  - the response property `expenseAccount` became nullable for the status `200`
  - the response property `overtimeMultiplier` became nullable for the status `200`
  - the response property `rate` became nullable for the status `200`
  - the response property `ratePercent` became nullable for the status `200`
  - …7 more
- …earlier changes not shown

[Full history](https://skmtc.dev/conductor-is/apis/conductor-api/changes/quickbooks-desktop/payroll-wage-items/post.md)

---

[API](https://skmtc.dev/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.dev/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
