{
  "ListID": "9000008D-1234567890",
  "Name": "Acme Industries, LLC",
  "CompanyName": "Acme Industries, LLC",
  "NameOnCheck": "Acme Industries, LLC",
  "IsActive": true,
  "Balance": "1250.00",
  "Phone": "555-123-4567",
  "Fax": "555-987-6543",
  "AdditionalContactRef": [
    {
      "ContactName": "Customer Support",
      "ContactValue": "800-555-1234"
    },
    {
      "ContactName": "Sales",
      "ContactValue": "800-555-5678"
    }
  ],
  "VendorAddress": {
    "Addr1": "Acme Industries, LLC",
    "Addr2": "123 Main St.",
    "City": "Anytown",
    "State": "CA",
    "PostalCode": "12345"
  },
  "VendorAddressBlock": {
    "Addr1": "Acme Industries, LLC",
    "Addr2": "123 Main St.",
    "Addr3": "Anytown, CA 12345"
  },
  "TermsRef": {
    "ListID": "90000007-1234567890",
    "FullName": "Net 60"
  },
  "IsVendorEligibleFor1099": true,
  "TimeCreated": "2022-01-01T09:00:00-07:00",
  "TimeModified": "2024-05-02T14:30:00-07:00",
  "EditSequence": "1234567890"
}

A vendor in QuickBooks Desktop is an entity that represents a person, company, or business entity from which a business purchases goods or services. (Banks and tax agencies usually are included on the vendor list.) A company’s vendor list contains information such as account balance and contact information about each vendor. This entity is crucial for tracking and managing expenses and accounts payable.

To see all of the request parameters and response fields for , check out our client library’s amazing autocomplete.

Fetching vendors

It is quite simple to fetch vendors. There are many optional request parameters you can use to filter the results.

Fetching all vendors
const vendors = await conductor.qbd.vendor.query("{{END_USER_ID}}");
Fetching all vendors with a filter
const vendors = await conductor.qbd.vendor.query("{{END_USER_ID}}", {
  NameFilter: {
    MatchCriterion: "StartsWith",
    Name: "Test Vendor",
  },
});

Creating vendors

Creating vendors is also quite simple. There are many optional request parameters available, but the only required one is Name.

Creating a vendor
const vendor = await conductor.qbd.vendor.add("{{END_USER_ID}}", {
  // Create a unique name for testing because QBD requires unique names.
  Name: "Test Vendor " + Date.now(),
});