> ## 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.

# Retrieve a budget summary report

> Retrieves a QuickBooks Desktop budget summary report for Balance Sheet or Profit and Loss budgets, including budget overview, budget versus actual, and performance views. This report compares budgeted amounts against actual activity for a fiscal year and budget criterion; the target budget must already exist in QuickBooks Desktop.



## OpenAPI

````yaml GET /quickbooks-desktop/reports/budget-summary
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/reports/budget-summary:
    get:
      summary: Retrieve a budget summary report
      description: >-
        Retrieves a QuickBooks Desktop budget summary report for Balance Sheet
        or Profit and Loss budgets, including budget overview, budget versus
        actual, and performance views. This report compares budgeted amounts
        against actual activity for a fiscal year and budget criterion; the
        target budget must already exist in QuickBooks Desktop.
      parameters:
        - in: header
          name: Conductor-End-User-Id
          schema:
            type: string
            description: The ID of the End-User to receive this request.
            example: end_usr_1234567abcdefg
            x-stainless-naming:
              typescript:
                method_argument: conductorEndUserId
              mcp:
                method_argument: conductorEndUserId
          required: true
          description: The ID of the End-User to receive this request.
        - in: query
          name: reportType
          schema:
            type: string
            enum:
              - 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
            description: The budget summary report type to retrieve.
            example: balance_sheet_budget_overview
          required: true
          description: The budget summary report type to retrieve.
        - in: query
          name: reportDateFrom
          schema:
            description: >-
              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'
            type: string
            format: date
          description: >-
            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.
        - in: query
          name: reportDateTo
          schema:
            description: >-
              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'
            type: string
            format: date
          description: >-
            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.
        - in: query
          name: reportDateMacro
          schema:
            description: >-
              A QuickBooks Desktop relative date macro for the report period.
              Choose either `reportDateMacro` or
              `reportDateFrom`/`reportDateTo`.
            example: this_year_to_date
            type: string
            enum:
              - 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
          description: >-
            A QuickBooks Desktop relative date macro for the report period.
            Choose either `reportDateMacro` or `reportDateFrom`/`reportDateTo`.
        - in: query
          name: fiscalYear
          schema:
            type: number
            description: >-
              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
          required: true
          description: >-
            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.
        - in: query
          name: budgetCriterion
          schema:
            description: >-
              What the budget covers, such as accounts, accounts and classes, or
              accounts and customers.
            example: accounts
            type: string
            enum:
              - accounts
              - accounts_and_classes
              - accounts_and_customers
          description: >-
            What the budget covers, such as accounts, accounts and classes, or
            accounts and customers.
        - in: query
          name: classIds
          schema:
            description: >-
              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
            type: array
            items:
              type: string
          description: >-
            Filter report rows by QuickBooks-assigned class IDs. Accepts one or
            more class IDs. Choose only one class filter per request: `classIds`
            or `classFullNames`.
        - in: query
          name: classFullNames
          schema:
            description: >-
              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
            type: array
            items:
              type: string
          description: >-
            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`.
        - in: query
          name: summarizeColumnsBy
          schema:
            description: >-
              How QuickBooks Desktop calculates budget report columns and labels
              column headers.
            example: date
            type: string
            enum:
              - class
              - customer
              - date
          description: >-
            How QuickBooks Desktop calculates budget report columns and labels
            column headers.
        - in: query
          name: summarizeRowsBy
          schema:
            description: How QuickBooks Desktop labels budget report rows.
            example: account
            type: string
            enum:
              - account
              - class
              - customer
          description: How QuickBooks Desktop labels budget report rows.
      responses:
        '200':
          description: Returns the requested budget summary report.
          headers:
            Conductor-Request-Id:
              required: true
              description: The unique identifier for this API request.
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_report'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            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);
        - lang: Python
          source: |-
            import os
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            report = conductor.qbd.reports.budget_summary(
                fiscal_year=2026,
                report_type="balance_sheet_budget_overview",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(report.basis)
components:
  schemas:
    qbd_report:
      type: object
      properties:
        objectType:
          type: string
          const: qbd_report
          description: The type of object. This value is always `"qbd_report"`.
          example: qbd_report
        category:
          type: string
          enum:
            - general_summary
            - general_detail
            - aging
            - budget_summary
            - job
            - time
            - custom_detail
            - custom_summary
            - payroll_detail
            - payroll_summary
          description: The report category.
          example: general_summary
        reportType:
          type: string
          enum:
            - 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
          description: The report type.
          example: trial_balance
        title:
          anyOf:
            - type: string
            - type: 'null'
          description: The report title.
          example: Trial Balance
        subtitle:
          anyOf:
            - type: string
            - type: 'null'
          description: The report subtitle.
          example: As of February 1, 2025
        basis:
          anyOf:
            - type: string
              enum:
                - accrual
                - cash
                - none
            - type: 'null'
          description: The accounting basis.
          example: accrual
        rowCount:
          anyOf:
            - type: number
            - type: 'null'
          description: The number of rows in the report.
          example: 7
        columnCount:
          anyOf:
            - type: number
            - type: 'null'
          description: The number of columns in the report.
          example: 3
        columnTitleRowCount:
          anyOf:
            - type: number
            - type: 'null'
          description: The number of title rows for the report columns.
          example: 2
        columns:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The report column identifier. QuickBooks Desktop numbers
                  columns from left to right, starting at 1. Use this value to
                  match row cells to columns.
              columnType:
                type: string
                description: >-
                  The report column type, describing the business meaning of the
                  column, such as `date`, `amount`, or `transaction_type`.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The raw value data type for this column, such as `string`,
                  `amount`, or `date`. This is `null` if QuickBooks Desktop does
                  not provide a data type.
              titles:
                type: array
                items:
                  type: object
                  properties:
                    rowNumber:
                      type: number
                      description: >-
                        The one-based title row number. Reports can have
                        multiple title rows.
                    value:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The title text for this column title row. This is `null`
                        if QuickBooks Desktop does not provide one.
                  required:
                    - rowNumber
                    - value
                  additionalProperties: false
                description: The column title cells. Reports can use multiple title rows.
            required:
              - columnId
              - columnType
              - dataType
              - titles
            additionalProperties: false
          description: >-
            The report columns, in display order. Use each column's `columnId`
            to match row cells to columns.
        rows:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/qbd_report_text_row'
              - $ref: '#/components/schemas/qbd_report_data_row'
              - $ref: '#/components/schemas/qbd_report_subtotal_row'
              - $ref: '#/components/schemas/qbd_report_total_row'
            type: object
            discriminator:
              propertyName: kind
              mapping:
                text:
                  $ref: '#/components/schemas/qbd_report_text_row'
                data:
                  $ref: '#/components/schemas/qbd_report_data_row'
                subtotal:
                  $ref: '#/components/schemas/qbd_report_subtotal_row'
                total:
                  $ref: '#/components/schemas/qbd_report_total_row'
          description: >-
            The report rows, in display order. Rows can be text rows, detail
            data rows, subtotal rows, or total rows.
      required:
        - objectType
        - category
        - reportType
        - title
        - subtitle
        - basis
        - rowCount
        - columnCount
        - columnTitleRowCount
        - columns
        - rows
      additionalProperties: false
      title: The Report object
      x-conductor-object-type: other
      x-conductor-sidebar-group-name: Reports
      summary: >-
        A QuickBooks Desktop report result, including report metadata, column
        definitions, and ordered rows.
    qbd_report_text_row:
      type: object
      properties:
        kind:
          type: string
          const: text
          description: The row kind. This value is always `"text"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        text:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The text row value. Text rows are mainly used for headings. This is
            `null` if QuickBooks Desktop does not provide one.
      required:
        - kind
        - rowNumber
        - text
      additionalProperties: false
      title: Text row
    qbd_report_data_row:
      type: object
      properties:
        kind:
          type: string
          const: data
          description: The row kind. This value is always `"data"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        rowDescriptor:
          anyOf:
            - type: object
              properties:
                type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of row-level descriptor, such as `account`,
                    `customer`, or `vendor`. This is `null` if QuickBooks
                    Desktop does not provide one.
                value:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The row-level descriptor value. This can differ from the
                    first cell value and is `null` if QuickBooks Desktop does
                    not provide one.
              required:
                - type
                - value
              additionalProperties: false
            - type: 'null'
          description: >-
            The row-level descriptor provided by QuickBooks Desktop. This is
            separate from the row's table values in `cells` and is `null` when
            QuickBooks Desktop does not provide one.
        cells:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The column identifier for this cell. This matches a column's
                  `columnId` and refers to the column's left-to-right position
                  in the report.
              value:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The cell value as a QuickBooks Desktop-formatted string. This
                  is `null` if QuickBooks Desktop does not provide a value for
                  the cell.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The value data type for this cell. If QuickBooks Desktop omits
                  the cell data type, this uses the matching column's `dataType`
                  when available.
            required:
              - columnId
              - value
              - dataType
            additionalProperties: false
          description: >-
            The cells in this report row. Report rows are sparse, so cells
            appear only for columns where QuickBooks Desktop returned a value.
      required:
        - kind
        - rowNumber
        - rowDescriptor
        - cells
      additionalProperties: false
      title: Data row
    qbd_report_subtotal_row:
      type: object
      properties:
        kind:
          type: string
          const: subtotal
          description: The row kind. This value is always `"subtotal"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        rowDescriptor:
          anyOf:
            - type: object
              properties:
                type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of row-level descriptor, such as `account`,
                    `customer`, or `vendor`. This is `null` if QuickBooks
                    Desktop does not provide one.
                value:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The row-level descriptor value. This can differ from the
                    first cell value and is `null` if QuickBooks Desktop does
                    not provide one.
              required:
                - type
                - value
              additionalProperties: false
            - type: 'null'
          description: >-
            The row-level descriptor provided by QuickBooks Desktop. This is
            separate from the row's table values in `cells` and is `null` when
            QuickBooks Desktop does not provide one.
        cells:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The column identifier for this cell. This matches a column's
                  `columnId` and refers to the column's left-to-right position
                  in the report.
              value:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The cell value as a QuickBooks Desktop-formatted string. This
                  is `null` if QuickBooks Desktop does not provide a value for
                  the cell.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The value data type for this cell. If QuickBooks Desktop omits
                  the cell data type, this uses the matching column's `dataType`
                  when available.
            required:
              - columnId
              - value
              - dataType
            additionalProperties: false
          description: >-
            The cells in this report row. Report rows are sparse, so cells
            appear only for columns where QuickBooks Desktop returned a value.
      required:
        - kind
        - rowNumber
        - rowDescriptor
        - cells
      additionalProperties: false
      title: Subtotal row
    qbd_report_total_row:
      type: object
      properties:
        kind:
          type: string
          const: total
          description: The row kind. This value is always `"total"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        rowDescriptor:
          anyOf:
            - type: object
              properties:
                type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of row-level descriptor, such as `account`,
                    `customer`, or `vendor`. This is `null` if QuickBooks
                    Desktop does not provide one.
                value:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The row-level descriptor value. This can differ from the
                    first cell value and is `null` if QuickBooks Desktop does
                    not provide one.
              required:
                - type
                - value
              additionalProperties: false
            - type: 'null'
          description: >-
            The row-level descriptor provided by QuickBooks Desktop. This is
            separate from the row's table values in `cells` and is `null` when
            QuickBooks Desktop does not provide one.
        cells:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The column identifier for this cell. This matches a column's
                  `columnId` and refers to the column's left-to-right position
                  in the report.
              value:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The cell value as a QuickBooks Desktop-formatted string. This
                  is `null` if QuickBooks Desktop does not provide a value for
                  the cell.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The value data type for this cell. If QuickBooks Desktop omits
                  the cell data type, this uses the matching column's `dataType`
                  when available.
            required:
              - columnId
              - value
              - dataType
            additionalProperties: false
          description: >-
            The cells in this report row. Report rows are sparse, so cells
            appear only for columns where QuickBooks Desktop returned a value.
      required:
        - kind
        - rowNumber
        - rowDescriptor
        - cells
      additionalProperties: false
      title: Total row
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````