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>"
    }
  ]
}

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 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"

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"]
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

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.