v48

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-262621423.8 MB

Retrieve a general summary report

Retrieves a QuickBooks Desktop general summary report, such as a balance sheet, profit and loss, trial balance, sales, purchase, inventory, customer balance, vendor balance, sales tax, or income tax summary. This report is useful for aggregated financial or operational totals with optional date periods, filters, calendar settings, and column summarization.

get/quickbooks-desktop/reports/general-summary

Query parameters

reportType'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' required

The general summary report type to retrieve.

Example:balance_sheet_by_class

The general summary report type to retrieve.

reportDateFromstring 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

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.

reportDateTostring 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

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.

reportDateMacro'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'

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

Example:this_year_to_date

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

accountType'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'

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

Example:bank

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

accountIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
accountFullNamesstring[]

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.

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.

[
  "Corporate:Accounts-Payable"
]
entityType'customer' | 'employee' | 'other_name' | 'vendor'

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.

Example:customer

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.

entityIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
entityFullNamesstring[]

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.

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.

[
  "ABC Corporation:Website Redesign Project"
]
itemType'all_except_fixed_asset' | 'assembly' | 'discount' | 'fixed_asset' | 'inventory' | 'inventory_and_assembly' | 'non_inventory' | 'other_charge' | 'payment' | 'sales' | 'sales_tax' | 'service'

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

Example:inventory

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

itemIdsstring[]

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.

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.

[
  "80000001-1234567890"
]
itemFullNamesstring[]

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.

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.

[
  "Services:Consulting"
]
classIdsstring[]

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

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

[
  "80000001-1234567890"
]
classFullNamesstring[]

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.

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.

[
  "Department:Marketing"
]
transactionTypesstring[]

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

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

[
  "invoice",
  "sales_receipt"
]
detailLevel'all' | 'all_except_summary' | 'summary_only'

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.

Example:all_except_summary

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.

postingStatus'either' | 'non_posting' | 'posting'

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

Example:posting

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

updatedAfterstring 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

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

updatedBeforestring 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

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

updatedDateMacro'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'

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

Example:this_month_to_date

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

reportCalendar'calendar_year' | 'fiscal_year' | 'tax_year'

The type of year to use for the report.

Example:calendar_year

The type of year to use for the report.

rowsToReturn'active_only' | 'non_zero' | 'all'

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.

Example:all

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.

columnsToReturn'active_only' | 'non_zero' | 'all'

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.

Example:all

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.

summarizeColumnsBy'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'

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

Example:month

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

includeSubcolumnsboolean

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

Whether to include subcolumns in the report.

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

basis'accrual' | 'cash' | 'none'

The accounting basis to use for the report. Use cash to base income and expenses on when money changes hands, accrual to base them on invoice and bill dates, or none to use the QuickBooks Desktop default for the report.

Example:accrual

The accounting basis to use for the report. Use cash to base income and expenses on when money changes hands, accrual to base them on invoice and bill dates, or none to use the QuickBooks Desktop default for the report.

Headers

Conductor-End-User-Idstring required

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

Example:end_usr_1234567abcdefg

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

Response

Returns the requested general summary report.

objectType'qbd_report' required

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

category'general_summary' | 'general_detail' | 'aging' | 'budget_summary' | 'job' | 'time' | 'custom_detail' | 'custom_summary' | 'payroll_detail' | 'payroll_summary' required

The report category.

reportType'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' required

The report type.

titlestring nullable required

The report title.

subtitlestring nullable required

The report subtitle.

basis'accrual' | 'cash' | 'none' nullable required

The accounting basis.

rowCountnumber nullable required

The number of rows in the report.

columnCountnumber nullable required

The number of columns in the report.

columnTitleRowCountnumber nullable required

The number of title rows for the report columns.

Example response

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