---
title: "Update an employee"
method: POST
path: "/quickbooks-desktop/employees/{id}"
---

# Update an employee

`POST /quickbooks-desktop/employees/{id}`

Updates an employee record, allowing you to revise contact details, employment status dates, supervisory assignments, payroll configuration, and additional notes to keep workforce data current.

## Path parameters

- `id` string, required — The QuickBooks-assigned unique identifier of the employee to update.

## Headers

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

## Request body

- object
  - `revisionNumber` string, required — The current QuickBooks-assigned revision number of the employee object you are updating, which you can get by fetching the object first. Provide the most recent `revisionNumber` to ensure you're working with the latest data; otherwise, the update will return an error.
  - `isActive` boolean — Indicates whether this employee is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `salutation` string — The employee's formal salutation title that precedes their name, such as "Mr.", "Ms.", or "Dr.".
  - `firstName` string — The employee's first name. Maximum length: 25 characters.
  - `middleName` string — The employee's middle name. Maximum length: 5 characters.
  - `lastName` string — The employee's last name. Maximum length: 25 characters.
  - `jobTitle` string — The employee's job title.
  - `supervisorId` string — The employee's supervisor. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `department` string — The employee's department. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `description` string — A description of this employee. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `targetBonus` string — The target bonus for this employee, represented as a decimal string. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `address` object — The employee's address. If the company uses QuickBooks Payroll for this employee, this address must specify a complete address, including city, state, ZIP (or postal) code, and at least one line of the street address.
    - `line1` string — The first line of the employee address (e.g., street, PO Box, or company name). Maximum length: 41 characters.
    - `line2` string — The second line of the employee address, if needed (e.g., apartment, suite, unit, or building). Maximum length: 41 characters.
    - `line3` string — The third line of the employee address, if needed. Maximum length: 41 characters.
    - `line4` string — The fourth line of the employee address, if needed. Maximum length: 41 characters.
    - `city` string — The city, district, suburb, town, or village name of the employee address. Maximum length: 31 characters.
    - `state` 'none' | 'armed_forces_americas' | 'armed_forces_europe' | 'armed_forces_pacific' | 'AB' | 'AK' | 'AL' | 'AR' | 'AZ' | 'BC' | 'CA' | 'CO' | 'CT' | 'DC' | 'DE' | 'FL' | 'GA' | 'HI' | 'IA' | 'ID' | 'IL' | 'IN' | 'KS' | 'KY' | 'LA' | 'MA' | 'MB' | 'MD' | 'ME' | 'MI' | 'MN' | 'MO' | 'MS' | 'MT' | 'NB' | 'NC' | 'ND' | 'NE' | 'NH' | 'NJ' | 'NL' | 'NM' | 'NS' | 'NT' | 'NU' | 'NV' | 'NY' | 'OH' | 'OK' | 'ON' | 'OR' | 'PA' | 'PE' | 'PR' | 'QC' | 'RI' | 'SC' | 'SD' | 'SK' | 'TN' | 'TX' | 'UT' | 'VA' | 'VT' | 'WA' | 'WI' | 'WV' | 'WY' | 'YT' — The U.S. state or Canadian province of the employee address. QuickBooks requires this field to be a two-letter abbreviation (e.g., "CA" for California or "ON" for Ontario). See enum for all possible values. QuickBooks may reject values that the connected company file's edition does not support (e.g., a Canadian province on a U.S. company file).
    - `postalCode` string — The postal code or ZIP code of the employee address. Maximum length: 13 characters.
    - `country` string — The country name of the employee address.
  - `printAs` string — The name to use when printing this employee from QuickBooks. By default, this is the same as the `name` field.
  - `phone` string — The employee's primary telephone number. Maximum length: 21 characters.
  - `mobile` string — The employee's mobile phone number. Maximum length: 21 characters.
  - `pager` string — The employee's pager number. Maximum length: 21 characters.
  - `pagerPin` string — The employee's pager PIN.
  - `alternatePhone` string — The employee's alternate telephone number. Maximum length: 21 characters.
  - `fax` string — The employee's fax number. Maximum length: 21 characters.
  - `email` string — The employee's email address.
  - `customContactFields` object[] — Additional custom contact fields for this employee, such as phone numbers or email addresses.
    - `name` string, required — The name of the contact field (e.g., "old address", "secondary phone").
    - `value` string, required — The value of the contact field.
  - `emergencyContact` object — The employee's emergency contacts.
    - `primaryContact` object — The employee's primary emergency contact.
      - `name` string, required — The name of the contact field (e.g., "old address", "secondary phone").
      - `value` string, required — The value of the contact field.
      - `relation` 'brother' | 'daughter' | 'father' | 'friend' | 'mother' | 'other' | 'partner' | 'sister' | 'son' | 'spouse' — The relationship of the employee to the employee.
    - `secondaryContact` object — The employee's secondary emergency contact.
      - `name` string, required — The name of the contact field (e.g., "old address", "secondary phone").
      - `value` string, required — The value of the contact field.
      - `relation` 'brother' | 'daughter' | 'father' | 'friend' | 'mother' | 'other' | 'partner' | 'sister' | 'son' | 'spouse' — The relationship of the employee to the employee.
  - `employeeType` 'officer' | 'owner' | 'regular' | 'statutory' — The employee type. This affects payroll taxes - a statutory employee is defined as an employee by statute. Note that owners/partners are typically on the "Other Names" list in QuickBooks, but if listed as an employee their type will be `owner`.
  - `employmentStatus` 'full_time' | 'part_time' — Indicates whether this employee is a part-time or full-time employee.
  - `overtimeExemptStatus` 'exempt' | 'non_exempt' — Indicates whether this employee is exempt from overtime pay. This classification is based on U.S. labor laws (FLSA).
  - `keyEmployeeStatus` 'key_employee' | 'non_key_employee' — Indicates whether this employee is a key employee.
  - `hiredDate` string, date — The date this employee was hired, in ISO 8601 format (YYYY-MM-DD).
  - `originalHireDate` string, date — The original hire date for this employee, in ISO 8601 format (YYYY-MM-DD).
  - `adjustedServiceDate` string, date — The adjusted service date for this employee, in ISO 8601 format (YYYY-MM-DD). This date accounts for previous employment periods or leaves that affect seniority.
  - `terminationDate` string, date — The date this employee's employment ended with the company, in ISO 8601 format (YYYY-MM-DD). This is also known as the released date or separation date.
  - `birthDate` string, date — This employee's date of birth, in ISO 8601 format (YYYY-MM-DD).
  - `usCitizenshipStatus` 'citizen' | 'non_citizen' — Indicates whether this employee is a U.S. citizen.
  - `ethnicity` 'american_indian' | 'asian' | 'black' | 'hawaiian' | 'hispanic' | 'white' | 'two_or_more_races' — This employee's ethnicity.
  - `disabilityStatus` 'disabled' | 'non_disabled' — Indicates whether this employee is disabled.
  - `disabilityDescription` string — A description of this employee's disability.
  - `i9OnFileStatus` 'on_file' | 'not_on_file' — Indicates whether this employee's I-9 is on file.
  - `workAuthorizationExpirationDate` string, date — The date this employee's work authorization expires, in ISO 8601 format (YYYY-MM-DD).
  - `usVeteranStatus` 'veteran' | 'non_veteran' — Indicates whether this employee is a U.S. veteran.
  - `militaryStatus` 'active' | 'reserve' — This employee's military status if they are a U.S. veteran.
  - `accountNumber` string — The employee's account number, which appears in the QuickBooks chart of accounts, reports, and graphs. Note that if the "Use Account Numbers" preference is turned off in QuickBooks, the account number may not be visible in the user interface, but it can still be set and retrieved through the API.
  - `note` string — A note or comment about this employee.
  - `additionalNotes` object[] — Additional notes about this employee.
    - `id` number, required — The ID of the note to update.
    - `note` string, required — The text of this note.
  - `billingRateId` string — The employee's billing rate, used to override service item rates in time tracking activities.
  - `employeePayroll` object — The employee's payroll information. **IMPORTANT**: QuickBooks Desktop requires the connected app to have personal data access enabled to update this field. If updating this field fails with a personal data permission error, confirm this setting is enabled in QuickBooks Desktop: sign in as Admin in Single-User Mode and go to `Edit > Preferences > Integrated Applications > Company Preferences`, select the app, click `Properties`, then check "Allow this application to access personal data such as Social Security Numbers and customer credit card information".
    - `payPeriod` 'biweekly' | 'daily' | 'monthly' | 'quarterly' | 'semimonthly' | 'weekly' | 'yearly' — How frequently this employee is paid (e.g., weekly, biweekly, monthly). This determines the schedule for generating paychecks.
    - `classId` string — The employee's class. Classes can be used to categorize objects into meaningful segments, such as department, location, or type of work. In QuickBooks, class tracking is off by default.
    - `deleteAllEarnings` boolean — When `true`, deletes all earnings records for this employee.
    - `earnings` object[] — The employee's earnings. **IMPORTANT**: When updating employees, if you include any earnings records in your update request, QuickBooks will delete all existing earnings records for this employee and replace them with the new records you provide. If you do not include any earnings records, the existing earnings records will remain unchanged. To delete all earnings records without adding new ones, set the `deleteAllEarnings` field to `true`.
      - `payrollWageItemId` string, required — The payroll wage item that defines how this employee is paid (e.g., Regular Pay, Overtime Pay). This determines the payment scheme used for payroll calculations.
      - `rate` string — The hourly rate for this employee, represented as a decimal string. Decimal string format: up to 5 decimal places and up to 10 digits before the decimal point (for example, "123.45").
      - `ratePercent` string — The hourly rate for this employee expressed as a percentage.
    - `useTimeDataToCreatePaychecks` 'does_not_use_time_data' | 'not_set' | 'uses_time_data' — Indicates whether this employee is using time-tracking data to create paychecks.
    - `sickHours` object — The employee's sick hours, including how sick time is accrued and the total hours accrued.
      - `hoursAvailable` string — The total number of sick hours currently available for the employee to use, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M. Defaults to 0.
      - `accrualPeriod` 'accrues_annually' | 'accrues_hourly' | 'accrues_per_paycheck' — How frequently the employee's sick hours are accrued.
      - `hoursAccruedPerPeriod` string — The number of sick hours the employee will accrue per accrual period, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `maximumHours` string — The maximum number of sick hours the employee can accrue, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `resetsHoursEachYear` boolean — Indicates whether the employee's sick hours reset to zero at the beginning of the new year.
      - `hoursUsed` string — The number of sick hours the employee has used, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `accrualStartDate` string, date — The date the employee's sick hours began to accrue, in ISO 8601 format (YYYY-MM-DD).
    - `vacationHours` object — The employee's vacation hours, including how vacation time is accrued and the total hours accrued.
      - `hoursAvailable` string — The total number of vacation hours currently available for the employee to use, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M. Defaults to 0.
      - `accrualPeriod` 'accrues_annually' | 'accrues_hourly' | 'accrues_per_paycheck' — How frequently the employee's vacation hours are accrued.
      - `hoursAccruedPerPeriod` string — The number of vacation hours the employee will accrue per accrual period, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `maximumHours` string — The maximum number of vacation hours the employee can accrue, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `resetsHoursEachYear` boolean — Indicates whether the employee's vacation hours reset to zero at the beginning of the new year.
      - `hoursUsed` string — The number of vacation hours the employee has used, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `accrualStartDate` string, date — The date the employee's vacation hours began to accrue, in ISO 8601 format (YYYY-MM-DD).

## Response `200`

Returns the updated employee.

- QbdEmployee
  - `id` string, required — The unique identifier assigned by QuickBooks to this employee. This ID is unique across all employees but not across different QuickBooks object types.
  - `objectType` 'qbd_employee', required — The type of object. This value is always `"qbd_employee"`.
  - `createdAt` string, required — The date and time when this employee 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 employee 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 employee 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 employee, unique across all employees. A concatenation of the employee's `firstName`, `middleName`, and `lastName` fields. **NOTE**: Employees 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 employee is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
  - `salutation` string, nullable, required — The employee's formal salutation title that precedes their name, such as "Mr.", "Ms.", or "Dr.".
  - `firstName` string, nullable, required — The employee's first name.
  - `middleName` string, nullable, required — The employee's middle name.
  - `lastName` string, nullable, required — The employee's last name.
  - `jobTitle` string, nullable, required — The employee's job title.
  - `supervisor` object, nullable, required — The employee's supervisor. Found in the "employment job details" section of the employee's record in QuickBooks.
    - `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.
  - `department` string, nullable, required — The employee's department. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `description` string, nullable, required — A description of this employee. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `targetBonus` string, nullable, required — The target bonus for this employee, represented as a decimal string. Found in the "employment job details" section of the employee's record in QuickBooks.
  - `address` QbdEmployeeAddress, required
    - `line1` string, nullable, required — The first line of the employee address (e.g., street, PO Box, or company name).
    - `line2` string, nullable, required — The second line of the employee address, if needed (e.g., apartment, suite, unit, or building).
    - `line3` string, nullable, required — The third line of the employee address, if needed.
    - `line4` string, nullable, required — The fourth line of the employee address, if needed.
    - `city` string, nullable, required — The city, district, suburb, town, or village name of the employee address.
    - `state` string, nullable, required — The U.S. state or Canadian province of the employee address. QuickBooks requires this field to be a two-letter abbreviation (e.g., "CA" for California or "ON" for Ontario). See enum for all possible values. QuickBooks may reject values that the connected company file's edition does not support (e.g., a Canadian province on a U.S. company file). **NOTE:** This `state` field stays enum-constrained when creating or updating an employee, but we've seen QuickBooks return values outside its own enum in responses, so Conductor surfaces the raw QuickBooks string unchanged instead of enforcing the enum.
    - `postalCode` string, nullable, required — The postal code or ZIP code of the employee address.
    - `country` string, nullable, required — The country name of the employee address.
  - `printAs` string, nullable, required — The name to use when printing this employee from QuickBooks. By default, this is the same as the `name` field.
  - `phone` string, nullable, required — The employee's primary telephone number.
  - `mobile` string, nullable, required — The employee's mobile phone number.
  - `pager` string, nullable, required — The employee's pager number.
  - `pagerPin` string, nullable, required — The employee's pager PIN.
  - `alternatePhone` string, nullable, required — The employee's alternate telephone number.
  - `fax` string, nullable, required — The employee's fax number.
  - `ssn` string, nullable, required — The employee's Social Security Number. The value can be with or without dashes. **NOTE**: This field cannot be changed after the employee is created.
  - `email` string, nullable, required — The employee's email address.
  - `customContactFields` QbdCustomContactField[], required — Additional custom contact fields for this employee, such as phone numbers or email addresses.
    - `name` string, required — The name of the contact field (e.g., "old address", "secondary phone").
    - `value` string, nullable, required — The value of the contact field.
  - `emergencyContact` QbdEmergencyContactSet, required
    - `primaryContact` QbdEmergencyContact, required
      - `name` string, required — The name of the contact field (e.g., "old address", "secondary phone").
      - `value` string, nullable, required — The value of the contact field.
      - `relation` 'brother' | 'daughter' | 'father' | 'friend' | 'mother' | 'other' | 'partner' | 'sister' | 'son' | 'spouse', nullable, required — The relationship of the employee to the employee.
    - `secondaryContact` QbdEmergencyContact, required
      - `name` string, required — The name of the contact field (e.g., "old address", "secondary phone").
      - `value` string, nullable, required — The value of the contact field.
      - `relation` 'brother' | 'daughter' | 'father' | 'friend' | 'mother' | 'other' | 'partner' | 'sister' | 'son' | 'spouse', nullable, required — The relationship of the employee to the employee.
  - `employeeType` 'officer' | 'owner' | 'regular' | 'statutory', nullable, required — The employee type. This affects payroll taxes - a statutory employee is defined as an employee by statute. Note that owners/partners are typically on the "Other Names" list in QuickBooks, but if listed as an employee their type will be `owner`.
  - `employmentStatus` 'full_time' | 'part_time', nullable, required — Indicates whether this employee is a part-time or full-time employee.
  - `overtimeExemptStatus` 'exempt' | 'non_exempt', nullable, required — Indicates whether this employee is exempt from overtime pay. This classification is based on U.S. labor laws (FLSA).
  - `keyEmployeeStatus` 'key_employee' | 'non_key_employee', nullable, required — Indicates whether this employee is a key employee.
  - `gender` 'male' | 'female', nullable, required — This employee's gender.
  - `hiredDate` string, date, nullable, required — The date this employee was hired, in ISO 8601 format (YYYY-MM-DD).
  - `originalHireDate` string, date, nullable, required — The original hire date for this employee, in ISO 8601 format (YYYY-MM-DD).
  - `adjustedServiceDate` string, date, nullable, required — The adjusted service date for this employee, in ISO 8601 format (YYYY-MM-DD). This date accounts for previous employment periods or leaves that affect seniority.
  - `terminationDate` string, date, nullable, required — The date this employee's employment ended with the company, in ISO 8601 format (YYYY-MM-DD). This is also known as the released date or separation date.
  - `birthDate` string, date, nullable, required — This employee's date of birth, in ISO 8601 format (YYYY-MM-DD).
  - `usCitizenshipStatus` 'citizen' | 'non_citizen', nullable, required — Indicates whether this employee is a U.S. citizen.
  - `ethnicity` 'american_indian' | 'asian' | 'black' | 'hawaiian' | 'hispanic' | 'white' | 'two_or_more_races', nullable, required — This employee's ethnicity.
  - `disabilityStatus` 'disabled' | 'non_disabled', nullable, required — Indicates whether this employee is disabled.
  - `disabilityDescription` string, nullable, required — A description of this employee's disability.
  - `i9OnFileStatus` 'on_file' | 'not_on_file', nullable, required — Indicates whether this employee's I-9 is on file.
  - `workAuthorizationExpirationDate` string, date, nullable, required — The date this employee's work authorization expires, in ISO 8601 format (YYYY-MM-DD).
  - `usVeteranStatus` 'veteran' | 'non_veteran', nullable, required — Indicates whether this employee is a U.S. veteran.
  - `militaryStatus` 'active' | 'reserve', nullable, required — This employee's military status if they are a U.S. veteran.
  - `accountNumber` string, nullable, required — The employee's account number, which appears in the QuickBooks chart of accounts, reports, and graphs. Note that if the "Use Account Numbers" preference is turned off in QuickBooks, the account number may not be visible in the user interface, but it can still be set and retrieved through the API.
  - `note` string, nullable, required — A note or comment about this employee.
  - `additionalNotes` QbdNote[], required — Additional notes about this employee.
    - `id` number, required — The auto-incrementing identifier assigned by QuickBooks to this note.
    - `date` string, date, nullable, required — The date this note was last updated, in ISO 8601 format (YYYY-MM-DD).
    - `note` string, required — The text of this note.
  - `billingRate` object, nullable, required — The employee's billing rate, used to override service item rates in time tracking activities.
    - `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.
  - `employeePayroll` QbdEmployeePayrollInfo, required
    - `payPeriod` 'biweekly' | 'daily' | 'monthly' | 'quarterly' | 'semimonthly' | 'weekly' | 'yearly', nullable, required — How frequently this employee is paid (e.g., weekly, biweekly, monthly). This determines the schedule for generating paychecks.
    - `class` object, nullable, required — The employee's class. Classes can be used to categorize objects into meaningful segments, such as department, location, or type of work. In QuickBooks, class tracking is off by default.
      - `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.
    - `earnings` QbdEarnings[], required — The employee's earnings.
      - `payrollWageItem` object, required — The payroll wage item that defines how this employee is paid (e.g., Regular Pay, Overtime Pay). This determines the payment scheme used for payroll calculations.
        - `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.
      - `rate` string, nullable, required — The hourly rate for this employee, represented as a decimal string.
      - `ratePercent` string, nullable, required — The hourly rate for this employee expressed as a percentage.
    - `useTimeDataToCreatePaychecks` 'does_not_use_time_data' | 'not_set' | 'uses_time_data', nullable, required — Indicates whether this employee is using time-tracking data to create paychecks.
    - `sickHours` QbdSickHours, required
      - `hoursAvailable` string, nullable, required — The total number of sick hours currently available for the employee to use, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M. Defaults to 0.
      - `accrualPeriod` 'accrues_annually' | 'accrues_hourly' | 'accrues_per_paycheck', nullable, required — How frequently the employee's sick hours are accrued.
      - `hoursAccruedPerPeriod` string, nullable, required — The number of sick hours the employee will accrue per accrual period, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `maximumHours` string, nullable, required — The maximum number of sick hours the employee can accrue, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `resetsHoursEachYear` boolean, nullable, required — Indicates whether the employee's sick hours reset to zero at the beginning of the new year.
      - `hoursUsed` string, nullable, required — The number of sick hours the employee has used, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `accrualStartDate` string, date, nullable, required — The date the employee's sick hours began to accrue, in ISO 8601 format (YYYY-MM-DD).
    - `vacationHours` QbdVacationHours, required
      - `hoursAvailable` string, nullable, required — The total number of vacation hours currently available for the employee to use, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M. Defaults to 0.
      - `accrualPeriod` 'accrues_annually' | 'accrues_hourly' | 'accrues_per_paycheck', nullable, required — How frequently the employee's vacation hours are accrued.
      - `hoursAccruedPerPeriod` string, nullable, required — The number of vacation hours the employee will accrue per accrual period, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `maximumHours` string, nullable, required — The maximum number of vacation hours the employee can accrue, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `resetsHoursEachYear` boolean, nullable, required — Indicates whether the employee's vacation hours reset to zero at the beginning of the new year.
      - `hoursUsed` string, nullable, required — The number of vacation hours the employee has used, in ISO 8601 format for time intervals (PTnHnMnS). For example, 1 hour and 30 minutes is represented as PT1H30M.
      - `accrualStartDate` string, date, nullable, required — The date the employee's vacation hours began to accrue, in ISO 8601 format (YYYY-MM-DD).
  - `externalId` string, nullable, required — A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.
  - `customFields` QbdCustomField[], required — The custom fields for the employee object, added as user-defined data extensions, not included in the standard QuickBooks object.
    - `ownerId` string, required — The identifier of the owner of the custom field, which QuickBooks internally calls a "data extension". For public custom fields visible in the UI, such as those added by the QuickBooks user, this is always "0". For private custom fields that are only visible to the application that created them, this is a valid GUID identifying the owning application. Internally, Conductor always fetches all public custom fields (those with an `ownerId` of "0") for all objects.
    - `name` string, required — The name of the custom field, unique for the specified `ownerId`. For public custom fields, this name is visible as a label in the QuickBooks UI.
    - `type` 'amount_type' | 'date_time_type' | 'integer_type' | 'percent_type' | 'price_type' | 'quantity_type' | 'string_1024_type' | 'string_255_type', required — The data type of this custom field.
    - `value` string, required — The value of this custom field. The maximum length depends on the field's data type.

---

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