Jobs and customers
Understanding the relationship between customers and jobs in QuickBooks Desktop.
Overview
In QuickBooks Desktop, both “customers” and “jobs” are represented as Customer
objects. Jobs are considered a subset of customers and cannot be queried separately. This data model is a quirk of QuickBooks Desktop and is outside of Conductor’s control.
Differences between jobs and customers
A job in QuickBooks Desktop differs from a customer in the following ways:
-
ParentRef: A job has a
ParentRef
property that points to the parent customer. -
FullName: A job’s
FullName
property is the concatenation of the parent customer’sFullName
and the job’s Name.- Example: If the parent customer’s
FullName
is"Annie's Alligators"
and the job’s Name is"Swamp"
, the job’sFullName
will be"Annie's Alligators:Swamp"
.
- Example: If the parent customer’s
-
Sublevel: A job has a
Sublevel
property set to1
, while the parent customer’sSublevel
property is set to0
.
Querying customers and jobs
To fetch all customers and jobs for a given end-user, use the following query:
If you’re looking for a specific job in QuickBooks Desktop, you must query for the customer and then filter the results to find the job.
To see all of the request parameters and response fields for , check out our client library’s amazing autocomplete.
Fetching objects related to customers’ jobs
Some objects in QuickBooks Desktop, such as SalesOrders, are associated with a customer’s job instead of directly with the customer. In these cases, querying using the EntityFilter.ListID
parameter set to a customer’s ListID
will return no results.
To fetch objects related to a customer’s jobs, use the EntityFilter.ListIDWithChildren
parameter with the customer’s ListID
. This will return the objects corresponding to all of the customer’s jobs. For example:
By using the ListIDWithChildren
parameter, you can effectively query for objects related to a customer’s jobs without having to query for each job individually.