v48

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-262621423.8 MB

Create an employee

Creates an employee record that captures personal details, contact information, employment dates, and payroll settings in a single request so the employee is ready for scheduling, time tracking, and payroll processing.

post/quickbooks-desktop/employees

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

The ID of the End-User to receive this request.

Request body

isActiveboolean

Indicates whether this employee is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

salutationstring

The employee's formal salutation title that precedes their name, such as "Mr.", "Ms.", or "Dr.".

firstNamestring

The employee's first name.

Maximum length: 25 characters.

middleNamestring

The employee's middle name.

Maximum length: 5 characters.

lastNamestring

The employee's last name.

Maximum length: 25 characters.

jobTitlestring

The employee's job title.

supervisorIdstring

The employee's supervisor. Found in the "employment job details" section of the employee's record in QuickBooks.

departmentstring

The employee's department. Found in the "employment job details" section of the employee's record in QuickBooks.

descriptionstring

A description of this employee. Found in the "employment job details" section of the employee's record in QuickBooks.

targetBonusstring

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.

printAsstring

The name to use when printing this employee from QuickBooks. By default, this is the same as the name field.

phonestring

The employee's primary telephone number.

Maximum length: 21 characters.

mobilestring

The employee's mobile phone number.

Maximum length: 21 characters.

pagerstring

The employee's pager number.

Maximum length: 21 characters.

pagerPinstring

The employee's pager PIN.

alternatePhonestring

The employee's alternate telephone number.

Maximum length: 21 characters.

faxstring

The employee's fax number.

Maximum length: 21 characters.

ssnstring

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.

emailstring

The employee's email address.

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.

gender'male' | 'female'

This employee's gender.

hiredDatestring date

The date this employee was hired, in ISO 8601 format (YYYY-MM-DD).

originalHireDatestring date

The original hire date for this employee, in ISO 8601 format (YYYY-MM-DD).

adjustedServiceDatestring 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.

terminationDatestring 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.

birthDatestring 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.

disabilityDescriptionstring

A description of this employee's disability.

i9OnFileStatus'on_file' | 'not_on_file'

Indicates whether this employee's I-9 is on file.

workAuthorizationExpirationDatestring 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.

accountNumberstring

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.

notestring

A note or comment about this employee.

billingRateIdstring

The employee's billing rate, used to override service item rates in time tracking activities.

externalIdstring uuid

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.

IMPORTANT: This field must be formatted as a valid GUID; otherwise, QuickBooks will return an error.

Example request

{
  "isActive": true,
  "salutation": "Dr.",
  "firstName": "John",
  "middleName": "A.",
  "lastName": "Doe",
  "jobTitle": "Purchasing Manager",
  "supervisorId": "80000001-1234567890",
  "department": "Sales",
  "description": "This employee is a key employee.",
  "targetBonus": "10000.00",
  "address": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States"
  },
  "printAs": "John Doe",
  "phone": "+1-555-123-4567",
  "mobile": "+1-555-555-1212",
  "pager": "+1-555-555-1212",
  "pagerPin": "1234",
  "alternatePhone": "+1-555-987-6543",
  "fax": "+1-555-555-1212",
  "ssn": "123-45-6789",
  "email": "employee@example.com",
  "customContactFields": [
    {
      "name": "Main Phone",
      "value": "555-123-4567"
    }
  ],
  "emergencyContact": {
    "primaryContact": {
      "name": "Main Phone",
      "value": "555-123-4567",
      "relation": "spouse"
    },
    "secondaryContact": {
      "name": "Main Phone",
      "value": "555-123-4567",
      "relation": "spouse"
    }
  },
  "employeeType": "regular",
  "employmentStatus": "full_time",
  "overtimeExemptStatus": "exempt",
  "keyEmployeeStatus": "key_employee",
  "gender": "male",
  "hiredDate": "2024-01-01",
  "originalHireDate": "2024-01-01",
  "adjustedServiceDate": "2024-01-01",
  "terminationDate": "2024-01-01",
  "birthDate": "1990-01-01",
  "usCitizenshipStatus": "citizen",
  "ethnicity": "asian",
  "disabilityStatus": "disabled",
  "disabilityDescription": "Cerebral Palsy",
  "i9OnFileStatus": "on_file",
  "workAuthorizationExpirationDate": "2024-01-01",
  "usVeteranStatus": "veteran",
  "militaryStatus": "active",
  "accountNumber": "1010",
  "note": "This employee is a key employee.",
  "additionalNotes": [
    {
      "note": "This is a fun note."
    }
  ],
  "billingRateId": "80000001-1234567890",
  "employeePayroll": {
    "payPeriod": "weekly",
    "classId": "80000001-1234567890",
    "earnings": [
      {
        "payrollWageItemId": "80000001-1234567890",
        "rate": "10.00",
        "ratePercent": "10.5"
      }
    ],
    "useTimeDataToCreatePaychecks": "uses_time_data",
    "sickHours": {
      "hoursAvailable": "PT8H30M",
      "accrualPeriod": "accrues_per_paycheck",
      "hoursAccruedPerPeriod": "PT8H0M",
      "maximumHours": "PT80H0M",
      "hoursUsed": "PT2H45M",
      "accrualStartDate": "2024-01-01"
    },
    "vacationHours": {
      "hoursAvailable": "PT8H30M",
      "accrualPeriod": "accrues_per_paycheck",
      "hoursAccruedPerPeriod": "PT8H0M",
      "maximumHours": "PT80H0M",
      "hoursUsed": "PT2H45M",
      "accrualStartDate": "2024-01-01"
    }
  },
  "externalId": "12345678-abcd-1234-abcd-1234567890ab"
}

Response

Returns the newly created employee.

idstring 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".

createdAtstring 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.

updatedAtstring 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.

revisionNumberstring 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.

namestring 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.

isActiveboolean required

Indicates whether this employee is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

salutationstring nullable required

The employee's formal salutation title that precedes their name, such as "Mr.", "Ms.", or "Dr.".

firstNamestring nullable required

The employee's first name.

middleNamestring nullable required

The employee's middle name.

lastNamestring nullable required

The employee's last name.

jobTitlestring nullable required

The employee's job title.

departmentstring nullable required

The employee's department. Found in the "employment job details" section of the employee's record in QuickBooks.

descriptionstring nullable required

A description of this employee. Found in the "employment job details" section of the employee's record in QuickBooks.

targetBonusstring 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.

printAsstring nullable required

The name to use when printing this employee from QuickBooks. By default, this is the same as the name field.

phonestring nullable required

The employee's primary telephone number.

mobilestring nullable required

The employee's mobile phone number.

pagerstring nullable required

The employee's pager number.

pagerPinstring nullable required

The employee's pager PIN.

alternatePhonestring nullable required

The employee's alternate telephone number.

faxstring nullable required

The employee's fax number.

ssnstring 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.

emailstring nullable required

The employee's email address.

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.

hiredDatestring date nullable required

The date this employee was hired, in ISO 8601 format (YYYY-MM-DD).

originalHireDatestring date nullable required

The original hire date for this employee, in ISO 8601 format (YYYY-MM-DD).

adjustedServiceDatestring 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.

terminationDatestring 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.

birthDatestring 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.

disabilityDescriptionstring 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.

workAuthorizationExpirationDatestring 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.

accountNumberstring 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.

notestring nullable required

A note or comment about this employee.

externalIdstring 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.

Example response

{
  "id": "80000001-1234567890",
  "objectType": "qbd_employee",
  "createdAt": "2025-01-01T12:34:56+00:00",
  "updatedAt": "2025-02-01T12:34:56+00:00",
  "revisionNumber": "1721172183",
  "name": "John Doe",
  "isActive": true,
  "salutation": "Dr.",
  "firstName": "John",
  "middleName": "A.",
  "lastName": "Doe",
  "jobTitle": "Purchasing Manager",
  "supervisor": {
    "id": "80000001-1234567890",
    "fullName": "John Doe"
  },
  "department": "Sales",
  "description": "This employee is a key employee.",
  "targetBonus": "10000.00",
  "address": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States"
  },
  "printAs": "John Doe",
  "phone": "+1-555-123-4567",
  "mobile": "+1-555-555-1212",
  "pager": "+1-555-555-1212",
  "pagerPin": "1234",
  "alternatePhone": "+1-555-987-6543",
  "fax": "+1-555-555-1212",
  "ssn": "123-45-6789",
  "email": "employee@example.com",
  "customContactFields": [
    {
      "name": "Main Phone",
      "value": "555-123-4567"
    }
  ],
  "emergencyContact": {
    "primaryContact": {
      "name": "Main Phone",
      "value": "555-123-4567",
      "relation": "spouse"
    },
    "secondaryContact": {
      "name": "Main Phone",
      "value": "555-123-4567",
      "relation": "spouse"
    }
  },
  "employeeType": "regular",
  "employmentStatus": "full_time",
  "overtimeExemptStatus": "exempt",
  "keyEmployeeStatus": "key_employee",
  "gender": "male",
  "hiredDate": "2024-01-01",
  "originalHireDate": "2024-01-01",
  "adjustedServiceDate": "2024-01-01",
  "terminationDate": "2024-01-01",
  "birthDate": "1990-01-01",
  "usCitizenshipStatus": "citizen",
  "ethnicity": "asian",
  "disabilityStatus": "disabled",
  "disabilityDescription": "Cerebral Palsy",
  "i9OnFileStatus": "on_file",
  "workAuthorizationExpirationDate": "2024-01-01",
  "usVeteranStatus": "veteran",
  "militaryStatus": "active",
  "accountNumber": "1010",
  "note": "This employee is a key employee.",
  "additionalNotes": [
    {
      "id": 1,
      "date": "2024-01-01",
      "note": "This is a fun note."
    }
  ],
  "billingRate": {
    "id": "80000001-1234567890",
    "fullName": "Standard Rate"
  },
  "employeePayroll": {
    "payPeriod": "weekly",
    "class": {
      "id": "80000001-1234567890",
      "fullName": "Payroll"
    },
    "earnings": [
      {
        "payrollWageItem": {
          "id": "80000001-1234567890",
          "fullName": "Regular Pay"
        },
        "rate": "10.00",
        "ratePercent": "10.5"
      }
    ],
    "useTimeDataToCreatePaychecks": "uses_time_data",
    "sickHours": {
      "hoursAvailable": "PT8H30M",
      "accrualPeriod": "accrues_per_paycheck",
      "hoursAccruedPerPeriod": "PT8H0M",
      "maximumHours": "PT80H0M",
      "hoursUsed": "PT2H45M",
      "accrualStartDate": "2024-01-01"
    },
    "vacationHours": {
      "hoursAvailable": "PT8H30M",
      "accrualPeriod": "accrues_per_paycheck",
      "hoursAccruedPerPeriod": "PT8H0M",
      "maximumHours": "PT80H0M",
      "hoursUsed": "PT2H45M",
      "accrualStartDate": "2024-01-01"
    }
  },
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "customFields": [
    {
      "ownerId": "0",
      "name": "Customer Rating",
      "type": "string_1024_type",
      "value": "Premium"
    }
  ]
}