> ## 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 payroll detail report

> Retrieves a QuickBooks Desktop payroll detail report, including employee state tax detail, payroll item detail, payroll review detail, payroll transaction detail, and payroll transactions by payee. This report is useful for auditing paycheck line items, payroll item usage, tax calculations, and payee-level payroll activity.



## OpenAPI

````yaml GET /quickbooks-desktop/reports/payroll-detail
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/payroll-detail:
    get:
      summary: Retrieve a payroll detail report
      description: >-
        Retrieves a QuickBooks Desktop payroll detail report, including employee
        state tax detail, payroll item detail, payroll review detail, payroll
        transaction detail, and payroll transactions by payee. This report is
        useful for auditing paycheck line items, payroll item usage, tax
        calculations, and payee-level payroll activity.
      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:
              - employee_state_taxes_detail
              - payroll_item_detail
              - payroll_review_detail
              - payroll_transaction_detail
              - payroll_transactions_by_payee
            description: The payroll detail report type to retrieve.
            example: employee_state_taxes_detail
          required: true
          description: The payroll detail 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: accountType
          schema:
            description: >-
              Filter report rows by account type. Choose only one account filter
              per request: `accountType`, `accountIds`, or `accountFullNames`.
            example: bank
            type: string
            enum:
              - 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
          description: >-
            Filter report rows by account type. Choose only one account filter
            per request: `accountType`, `accountIds`, or `accountFullNames`.
        - in: query
          name: accountIds
          schema:
            description: >-
              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`.
            example:
              - 80000001-1234567890
            type: array
            items:
              type: string
          description: >-
            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`.
        - in: query
          name: accountFullNames
          schema:
            description: >-
              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`.
            example:
              - Corporate:Accounts-Payable
            type: array
            items:
              type: string
          description: >-
            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`.
        - in: query
          name: entityType
          schema:
            description: >-
              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
            type: string
            enum:
              - customer
              - employee
              - other_name
              - vendor
          description: >-
            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`.
        - in: query
          name: entityIds
          schema:
            description: >-
              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
            type: array
            items:
              type: string
          description: >-
            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`.
        - in: query
          name: entityFullNames
          schema:
            description: >-
              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
            type: array
            items:
              type: string
          description: >-
            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`.
        - in: query
          name: itemType
          schema:
            description: >-
              Filter report rows by item type. Choose only one item filter per
              request: `itemType`, `itemIds`, or `itemFullNames`.
            example: inventory
            type: string
            enum:
              - all_except_fixed_asset
              - assembly
              - discount
              - fixed_asset
              - inventory
              - inventory_and_assembly
              - non_inventory
              - other_charge
              - payment
              - sales
              - sales_tax
              - service
          description: >-
            Filter report rows by item type. Choose only one item filter per
            request: `itemType`, `itemIds`, or `itemFullNames`.
        - in: query
          name: itemIds
          schema:
            description: >-
              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
            type: array
            items:
              type: string
          description: >-
            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`.
        - in: query
          name: itemFullNames
          schema:
            description: >-
              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
            type: array
            items:
              type: string
          description: >-
            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`.
        - 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: detailLevel
          schema:
            description: >-
              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
            type: string
            enum:
              - all
              - all_except_summary
              - summary_only
            default: all
          description: >-
            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.
        - in: query
          name: postingStatus
          schema:
            description: >-
              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
            type: string
            enum:
              - either
              - non_posting
              - posting
          description: >-
            Filter report rows that are posting, non-posting, or either. Posting
            status refers to whether QuickBooks records the transaction in an
            account register.
        - in: query
          name: updatedAfter
          schema:
            description: >-
              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'
            type: string
            format: date
          description: >-
            Filter report rows updated on or after this date, in ISO 8601 format
            (YYYY-MM-DD). Choose either `updatedDateMacro` or
            `updatedAfter`/`updatedBefore`.
        - in: query
          name: updatedBefore
          schema:
            description: >-
              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'
            type: string
            format: date
          description: >-
            Filter report rows updated on or before this date, in ISO 8601
            format (YYYY-MM-DD). Choose either `updatedDateMacro` or
            `updatedAfter`/`updatedBefore`.
        - in: query
          name: updatedDateMacro
          schema:
            description: >-
              A QuickBooks Desktop relative updated-date macro. Choose either
              `updatedDateMacro` or `updatedAfter`/`updatedBefore`.
            example: this_month_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 updated-date macro. Choose either
            `updatedDateMacro` or `updatedAfter`/`updatedBefore`.
        - in: query
          name: accountsToInclude
          schema:
            description: Whether to include all accounts or only accounts in use.
            example: all
            type: string
            enum:
              - all
              - in_use
          description: Whether to include all accounts or only accounts in use.
        - in: query
          name: openBalanceAsOf
          schema:
            description: >-
              The date through which QuickBooks Desktop calculates open balance
              information.
            example: report_end_date
            type: string
            enum:
              - report_end_date
              - today
            default: today
          description: >-
            The date through which QuickBooks Desktop calculates open balance
            information.
        - in: query
          name: summarizeRowsBy
          schema:
            description: >-
              How QuickBooks Desktop calculates report data and labels report
              rows.
            example: account
            type: string
            enum:
              - 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
              - tax_line
              - terms
              - total_only
              - two_week
              - vendor
              - vendor_type
              - week
              - year
          description: >-
            How QuickBooks Desktop calculates report data and labels report
            rows.
        - in: query
          name: includeColumns
          schema:
            description: >-
              The report columns to include, by column type. Accepts one or more
              columns.


              **IMPORTANT**: When this parameter is present, QuickBooks Desktop
              omits its default report columns unless you include them here.
            example:
              - date
              - transaction_type
              - amount
            type: array
            items:
              type: string
              enum:
                - account
                - aging
                - amount
                - amount_difference
                - average_cost
                - billed_date
                - billing_status
                - calculated_amount
                - class
                - cleared_status
                - cost_price
                - credit
                - currency
                - date
                - debit
                - delivery_date
                - due_date
                - estimate_active
                - exchange_rate
                - shipment_origin
                - income_subject_to_tax
                - invoiced
                - item
                - description
                - last_modified_by
                - latest_or_prior_state
                - memo
                - updated_at
                - name
                - name_account_number
                - name_address
                - name_city
                - name_contact
                - name_email
                - name_fax
                - name_phone
                - name_state
                - name_postal_code
                - open_balance
                - original_amount
                - paid_amount
                - paid_status
                - paid_through_date
                - payment_method
                - payroll_item
                - purchase_order_number
                - print_status
                - progress_amount
                - progress_percent
                - quantity
                - quantity_available
                - quantity_on_hand
                - quantity_on_sales_order
                - received_quantity
                - ref_number
                - running_balance
                - sales_representative
                - sales_tax_code
                - serial_or_lot_number
                - shipping_date
                - shipping_method
                - source_name
                - split_account
                - ssn_or_tax_identification_number
                - tax_line
                - tax_table_version
                - terms
                - transaction_id
                - transaction_number
                - transaction_type
                - unit_price
                - user_edit
                - value_on_hand
                - wage_base
                - wage_base_tips
          description: >-
            The report columns to include, by column type. Accepts one or more
            columns.


            **IMPORTANT**: When this parameter is present, QuickBooks Desktop
            omits its default report columns unless you include them here.
      responses:
        '200':
          description: Returns the requested payroll detail 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.payrollDetail({
              reportType: 'employee_state_taxes_detail',
              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.payroll_detail(
                report_type="employee_state_taxes_detail",
                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}}"`).

````