Skip to main content
GET
/
quickbooks-desktop
/
reports
/
time
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.time({
  reportType: 'time_by_item',
  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>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.conductor.is/llms.txt

Use this file to discover all available pages before exploring further.

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 time report type to retrieve.

Available options:
time_by_item,
time_by_job_detail,
time_by_job_summary,
time_by_name
Example:

"time_by_item"

reportDateFrom
string<date>

Filter for report data dated on or after this date, in ISO 8601 format (YYYY-MM-DD). This cannot be combined with reportDateMacro. If you omit reportDateFrom, reportDateTo, and reportDateMacro, QuickBooks Desktop uses the current fiscal year to date.

Example:

"2025-01-01"

reportDateTo
string<date>

Filter for report data dated on or before this date, in ISO 8601 format (YYYY-MM-DD). This cannot be combined with reportDateMacro. 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. This cannot be combined with reportDateFrom or 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"

entityType
enum<string>

Filter for report data by entity type, such as customer, vendor, employee, or other name. Use only one entity filter per request.

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

"customer"

entityIds
string[]

Filter for report data by QuickBooks-assigned entity IDs. Repeat this query parameter to include multiple entities. Use only one entity filter per request.

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

Filter for report data 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. Repeat this query parameter to include multiple entities. Use only one entity filter per request.

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

Filter for report data by item type. Use only one item filter per request.

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 for report data by QuickBooks-assigned item IDs. Repeat this query parameter to include multiple items. Use only one item filter per request.

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

Filter for report data 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. Repeat this query parameter to include multiple items. Use only one item filter per request.

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

Filter for report data by QuickBooks-assigned class IDs. Repeat this query parameter to include multiple classes. Use only one class filter per request.

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

Filter for report data 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. Repeat this query parameter to include multiple classes. Use only one class filter per request.

Example:
["Department:Marketing"]
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. QuickBooks Desktop may still omit subcolumns that it can easily compute from other returned values.

Example:

true

reportCalendar
enum<string>

The type of year to use for the report.

Available options:
calendar_year,
fiscal_year,
tax_year
Example:

"calendar_year"

rowsToReturn
enum<string>

Filters which report rows QuickBooks returns. Use active_only for active rows, non_zero for rows with non-zero values, or all for all rows.

Available options:
active_only,
non_zero,
all
Example:

"all"

columnsToReturn
enum<string>

Filters which report columns QuickBooks returns. Use active_only for active columns, non_zero for columns with non-zero values, or all for all columns.

Available options:
active_only,
non_zero,
all
Example:

"all"

Response

200 - application/json

Returns the requested time 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.