Skip to main content
GET
/
quickbooks-desktop
/
reports
/
job
JavaScript
import Conductor from 'conductor-node';

const conductor = new Conductor({
  apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});

const report = await conductor.qbd.reports.job({
  reportType: 'item_estimates_vs_actuals',
  conductorEndUserId: 'end_usr_1234567abcdefg',
});

console.log(report.basis);
{
  "objectType": "qbd_report",
  "category": "general_summary",
  "reportType": "trial_balance",
  "title": "Trial Balance",
  "subtitle": "As of February 1, 2025",
  "basis": "accrual",
  "rowCount": 7,
  "columnCount": 3,
  "columnTitleRowCount": 2,
  "columns": [
    {
      "columnId": "<string>",
      "columnType": "<string>",
      "dataType": "<string>",
      "titles": [
        {
          "rowNumber": 123,
          "value": "<string>"
        }
      ]
    }
  ],
  "rows": [
    {
      "kind": "<string>",
      "rowNumber": 123,
      "text": "<string>"
    }
  ]
}

Authorizations

Authorization
string
header
required

Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").

Headers

Conductor-End-User-Id
string
required

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

Example:

"end_usr_1234567abcdefg"

Query Parameters

reportType
enum<string>
required

The job report type to retrieve.

Available options:
item_estimates_vs_actuals,
item_profitability,
job_estimates_vs_actuals_detail,
job_estimates_vs_actuals_summary,
job_profitability_detail,
job_profitability_summary
Example:

"item_estimates_vs_actuals"

reportDateFrom
string<date>

Filter report rows dated on or after this date, in ISO 8601 format (YYYY-MM-DD). Choose either reportDateMacro or reportDateFrom/reportDateTo. If you omit reportDateFrom, reportDateTo, and reportDateMacro, QuickBooks Desktop uses the current fiscal year to date.

Example:

"2025-01-01"

reportDateTo
string<date>

Filter report rows dated on or before this date, in ISO 8601 format (YYYY-MM-DD). Choose either reportDateMacro or reportDateFrom/reportDateTo. If you omit reportDateFrom, reportDateTo, and reportDateMacro, QuickBooks Desktop uses the current fiscal year to date.

Example:

"2025-02-01"

reportDateMacro
enum<string>

A QuickBooks Desktop relative date macro for the report period. Choose either reportDateMacro or reportDateFrom/reportDateTo.

Available options:
all,
today,
this_week,
this_week_to_date,
this_month,
this_month_to_date,
this_quarter,
this_quarter_to_date,
this_year,
this_year_to_date,
yesterday,
last_week,
last_week_to_date,
last_month,
last_month_to_date,
last_quarter,
last_quarter_to_date,
last_year,
last_year_to_date,
next_week,
next_four_weeks,
next_month,
next_quarter,
next_year
Example:

"this_year_to_date"

accountType
enum<string>

Filter report rows by account type. Choose only one account filter per request: accountType, accountIds, or accountFullNames.

Available options:
accounts_payable,
accounts_receivable,
allowed_for_1099,
ap_and_sales_tax,
ap_or_credit_card,
ar_and_ap,
asset,
balance_sheet,
bank,
bank_and_ar_and_ap_and_uf,
bank_and_uf,
cost_of_sales,
credit_card,
current_asset,
current_asset_and_expense,
current_liability,
equity,
equity_and_income_and_expense,
expense_and_other_expense,
fixed_asset,
income_and_expense,
income_and_other_income,
liability,
liability_and_equity,
long_term_liability,
non_posting,
ordinary_expense,
ordinary_income,
ordinary_income_and_cogs,
ordinary_income_and_expense,
other_asset,
other_current_asset,
other_current_liability,
other_expense,
other_income,
other_income_or_expense
Example:

"bank"

accountIds
string[]

Filter report rows by QuickBooks-assigned account IDs. Accepts one or more account IDs. Choose only one account filter per request: accountType, accountIds, or accountFullNames.

Example:
["80000001-1234567890"]
accountFullNames
string[]

Filter report rows by account fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more account full names. Choose only one account filter per request: accountType, accountIds, or accountFullNames.

Example:
["Corporate:Accounts-Payable"]
entityType
enum<string>

Filter report rows by entity type, such as customer, vendor, employee, or other name. Choose only one entity filter per request: entityType, entityIds, or entityFullNames.

Available options:
customer,
employee,
other_name,
vendor
Example:

"customer"

entityIds
string[]

Filter report rows by QuickBooks-assigned entity IDs. Accepts one or more entity IDs. Choose only one entity filter per request: entityType, entityIds, or entityFullNames.

Example:
["80000001-1234567890"]
entityFullNames
string[]

Filter report rows by entity fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more entity full names. Choose only one entity filter per request: entityType, entityIds, or entityFullNames.

Example:
["ABC Corporation:Website Redesign Project"]
itemType
enum<string>

Filter report rows by item type. Choose only one item filter per request: itemType, itemIds, or itemFullNames.

Available options:
all_except_fixed_asset,
assembly,
discount,
fixed_asset,
inventory,
inventory_and_assembly,
non_inventory,
other_charge,
payment,
sales,
sales_tax,
service
Example:

"inventory"

itemIds
string[]

Filter report rows by QuickBooks-assigned item IDs. Accepts one or more item IDs. Choose only one item filter per request: itemType, itemIds, or itemFullNames.

Example:
["80000001-1234567890"]
itemFullNames
string[]

Filter report rows by item fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more item full names. Choose only one item filter per request: itemType, itemIds, or itemFullNames.

Example:
["Services:Consulting"]
classIds
string[]

Filter report rows by QuickBooks-assigned class IDs. Accepts one or more class IDs. Choose only one class filter per request: classIds or classFullNames.

Example:
["80000001-1234567890"]
classFullNames
string[]

Filter report rows by class fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more class full names. Choose only one class filter per request: classIds or classFullNames.

Example:
["Department:Marketing"]
transactionTypes
enum<string>[]

Filter report rows by transaction type. Accepts one or more transaction types.

Available options:
all,
ar_refund_credit_card,
bill,
bill_payment_check,
bill_payment_credit_card,
build_assembly,
charge,
check,
credit_card_charge,
credit_card_credit,
credit_memo,
deposit,
estimate,
inventory_adjustment,
invoice,
item_receipt,
journal_entry,
liability_adjustment,
paycheck,
payroll_liability_check,
purchase_order,
receive_payment,
sales_order,
sales_receipt,
sales_tax_payment_check,
transfer,
vendor_credit,
ytd_adjustment
Example:
["invoice", "sales_receipt"]
detailLevel
enum<string>
default:all

The report detail level to include. Use all for all rows, all_except_summary to omit summary rows, or summary_only to return only summary rows.

Available options:
all,
all_except_summary,
summary_only
Example:

"all_except_summary"

postingStatus
enum<string>

Filter report rows that are posting, non-posting, or either. Posting status refers to whether QuickBooks records the transaction in an account register.

Available options:
either,
non_posting,
posting
Example:

"posting"

updatedAfter
string<date>

Filter report rows updated on or after this date, in ISO 8601 format (YYYY-MM-DD). Choose either updatedDateMacro or updatedAfter/updatedBefore.

Example:

"2025-01-01"

updatedBefore
string<date>

Filter report rows updated on or before this date, in ISO 8601 format (YYYY-MM-DD). Choose either updatedDateMacro or updatedAfter/updatedBefore.

Example:

"2025-02-01"

updatedDateMacro
enum<string>

A QuickBooks Desktop relative updated-date macro. Choose either updatedDateMacro or updatedAfter/updatedBefore.

Available options:
all,
today,
this_week,
this_week_to_date,
this_month,
this_month_to_date,
this_quarter,
this_quarter_to_date,
this_year,
this_year_to_date,
yesterday,
last_week,
last_week_to_date,
last_month,
last_month_to_date,
last_quarter,
last_quarter_to_date,
last_year,
last_year_to_date,
next_week,
next_four_weeks,
next_month,
next_quarter,
next_year
Example:

"this_month_to_date"

summarizeColumnsBy
enum<string>

How QuickBooks Desktop calculates report data and labels report column headers.

Available options:
account,
balance_sheet,
class,
customer,
customer_type,
day,
employee,
four_week,
half_month,
income_statement,
item_detail,
item_type,
month,
payee,
payment_method,
payroll_item_detail,
payroll_ytd_detail,
quarter,
sales_representative,
sales_tax_code,
shipping_method,
terms,
total_only,
two_week,
vendor,
vendor_type,
week,
year
Example:

"month"

includeSubcolumns
boolean

Whether to include subcolumns in the report.

NOTE: QuickBooks Desktop may still omit subcolumns that it can easily compute from other returned values.

Example:

true

Response

200 - application/json

Returns the requested job report.

objectType
string
required

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

Allowed value: "qbd_report"
Example:

"qbd_report"

category
enum<string>
required

The report category.

Available options:
general_summary,
general_detail,
aging,
budget_summary,
job,
time,
custom_detail,
custom_summary,
payroll_detail,
payroll_summary
Example:

"general_summary"

reportType
enum<string>
required

The report type.

Available options:
balance_sheet_by_class,
balance_sheet_previous_year_comparison,
balance_sheet_standard,
balance_sheet_summary,
customer_balance_summary,
expense_by_vendor_summary,
income_by_customer_summary,
inventory_stock_status_by_item,
inventory_stock_status_by_vendor,
income_tax_summary,
inventory_valuation_summary,
inventory_valuation_summary_by_site,
lot_number_in_stock_by_site,
physical_inventory_worksheet,
profit_and_loss_by_class,
profit_and_loss_by_job,
profit_and_loss_previous_year_comparison,
profit_and_loss_standard,
profit_and_loss_ytd_comparison,
purchase_by_item_summary,
purchase_by_vendor_summary,
sales_by_customer_summary,
sales_by_item_summary,
sales_by_sales_representative_summary,
sales_tax_liability,
sales_tax_revenue_summary,
serial_number_in_stock_by_site,
trial_balance,
vendor_balance_summary,
1099_detail,
audit_trail,
balance_sheet_detail,
check_detail,
customer_balance_detail,
deposit_detail,
estimates_by_job,
expense_by_vendor_detail,
general_ledger,
income_by_customer_detail,
income_tax_detail,
inventory_valuation_detail,
job_progress_invoices_vs_estimates,
journal,
missing_checks,
open_invoices,
open_purchase_orders,
open_purchase_orders_by_job,
open_sales_order_by_customer,
open_sales_order_by_item,
pending_sales,
profit_and_loss_detail,
purchase_by_item_detail,
purchase_by_vendor_detail,
sales_by_customer_detail,
sales_by_item_detail,
sales_by_sales_representative_detail,
transaction_detail_by_account,
transaction_list_by_customer,
transaction_list_by_date,
transaction_list_by_vendor,
unpaid_bills_detail,
unbilled_costs_by_job,
vendor_balance_detail,
ap_aging_detail,
ap_aging_summary,
ar_aging_detail,
ar_aging_summary,
collections_report,
balance_sheet_budget_overview,
balance_sheet_budget_vs_actual,
profit_and_loss_budget_overview,
profit_and_loss_budget_performance,
profit_and_loss_budget_vs_actual,
item_estimates_vs_actuals,
item_profitability,
job_estimates_vs_actuals_detail,
job_estimates_vs_actuals_summary,
job_profitability_detail,
job_profitability_summary,
time_by_item,
time_by_job_detail,
time_by_job_summary,
time_by_name,
custom_transaction_detail,
custom_summary,
employee_state_taxes_detail,
payroll_item_detail,
payroll_review_detail,
payroll_transaction_detail,
payroll_transactions_by_payee,
employee_earnings_summary,
payroll_liability_balances,
payroll_summary
Example:

"trial_balance"

title
string | null
required

The report title.

Example:

"Trial Balance"

subtitle
string | null
required

The report subtitle.

Example:

"As of February 1, 2025"

basis
enum<string> | null
required

The accounting basis.

Available options:
accrual,
cash,
none
Example:

"accrual"

rowCount
number | null
required

The number of rows in the report.

Example:

7

columnCount
number | null
required

The number of columns in the report.

Example:

3

columnTitleRowCount
number | null
required

The number of title rows for the report columns.

Example:

2

columns
object[]
required

The report columns, in display order. Use each column's columnId to match row cells to columns.

rows
(Text row · object | Data row · object | Subtotal row · object | Total row · object)[]
required

The report rows, in display order. Rows can be text rows, detail data rows, subtotal rows, or total rows.