Skip to main content
GET
/
quickbooks-desktop
/
reports
/
budget-summary
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.budgetSummary({
  fiscalYear: 2026,
  reportType: 'balance_sheet_budget_overview',
  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 budget summary report type to retrieve.

Available options:
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
Example:

"balance_sheet_budget_overview"

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"

fiscalYear
number
required

The fiscal year of the QuickBooks budget. QuickBooks Desktop returns the full fiscal year for prior years and year-to-date data for the current fiscal year.

Example:

2026

budgetCriterion
enum<string>

What the budget covers, such as accounts, accounts and classes, or accounts and customers.

Available options:
accounts,
accounts_and_classes,
accounts_and_customers
Example:

"accounts"

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 budget report columns and labels column headers.

Available options:
class,
customer,
date
Example:

"date"

summarizeRowsBy
enum<string>

How QuickBooks Desktop labels budget report rows.

Available options:
account,
class,
customer
Example:

"account"

Response

200 - application/json

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