{
  "ListID": "80000001-1693947446",
  "TimeCreated": "2023-09-05T13:57:26-08:00",
  "TimeModified": "2023-10-30T09:23:52-08:00",
  "EditSequence": 1694999639,
  "Name": "Annie's Alligators",
  "FullName": "Annie's Alligators",
  "IsActive": true,
  "Sublevel": 0,
  "Balance": 36293.49,
  "TotalBalance": 36293.49,
  "JobStatus": "None",
  "PreferredDeliveryMethod": "Email"
}
{
  "ListID": "8000000C-1694999962",
  "TimeCreated": "2023-09-17T18:19:22-08:00",
  "TimeModified": "2023-09-17T20:03:41-08:00",
  "EditSequence": 1694999962,
  "Name": "Swamp",
  // For jobs, `FullName` is the concatenation of the
  // parent customer's `FullName` and the job's `Name`.
  "FullName": "Annie's Alligators:Swamp",
  "IsActive": true,
  // `ParentRef` only exists for jobs and points to
  // the parent customer object.
  "ParentRef": {
    "ListID": "80000001-1693947446",
    "FullName": "Annie's Alligators"
  },
  "Sublevel": 1,
  "Balance": 0,
  "TotalBalance": 0,
  "JobStatus": "None",
  "PreferredDeliveryMethod": "Email"
}

In QuickBooks Desktop, an end-user’s “customers” and the individual “jobs” the end-user performs for their customers are both represented as Customer objects. “Jobs” are considered a subset of “customers” but cannot be fetched separately. This is the nature of QuickBooks Desktop and is out of Conductor’s control.

A job differs from a customer in two ways:

  1. It has a ParentRef property that points to the parent customer.

  2. Its FullName property is the concatenation of the parent customer’s FullName and the job’s Name.

    • For example, if the parent customer’s FullName is "Annie's Alligators" and the job’s Name is "Swamp", the job’s FullName will be "Annie's Alligators:Swamp".

For example, the following query fetches all customers and jobs for a given end-user:

Fetching all customers and jobs
const customersAndJobs = await conductor.qbd.customer.query("{{END_USER_ID}}");

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