v48

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

Create a vendor

Creates a new vendor.

post/quickbooks-desktop/vendors

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

namestring required

The case-insensitive unique name of this vendor, unique across all vendors.

NOTE: Vendors 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: 41 characters.

isActiveboolean

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

classIdstring

The vendor'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.

companyNamestring

The name of the company associated with this vendor. This name is used on invoices, checks, and other forms.

Maximum length: 41 characters.

salutationstring

The formal salutation title that precedes the name of the contact person for this vendor, such as "Mr.", "Ms.", or "Dr.".

firstNamestring

The first name of the contact person for this vendor.

Maximum length: 25 characters.

middleNamestring

The middle name of the contact person for this vendor.

Maximum length: 5 characters.

lastNamestring

The last name of the contact person for this vendor.

Maximum length: 25 characters.

jobTitlestring

The job title of the contact person for this vendor.

phonestring

The vendor's primary telephone number.

Maximum length: 21 characters.

alternatePhonestring

The vendor's alternate telephone number.

Maximum length: 21 characters.

faxstring

The vendor's fax number.

Maximum length: 21 characters.

emailstring

The vendor's email address.

ccEmailstring

An email address to carbon copy (CC) on communications with this vendor.

contactstring

The name of the primary contact person for this vendor.

alternateContactstring

The name of a alternate contact person for this vendor.

nameOnCheckstring

The vendor's name as it should appear on checks issued to this vendor.

Maximum length: 41 characters.

accountNumberstring

The vendor'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 vendor.

vendorTypeIdstring

The vendor's type, used for categorizing vendors into meaningful segments, such as industry or region.

termsIdstring

The vendor's payment terms, defining when payment is due and any applicable discounts.

creditLimitstring

The vendor's credit limit, represented as a decimal string. This is the maximum amount of money that can be spent being before billed by this vendor. If null, there is no credit limit.

taxIdentificationNumberstring

The vendor's tax identification number (e.g., EIN or SSN).

isEligibleFor1099boolean

Indicates whether this vendor is eligible to receive a 1099 form for tax reporting purposes. When true, then the fields taxId and billingAddress are required.

openingBalancestring

The opening balance of this vendor's account, indicating the amount owed to this vendor, represented as a decimal string.

openingBalanceDatestring date

The date of the opening balance of this vendor, in ISO 8601 format (YYYY-MM-DD).

billingRateIdstring

The vendor'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.

salesTaxCodeIdstring

The default sales-tax code for transactions with this vendor, determining whether the transactions are taxable or non-taxable. This can be overridden at the transaction or transaction-line level.

Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes can also be created in QuickBooks Desktop. If QuickBooks Desktop is not set up to charge sales tax (via the "Do You Charge Sales Tax?" preference), it assigns the default non-taxable sales-tax code configured in the company file to all sales.

salesTaxCountry'australia' | 'canada' | 'uk' | 'us'

The country for which sales tax is collected for this vendor.

isSalesTaxAgencyboolean

Indicates whether this vendor is a sales tax agency.

salesTaxReturnIdstring

The vendor's sales tax return information, used for tracking and reporting sales tax liabilities.

taxRegistrationNumberstring

The vendor's tax registration number, for use in Canada or the UK.

reportingPeriod'monthly' | 'quarterly'

The vendor's tax reporting period, for use in Canada or the UK.

isTrackingPurchaseTaxboolean

Indicates whether tax is tracked on purchases for this vendor, for use in Canada or the UK.

purchaseTaxAccountIdstring

The account used for tracking taxes on purchases for this vendor, for use in Canada or the UK.

isTrackingSalesTaxboolean

Indicates whether tax is tracked on sales for this vendor, for use in Canada or the UK.

salesTaxAccountIdstring

The account used for tracking taxes on sales for this vendor, for use in Canada or the UK.

isCompoundingTaxboolean

Indicates whether tax is charged on top of tax for this vendor, for use in Canada or the UK.

defaultExpenseAccountIdsstring[]

The expense accounts to prefill when entering bills for this vendor.

currencyIdstring

The vendor's currency. For built-in currencies, the name and code are standard ISO 4217 international values. For user-defined currencies, all values are editable.

Example request

{
  "name": "Acme Supplies Inc.",
  "isActive": true,
  "classId": "80000001-1234567890",
  "companyName": "Acme Corporation",
  "salutation": "Dr.",
  "firstName": "John",
  "middleName": "A.",
  "lastName": "Doe",
  "jobTitle": "Purchasing Manager",
  "billingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "shippingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "phone": "+1-555-123-4567",
  "alternatePhone": "+1-555-987-6543",
  "fax": "+1-555-555-1212",
  "email": "vendor@example.com",
  "ccEmail": "manager@example.com",
  "contact": "Jane Smith",
  "alternateContact": "Bob Johnson",
  "customContactFields": [
    {
      "name": "Main Phone",
      "value": "555-123-4567"
    }
  ],
  "additionalContacts": [
    {
      "salutation": "Dr.",
      "firstName": "John",
      "middleName": "A.",
      "lastName": "Doe",
      "jobTitle": "Purchasing Manager",
      "customContactFields": [
        {
          "name": "Main Phone",
          "value": "555-123-4567"
        }
      ]
    }
  ],
  "nameOnCheck": "Acme Supplies Ltd.",
  "accountNumber": "1010",
  "note": "Preferred vendor for office supplies.",
  "additionalNotes": [
    {
      "note": "This is a fun note."
    }
  ],
  "vendorTypeId": "80000001-1234567890",
  "termsId": "80000001-1234567890",
  "creditLimit": "5000.00",
  "taxIdentificationNumber": "12-3456789",
  "isEligibleFor1099": true,
  "openingBalance": "1000.00",
  "openingBalanceDate": "2023-01-01",
  "billingRateId": "80000001-1234567890",
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "salesTaxCodeId": "80000001-1234567890",
  "salesTaxCountry": "us",
  "salesTaxReturnId": "80000001-1234567890",
  "taxRegistrationNumber": "GB123456789",
  "reportingPeriod": "quarterly",
  "isTrackingPurchaseTax": true,
  "purchaseTaxAccountId": "80000001-1234567890",
  "isTrackingSalesTax": true,
  "salesTaxAccountId": "80000001-1234567890",
  "defaultExpenseAccountIds": [
    "80000001-1234567890"
  ],
  "currencyId": "80000001-1234567890"
}

Response

Returns the newly created vendor.

idstring required

The unique identifier assigned by QuickBooks to this vendor. This ID is unique across all vendors but not across different QuickBooks object types.

objectType'qbd_vendor' required

The type of object. This value is always "qbd_vendor".

createdAtstring required

The date and time when this vendor 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 vendor 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 vendor 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 vendor, unique across all vendors.

NOTE: Vendors 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 vendor is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

companyNamestring nullable required

The name of the company associated with this vendor. This name is used on invoices, checks, and other forms.

salutationstring nullable required

The formal salutation title that precedes the name of the contact person for this vendor, such as "Mr.", "Ms.", or "Dr.".

firstNamestring nullable required

The first name of the contact person for this vendor.

middleNamestring nullable required

The middle name of the contact person for this vendor.

lastNamestring nullable required

The last name of the contact person for this vendor.

jobTitlestring nullable required

The job title of the contact person for this vendor.

phonestring nullable required

The vendor's primary telephone number.

alternatePhonestring nullable required

The vendor's alternate telephone number.

faxstring nullable required

The vendor's fax number.

emailstring nullable required

The vendor's email address.

ccEmailstring nullable required

An email address to carbon copy (CC) on communications with this vendor.

contactstring nullable required

The name of the primary contact person for this vendor.

alternateContactstring nullable required

The name of a alternate contact person for this vendor.

nameOnCheckstring nullable required

The vendor's name as it should appear on checks issued to this vendor.

accountNumberstring nullable required

The vendor'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 vendor.

creditLimitstring nullable required

The vendor's credit limit, represented as a decimal string. This is the maximum amount of money that can be spent being before billed by this vendor. If null, there is no credit limit.

taxIdentificationNumberstring nullable required

The vendor's tax identification number (e.g., EIN or SSN).

isEligibleFor1099boolean nullable required

Indicates whether this vendor is eligible to receive a 1099 form for tax reporting purposes. When true, then the fields taxId and billingAddress are required.

balancestring nullable required

The current balance owed to this vendor, represented as a decimal string. A positive number indicates money owed to the vendor.

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.

salesTaxCountrystring nullable required

The country for which sales tax is collected for this vendor.

isSalesTaxAgencyboolean nullable required

Indicates whether this vendor is a sales tax agency.

taxRegistrationNumberstring nullable required

The vendor's tax registration number, for use in Canada or the UK.

reportingPeriod'monthly' | 'quarterly' | 'annual' nullable required

The vendor's tax reporting period, for use in Canada or the UK.

isTrackingPurchaseTaxboolean nullable required

Indicates whether tax is tracked on purchases for this vendor, for use in Canada or the UK.

isTrackingSalesTaxboolean nullable required

Indicates whether tax is tracked on sales for this vendor, for use in Canada or the UK.

isCompoundingTaxboolean nullable required

Indicates whether tax is charged on top of tax for this vendor, for use in Canada or the UK.

Example response

{
  "id": "80000001-1234567890",
  "objectType": "qbd_vendor",
  "createdAt": "2025-01-01T12:34:56+00:00",
  "updatedAt": "2025-02-01T12:34:56+00:00",
  "revisionNumber": "1721172183",
  "name": "Acme Supplies Inc.",
  "isActive": true,
  "class": {
    "id": "80000001-1234567890",
    "fullName": "Suppliers"
  },
  "companyName": "Acme Corporation",
  "salutation": "Dr.",
  "firstName": "John",
  "middleName": "A.",
  "lastName": "Doe",
  "jobTitle": "Purchasing Manager",
  "billingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "shippingAddress": {
    "line1": "Conductor Labs Inc.",
    "line2": "540 Market St.",
    "line3": "Suite 100",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94110",
    "country": "United States",
    "note": "Conductor HQ"
  },
  "phone": "+1-555-123-4567",
  "alternatePhone": "+1-555-987-6543",
  "fax": "+1-555-555-1212",
  "email": "vendor@example.com",
  "ccEmail": "manager@example.com",
  "contact": "Jane Smith",
  "alternateContact": "Bob Johnson",
  "customContactFields": [
    {
      "name": "Main Phone",
      "value": "555-123-4567"
    }
  ],
  "additionalContacts": [
    {
      "id": "80000001-1234567890",
      "objectType": "qbd_contact",
      "createdAt": "2025-01-01T12:34:56+00:00",
      "updatedAt": "2025-02-01T12:34:56+00:00",
      "revisionNumber": "1721172183",
      "name": "Jane Smith",
      "salutation": "Dr.",
      "firstName": "John",
      "middleName": "A.",
      "lastName": "Doe",
      "jobTitle": "Purchasing Manager",
      "customContactFields": [
        {
          "name": "Main Phone",
          "value": "555-123-4567"
        }
      ]
    }
  ],
  "nameOnCheck": "Acme Supplies Ltd.",
  "accountNumber": "1010",
  "note": "Preferred vendor for office supplies.",
  "additionalNotes": [
    {
      "id": 1,
      "date": "2024-01-01",
      "note": "This is a fun note."
    }
  ],
  "vendorType": {
    "id": "80000001-1234567890",
    "fullName": "Wholesale Supplier"
  },
  "terms": {
    "id": "80000001-1234567890",
    "fullName": "Net 30"
  },
  "creditLimit": "5000.00",
  "taxIdentificationNumber": "12-3456789",
  "isEligibleFor1099": true,
  "balance": "1000.00",
  "billingRate": {
    "id": "80000001-1234567890",
    "fullName": "Standard Rate"
  },
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "salesTaxCode": {
    "id": "80000001-1234567890",
    "fullName": "Non"
  },
  "salesTaxCountry": "us",
  "salesTaxReturn": {
    "id": "80000001-1234567890",
    "fullName": "Quarterly Sales Tax Return"
  },
  "taxRegistrationNumber": "GB123456789",
  "reportingPeriod": "quarterly",
  "isTrackingPurchaseTax": true,
  "purchaseTaxAccount": {
    "id": "80000001-1234567890",
    "fullName": "GST Paid"
  },
  "isTrackingSalesTax": true,
  "salesTaxAccount": {
    "id": "80000001-1234567890",
    "fullName": "GST Collected"
  },
  "defaultExpenseAccounts": [
    {
      "id": "80000001-1234567890",
      "fullName": "Expenses:Utilities"
    }
  ],
  "currency": {
    "id": "80000001-1234567890",
    "fullName": "USD"
  },
  "customFields": [
    {
      "ownerId": "0",
      "name": "Customer Rating",
      "type": "string_1024_type",
      "value": "Premium"
    }
  ]
}