> ## 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 sales order

> Retrieves a sales order by ID.

**IMPORTANT:** If you need to fetch multiple specific sales orders by ID, use the list endpoint instead with the `ids` parameter. It accepts an array of IDs so you can batch the request into a single call, which is significantly faster.

NOTE: The response automatically includes any linked transactions.



## OpenAPI

````yaml GET /quickbooks-desktop/sales-orders/{id}
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/sales-orders/{id}:
    get:
      summary: Retrieve a sales order
      description: >-
        Retrieves a sales order by ID.


        **IMPORTANT:** If you need to fetch multiple specific sales orders by
        ID, use the list endpoint instead with the `ids` parameter. It accepts
        an array of IDs so you can batch the request into a single call, which
        is significantly faster.


        NOTE: The response automatically includes any linked transactions.
      parameters:
        - in: path
          name: id
          description: >-
            The QuickBooks-assigned unique identifier of the sales order to
            retrieve.
          schema:
            type: string
            description: >-
              The QuickBooks-assigned unique identifier of the sales order to
              retrieve.
            example: 123ABC-1234567890
          required: true
        - in: header
          name: Conductor-End-User-Id
          description: The ID of the End-User to receive this request.
          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
      responses:
        '200':
          description: Returns the specified sales order.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_sales_order'
      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 salesOrder = await
            conductor.qbd.salesOrders.retrieve('123ABC-1234567890', {
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });


            console.log(salesOrder.id);
        - 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
            )
            sales_order = conductor.qbd.sales_orders.retrieve(
                id="123ABC-1234567890",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(sales_order.id)
components:
  schemas:
    qbd_sales_order:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this sales order.
            This ID is unique across all transaction types.
          example: 123ABC-1234567890
        objectType:
          type: string
          const: qbd_sales_order
          description: The type of object. This value is always `"qbd_sales_order"`.
          example: qbd_sales_order
        createdAt:
          type: string
          description: >-
            The date and time when this sales order was created, in ISO 8601
            format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop
            interprets in the local timezone of the end-user's computer.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this sales order was last updated, in ISO
            8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop
            interprets in the local timezone of the end-user's computer.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this sales order
            object, which changes each time the object is modified. When
            updating this object, you must provide the most recent
            `revisionNumber` to ensure you're working with the latest data;
            otherwise, the update will return an error.
          example: '1721172183'
        customer:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: The customer or customer-job associated with this sales order.
          example:
            id: 80000001-1234567890
            fullName: Acme Corporation
        class:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales order's class. Classes can be used to categorize objects
            into meaningful segments, such as department, location, or type of
            work. In QuickBooks, class tracking is off by default. A class
            defined here is automatically used in this sales order's line items
            unless overridden at the line item level.
          example:
            id: 80000001-1234567890
            fullName: Online Sales
        documentTemplate:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The predefined template in QuickBooks that determines the layout and
            formatting for this sales order when printed or displayed.
          example:
            id: 80000001-1234567890
            fullName: Sales Order Template
        transactionDate:
          type: string
          format: date
          description: The date of this sales order, in ISO 8601 format (YYYY-MM-DD).
          example: '2024-10-01'
        refNumber:
          type:
            - string
            - 'null'
          description: >-
            The case-sensitive user-defined reference number for this sales
            order, which can be used to identify the transaction in QuickBooks.
            This value is not required to be unique and can be arbitrarily
            changed by the QuickBooks user.
          example: SO-1234
        billingAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The sales order's billing address.
        shippingAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The sales order's shipping address.
        purchaseOrderNumber:
          type:
            - string
            - 'null'
          description: >-
            The customer's Purchase Order (PO) number associated with this sales
            order. This field is often used to cross-reference the sales order
            with the customer's purchasing system.
          example: PO-1234
        terms:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales order's payment terms, defining when payment is due and
            any applicable discounts.
          example:
            id: 80000001-1234567890
            fullName: Net 30
        dueDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date by which this sales order must be paid, in ISO 8601 format
            (YYYY-MM-DD).
          example: '2024-10-31'
        salesRepresentative:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales order's sales representative. Sales representatives can be
            employees, vendors, or other names in QuickBooks.
          example:
            id: 80000001-1234567890
            fullName: Jane Doe
        shipmentOrigin:
          type:
            - string
            - 'null'
          description: >-
            The origin location from where the product associated with this
            sales order is shipped. This is the point at which ownership and
            liability for goods transfer from seller to buyer. Internally,
            QuickBooks uses the term "FOB" for this field, which stands for
            "freight on board". This field is informational and has no
            accounting implications.
          example: San Francisco, CA
        shippingDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date when the products or services for this sales order were
            shipped or are expected to be shipped, in ISO 8601 format
            (YYYY-MM-DD).
          example: '2024-10-01'
        shippingMethod:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The shipping method used for this sales order, such as standard mail
            or overnight delivery.
          example:
            id: 80000001-1234567890
            fullName: FedEx Ground
        subtotal:
          type: string
          description: >-
            The subtotal of this sales order, which is the sum of all sales
            order lines before taxes and payments are applied, represented as a
            decimal string.
          example: '1000.00'
        salesTaxItem:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales-tax item used to calculate the actual tax amount for this
            sales order's transactions by applying a specific tax rate collected
            for a single tax agency. Unlike `salesTaxCode`, which only indicates
            general taxability, this field drives the actual tax calculation and
            reporting.
          example:
            id: 80000001-1234567890
            fullName: State Sales Tax
        salesTaxPercentage:
          type:
            - string
            - 'null'
          description: >-
            The sales tax percentage applied to this sales order, represented as
            a decimal string.
          example: '0.07'
        salesTaxTotal:
          type:
            - string
            - 'null'
          description: >-
            The total amount of sales tax charged for this sales order,
            represented as a decimal string.
          example: '10.00'
        totalAmount:
          type: string
          description: >-
            The total monetary amount of this sales order, equivalent to the sum
            of the amounts in `lines` and `lineGroups`, represented as a decimal
            string.
          example: '1000.00'
        currency:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales order's currency. For built-in currencies, the name and
            code are standard ISO 4217 international values. For user-defined
            currencies, all values are editable.
          example:
            id: 80000001-1234567890
            fullName: USD
        exchangeRate:
          type:
            - number
            - 'null'
          description: >-
            The market exchange rate between this sales order's currency and the
            home currency in QuickBooks at the time of this transaction.
            Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD
            if USD is the home currency).
          example: 1.2345
        totalAmountInHomeCurrency:
          type:
            - string
            - 'null'
          description: >-
            The total monetary amount of this sales order converted to the home
            currency of the QuickBooks company file. Represented as a decimal
            string.
          example: '1234.56'
        isManuallyClosed:
          type: boolean
          description: >-
            Indicates whether this sales order has been manually marked as
            closed, even if it has not been invoiced.
          example: true
        isFullyInvoiced:
          type:
            - boolean
            - 'null'
          description: Indicates whether all items in this sales order have been invoiced.
          example: false
        memo:
          type:
            - string
            - 'null'
          description: A memo or note for this sales order.
          example: Customer requested rush delivery
        customerMessage:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: The message to display to the customer on the sales order.
          example:
            id: 80000001-1234567890
            fullName: Thank you for your business!
        isQueuedForPrint:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this sales order is included in the queue of
            documents for QuickBooks to print.
          example: true
        isQueuedForEmail:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this sales order is included in the queue of
            documents for QuickBooks to email to the customer.
          example: true
        salesTaxCode:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales-tax code for this sales order, determining whether it is
            taxable or non-taxable. This can be overridden at the
            transaction-line level.


            Default codes include "Non" (non-taxable) and "Tax" (taxable), but
            custom codes can also be created in QuickBooks. If QuickBooks is not
            set up to charge sales tax (via the "Do You Charge Sales Tax?"
            preference), it will assign the default non-taxable code to all
            sales.
          example:
            id: 80000001-1234567890
            fullName: Non
        otherCustomField:
          type:
            - string
            - 'null'
          description: >-
            A built-in custom field for additional information specific to this
            sales order. Unlike the user-defined fields in the `customFields`
            array, this is a standard QuickBooks field that exists for all sales
            orders for convenience. Developers often use this field for tracking
            information that doesn't fit into other standard QuickBooks fields.
            Unlike `otherCustomField1` and `otherCustomField2`, which are line
            item fields, this exists at the transaction level. Hidden by default
            in the QuickBooks UI.
          example: Special handling required
        externalId:
          type:
            - string
            - 'null'
          description: >-
            A globally unique identifier (GUID) you, the developer, can provide
            for tracking this object in your external system. This field is
            immutable and can only be set during object creation.
          example: 12345678-abcd-1234-abcd-1234567890ab
        linkedTransactions:
          type: array
          items:
            $ref: '#/components/schemas/qbd_linked_transaction'
          description: >-
            The sales order's linked transactions, such as payments applied,
            credits used, or associated purchase orders.


            **IMPORTANT**: You must specify the parameter
            `includeLinkedTransactions` when fetching a list of sales orders to
            receive this field because it is not returned by default.
        lines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_sales_order_line'
          description: >-
            The sales order's line items, each representing a single product or
            service ordered.
        lineGroups:
          type: array
          items:
            $ref: '#/components/schemas/qbd_sales_order_line_group'
          description: >-
            The sales order's line item groups, each representing a predefined
            set of related items.
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the sales order object, added as user-defined
            data extensions, not included in the standard QuickBooks object.
        salesChannelName:
          type:
            - string
            - 'null'
          enum:
            - blank
            - ecommerce
            - null
          description: The type of the sales channel for this sales order.
          example: ecommerce
        salesStoreName:
          type:
            - string
            - 'null'
          description: The name of the sales store for this sales order.
          example: Store 1
        salesStoreType:
          type:
            - string
            - 'null'
          description: The type of the sales store for this sales order.
          example: Retail
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - customer
        - class
        - documentTemplate
        - transactionDate
        - refNumber
        - billingAddress
        - shippingAddress
        - purchaseOrderNumber
        - terms
        - dueDate
        - salesRepresentative
        - shipmentOrigin
        - shippingDate
        - shippingMethod
        - subtotal
        - salesTaxItem
        - salesTaxPercentage
        - salesTaxTotal
        - totalAmount
        - currency
        - exchangeRate
        - totalAmountInHomeCurrency
        - isManuallyClosed
        - isFullyInvoiced
        - memo
        - customerMessage
        - isQueuedForPrint
        - isQueuedForEmail
        - salesTaxCode
        - otherCustomField
        - externalId
        - linkedTransactions
        - lines
        - lineGroups
        - customFields
        - salesChannelName
        - salesStoreName
        - salesStoreType
      additionalProperties: false
      title: The Sales Order object
      x-conductor-object-type: transaction
      summary: >-
        A sales order tracks inventory that is on back order for a customer. In
        QuickBooks, sales orders and invoices use similar fields, and a sales
        order can be "converted" into an invoice (by linking the invoice to the
        sales order) once the inventory is in stock.
    qbd_address:
      type: object
      properties:
        line1:
          type:
            - string
            - 'null'
          description: >-
            The first line of the address (e.g., street, PO Box, or company
            name).
          example: Conductor Labs Inc.
        line2:
          type:
            - string
            - 'null'
          description: >-
            The second line of the address, if needed (e.g., apartment, suite,
            unit, or building).
          example: 540 Market St.
        line3:
          type:
            - string
            - 'null'
          description: The third line of the address, if needed.
          example: Suite 100
        line4:
          type:
            - string
            - 'null'
          description: The fourth line of the address, if needed.
          example: ''
        line5:
          type:
            - string
            - 'null'
          description: The fifth line of the address, if needed.
          example: ''
        city:
          type:
            - string
            - 'null'
          description: The city, district, suburb, town, or village name of the address.
          example: San Francisco
        state:
          type:
            - string
            - 'null'
          description: The state, county, province, or region name of the address.
          example: CA
        postalCode:
          type:
            - string
            - 'null'
          description: The postal code or ZIP code of the address.
          example: '94110'
        country:
          type:
            - string
            - 'null'
          description: The country name of the address.
          example: United States
        note:
          type:
            - string
            - 'null'
          description: >-
            A note written at the bottom of the address in the form in which it
            appears, such as the invoice form.
          example: Conductor HQ
      required:
        - line1
        - line2
        - line3
        - line4
        - line5
        - city
        - state
        - postalCode
        - country
        - note
      additionalProperties: false
      title: The Address object
      x-conductor-object-type: nested
    qbd_linked_transaction:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this linked
            transaction. This ID is unique across all transaction types.
          example: 123ABC-1234567890
        objectType:
          type: string
          const: qbd_linked_transaction
          description: The type of object. This value is always `"qbd_linked_transaction"`.
          example: qbd_linked_transaction
        transactionType:
          type: string
          enum:
            - ar_refund_credit_card
            - bill
            - bill_payment_check
            - bill_payment_credit_card
            - build_assembly
            - charge
            - check
            - credit_card_charge
            - credit_card_credit
            - credit_memo
            - deposit
            - estimate
            - inventory_adjustment
            - invoice
            - item_receipt
            - journal_entry
            - liability_adjustment
            - paycheck
            - payroll_liability_check
            - purchase_order
            - receive_payment
            - sales_order
            - sales_receipt
            - sales_tax_payment_check
            - transfer
            - vendor_credit
            - ytd_adjustment
            - unknown
          description: The type of transaction for this linked transaction.
          example: invoice
        transactionDate:
          type: string
          format: date
          description: >-
            The date of this linked transaction, in ISO 8601 format
            (YYYY-MM-DD).
          example: '2024-10-01'
        refNumber:
          type:
            - string
            - 'null'
          description: >-
            The case-sensitive user-defined reference number for this linked
            transaction, which can be used to identify the transaction in
            QuickBooks. This value is not required to be unique and can be
            arbitrarily changed by the QuickBooks user.
          example: LINK-1234
        linkType:
          type:
            - string
            - 'null'
          enum:
            - amount
            - quantity
            - null
          description: >-
            Indicates the nature of the link between the transactions: `amount`
            denotes an amount-based link (e.g., an invoice linked to a payment),
            and `quantity` denotes a quantity-based link (e.g., an invoice
            created from a sales order based on the quantity of items received).
          example: amount
        amount:
          type:
            - string
            - 'null'
          description: >-
            The monetary amount of this linked transaction, represented as a
            decimal string.
          example: '1000.00'
      required:
        - id
        - objectType
        - transactionType
        - transactionDate
        - refNumber
        - linkType
        - amount
      additionalProperties: false
      title: The Linked Transaction object
      x-conductor-object-type: nested
    qbd_sales_order_line:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this sales order
            line. This ID is unique across all transaction line types.
          example: 456DEF-1234567890
        objectType:
          type: string
          const: qbd_sales_order_line
          description: The type of object. This value is always `"qbd_sales_order_line"`.
          example: qbd_sales_order_line
        item:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The item associated with this sales order line. This can refer to
            any good or service that the business buys or sells, including item
            types such as a service item, inventory item, or special calculation
            item like a discount item or sales-tax item.
          example:
            id: 80000001-1234567890
            fullName: Widget A
        description:
          type:
            - string
            - 'null'
          description: A description of this sales order line.
          example: Widget Model X100 - Blue
        quantity:
          type:
            - number
            - 'null'
          description: >-
            The quantity of the item associated with this sales order line. This
            field cannot be cleared.


            **NOTE**: Do not use this field if the associated item is a discount
            item.
          example: 5
        unitOfMeasure:
          type:
            - string
            - 'null'
          description: >-
            The unit-of-measure used for the `quantity` in this sales order
            line. Must be a valid unit within the item's available units of
            measure.
          example: Each
        overrideUnitOfMeasureSet:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            Specifies an alternative unit-of-measure set when updating this
            sales order line's `unitOfMeasure` field (e.g., "pound" or
            "kilogram"). This allows you to select units from a different set
            than the item's default unit-of-measure set, which remains unchanged
            on the item itself. The override applies only to this specific line.
            For example, you can sell an item typically measured in volume units
            using weight units in a specific transaction by specifying a
            different unit-of-measure set with this field.
          example:
            id: 80000001-1234567890
            fullName: Volume Units
        rate:
          type:
            - string
            - 'null'
          description: >-
            The price per unit for this sales order line. If both `rate` and
            `amount` are specified, `rate` will be ignored. If both `quantity`
            and `amount` are specified but not `rate`, QuickBooks will use them
            to calculate `rate`. Represented as a decimal string. This field
            cannot be cleared.
          example: '10.00'
        ratePercent:
          type:
            - string
            - 'null'
          description: >-
            The price of this sales order line expressed as a percentage.
            Typically used for discount or markup items.
          example: '10.5'
        class:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales order line's class. Classes can be used to categorize
            objects into meaningful segments, such as department, location, or
            type of work. In QuickBooks, class tracking is off by default. If a
            class is specified for the entire parent transaction, it is
            automatically applied to all sales order lines unless overridden
            here, at the transaction line level.
          example:
            id: 80000001-1234567890
            fullName: West-Coast:Sales
        amount:
          type:
            - string
            - 'null'
          description: >-
            The monetary amount of this sales order line, represented as a
            decimal string. If both `quantity` and `rate` are specified but not
            `amount`, QuickBooks will use them to calculate `amount`. If
            `amount`, `rate`, and `quantity` are all unspecified, then
            QuickBooks will calculate `amount` based on a `quantity` of `1` and
            the suggested `rate`. This field cannot be cleared.
          example: '1000.00'
        inventorySite:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The site location where inventory for the item associated with this
            sales order line is stored.
          example:
            id: 80000001-1234567890
            fullName: Main Warehouse
        inventorySiteLocation:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The specific location (e.g., bin or shelf) within the inventory site
            where the item associated with this sales order line is stored.
          example:
            id: 80000001-1234567890
            fullName: Aisle 3, Shelf B
        serialNumber:
          type:
            - string
            - 'null'
          description: >-
            The serial number of the item associated with this sales order line.
            This is used for tracking individual units of serialized inventory
            items.
          example: SN1234567890
        lotNumber:
          type:
            - string
            - 'null'
          description: >-
            The lot number of the item associated with this sales order line.
            Used for tracking groups of inventory items that are purchased or
            manufactured together.
          example: LOT2023-001
        expirationDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The expiration date for the serial number or lot number of the item
            associated with this sales order line, in ISO 8601 format
            (YYYY-MM-DD). This is particularly relevant for perishable or
            time-sensitive inventory items. Note that this field is only
            supported on QuickBooks Desktop 2023 or later.
          example: '2025-12-31'
        salesTaxCode:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales-tax code for this sales order line, determining whether it
            is taxable or non-taxable. If set, this overrides any sales-tax
            codes defined on the parent transaction or the associated item.


            Default codes include "Non" (non-taxable) and "Tax" (taxable), but
            custom codes can also be created in QuickBooks. If QuickBooks is not
            set up to charge sales tax (via the "Do You Charge Sales Tax?"
            preference), it will assign the default non-taxable code to all
            sales.
          example:
            id: 80000001-1234567890
            fullName: Non
        quantityInvoiced:
          type:
            - number
            - 'null'
          description: >-
            The number of units of this sales order line's `quantity` that have
            been invoiced.
          example: 5
        isManuallyClosed:
          type: boolean
          description: >-
            Indicates whether this sales order line has been manually marked as
            closed, even if it has not been invoiced.
          example: true
        otherCustomField1:
          type:
            - string
            - 'null'
          description: >-
            A built-in custom field for additional information specific to this
            sales order line. Unlike the user-defined fields in the
            `customFields` array, this is a standard QuickBooks field that
            exists for all sales order lines for convenience. Developers often
            use this field for tracking information that doesn't fit into other
            standard QuickBooks fields. Hidden by default in the QuickBooks UI.
          example: Special handling required
        otherCustomField2:
          type:
            - string
            - 'null'
          description: >-
            A second built-in custom field for additional information specific
            to this sales order line. Unlike the user-defined fields in the
            `customFields` array, this is a standard QuickBooks field that
            exists for all sales order lines for convenience. Like
            `otherCustomField1`, developers often use this field for tracking
            information that doesn't fit into other standard QuickBooks fields.
            Hidden by default in the QuickBooks UI.
          example: Always ship with a spare
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the sales order line object, added as
            user-defined data extensions, not included in the standard
            QuickBooks object.
      required:
        - id
        - objectType
        - item
        - description
        - quantity
        - unitOfMeasure
        - overrideUnitOfMeasureSet
        - rate
        - ratePercent
        - class
        - amount
        - inventorySite
        - inventorySiteLocation
        - serialNumber
        - lotNumber
        - expirationDate
        - salesTaxCode
        - quantityInvoiced
        - isManuallyClosed
        - otherCustomField1
        - otherCustomField2
        - customFields
      additionalProperties: false
      title: The Sales Order Line object
      x-conductor-object-type: nested
    qbd_sales_order_line_group:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this sales order
            line group. This ID is unique across all transaction line types.
          example: 456DEF-1234567890
        objectType:
          type: string
          const: qbd_sales_order_line_group
          description: >-
            The type of object. This value is always
            `"qbd_sales_order_line_group"`.
          example: qbd_sales_order_line_group
        itemGroup:
          type: object
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales order line group's item group, representing a predefined
            set of items bundled because they are commonly purchased together or
            grouped for faster entry.
          example:
            id: 80000001-1234567890
            fullName: Office Supplies Bundle
        description:
          type:
            - string
            - 'null'
          description: A description of this sales order line group.
          example: Service Bundle 1
        quantity:
          type:
            - number
            - 'null'
          description: >-
            The quantity of the item group associated with this sales order line
            group. This field cannot be cleared.


            **NOTE**: Do not use this field if the associated item group is a
            discount item group.
          example: 5
        unitOfMeasure:
          type:
            - string
            - 'null'
          description: >-
            The unit-of-measure used for the `quantity` in this sales order line
            group. Must be a valid unit within the item's available units of
            measure.
          example: Each
        overrideUnitOfMeasureSet:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            Specifies an alternative unit-of-measure set when updating this
            sales order line group's `unitOfMeasure` field (e.g., "pound" or
            "kilogram"). This allows you to select units from a different set
            than the item's default unit-of-measure set, which remains unchanged
            on the item itself. The override applies only to this specific line.
            For example, you can sell an item typically measured in volume units
            using weight units in a specific transaction by specifying a
            different unit-of-measure set with this field.
          example:
            id: 80000001-1234567890
            fullName: Volume Units
        shouldPrintItemsInGroup:
          type: boolean
          description: >-
            Indicates whether the individual items in this sales order line
            group and their separate amounts appear on printed forms.
          example: true
        totalAmount:
          type: string
          description: >-
            The total monetary amount of this sales order line group, equivalent
            to the sum of the amounts in `lines`, represented as a decimal
            string.
          example: '1000.00'
        lines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_sales_order_line'
          description: >-
            The sales order line group's line items, each representing a single
            product or service ordered.
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the sales order line group object, added as
            user-defined data extensions, not included in the standard
            QuickBooks object.
      required:
        - id
        - objectType
        - itemGroup
        - description
        - quantity
        - unitOfMeasure
        - overrideUnitOfMeasureSet
        - shouldPrintItemsInGroup
        - totalAmount
        - lines
        - customFields
      additionalProperties: false
      title: The Sales Order Line Group object
      x-conductor-object-type: nested
    qbd_custom_field:
      type: object
      properties:
        ownerId:
          type: string
          description: >-
            The identifier of the owner of the custom field, which QuickBooks
            internally calls a "data extension". For public custom fields
            visible in the UI, such as those added by the QuickBooks user, this
            is always "0". For private custom fields that are only visible to
            the application that created them, this is a valid GUID identifying
            the owning application. Internally, Conductor always fetches all
            public custom fields (those with an `ownerId` of "0") for all
            objects.
          example: '0'
        name:
          type: string
          description: >-
            The name of the custom field, unique for the specified `ownerId`.
            For public custom fields, this name is visible as a label in the
            QuickBooks UI.
          example: Customer Rating
        type:
          type: string
          enum:
            - amount_type
            - date_time_type
            - integer_type
            - percent_type
            - price_type
            - quantity_type
            - string_1024_type
            - string_255_type
          description: The data type of this custom field.
          example: string_1024_type
        value:
          type: string
          description: >-
            The value of this custom field. The maximum length depends on the
            field's data type.
          example: Premium
      required:
        - ownerId
        - name
        - type
        - value
      additionalProperties: false
      title: The Custom Field object
      x-conductor-object-type: nested
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````

Built with [Mintlify](https://mintlify.com).