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

# Update a bill

> Updates an existing vendor bill while keeping the required references intact. QuickBooks does not let this update request add new purchase order links, and you must continue to supply the vendor, accounts payable account, and at least one expense or item line when you resubmit the bill.



## OpenAPI

````yaml POST /quickbooks-desktop/bills/{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/bills/{id}:
    post:
      summary: Update a bill
      description: >-
        Updates an existing vendor bill while keeping the required references
        intact. QuickBooks does not let this update request add new purchase
        order links, and you must continue to supply the vendor, accounts
        payable account, and at least one expense or item line when you resubmit
        the bill.
      parameters:
        - in: path
          name: id
          description: The QuickBooks-assigned unique identifier of the bill to update.
          schema:
            type: string
            description: The QuickBooks-assigned unique identifier of the bill to update.
            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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                revisionNumber:
                  type: string
                  description: >-
                    The current QuickBooks-assigned revision number of the bill
                    object you are updating, which you can get by fetching the
                    object first. Provide the most recent `revisionNumber` to
                    ensure you're working with the latest data; otherwise, the
                    update will return an error.
                  example: '1721172183'
                vendorId:
                  type: string
                  description: >-
                    The vendor who sent this bill for goods or services
                    purchased.
                  example: 80000001-1234567890
                vendorAddress:
                  type: object
                  properties:
                    line1:
                      type: string
                      maxLength: 41
                      description: >-
                        The first line of the address (e.g., street, PO Box, or
                        company name).


                        Maximum length: 41 characters.
                      example: Conductor Labs Inc.
                    line2:
                      type: string
                      maxLength: 41
                      description: >-
                        The second line of the address, if needed (e.g.,
                        apartment, suite, unit, or building).


                        Maximum length: 41 characters.
                      example: 540 Market St.
                    line3:
                      type: string
                      maxLength: 41
                      description: |-
                        The third line of the address, if needed.

                        Maximum length: 41 characters.
                      example: Suite 100
                    line4:
                      type: string
                      maxLength: 41
                      description: |-
                        The fourth line of the address, if needed.

                        Maximum length: 41 characters.
                      example: ''
                    line5:
                      type: string
                      maxLength: 41
                      description: |-
                        The fifth line of the address, if needed.

                        Maximum length: 41 characters.
                      example: ''
                    city:
                      type: string
                      maxLength: 31
                      description: >-
                        The city, district, suburb, town, or village name of the
                        address.


                        Maximum length: 31 characters.
                      example: San Francisco
                    state:
                      type: string
                      maxLength: 21
                      description: >-
                        The state, county, province, or region name of the
                        address.


                        Maximum length: 21 characters.
                      example: CA
                    postalCode:
                      type: string
                      maxLength: 13
                      description: |-
                        The postal code or ZIP code of the address.

                        Maximum length: 13 characters.
                      example: '94110'
                    country:
                      type: string
                      description: The country name of the address.
                      example: United States
                    note:
                      type: string
                      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
                  additionalProperties: false
                  description: The address of the vendor who sent this bill.
                payablesAccountId:
                  type: string
                  description: >-
                    The Accounts-Payable (A/P) account to which this bill is
                    assigned, used to track the amount owed. If not specified,
                    QuickBooks Desktop will use its default A/P account.


                    **IMPORTANT**: If this bill is linked to other transactions,
                    this A/P account must match the `payablesAccount` used in
                    those other transactions.
                  example: 80000001-1234567890
                transactionDate:
                  type: string
                  format: date
                  description: The date of this bill, in ISO 8601 format (YYYY-MM-DD).
                  example: '2024-10-01'
                dueDate:
                  type: string
                  format: date
                  description: >-
                    The date by which this bill must be paid, in ISO 8601 format
                    (YYYY-MM-DD).
                  example: '2024-10-31'
                refNumber:
                  type: string
                  description: >-
                    The case-sensitive user-defined reference number for this
                    bill, 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: BILL-1234
                termsId:
                  type: string
                  description: >-
                    The bill's payment terms, defining when payment is due and
                    any applicable discounts.
                  example: 80000001-1234567890
                memo:
                  type: string
                  description: >-
                    A memo or note for this bill that appears in the
                    Accounts-Payable register and in reports that include this
                    bill.
                  example: Office supplies for September
                salesTaxCodeId:
                  type: string
                  description: >-
                    The sales-tax code for this bill, determining whether it is
                    taxable or non-taxable. If set, this overrides any sales-tax
                    codes defined on the vendor. This can be overridden on the
                    bill's individual lines.


                    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: 80000001-1234567890
                exchangeRate:
                  type: number
                  description: >-
                    The market exchange rate between this bill'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
                clearExpenseLines:
                  type: boolean
                  description: >-
                    When `true`, removes all existing expense lines associated
                    with this bill. To modify or add individual expense lines,
                    use the field `expenseLines` instead.
                  example: false
                expenseLines:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          The QuickBooks-assigned unique identifier of an
                          existing expense line you wish to retain or update.


                          **IMPORTANT**: Set this field to `-1` for new expense
                          lines you wish to add.
                        example: 456DEF-1234567890
                      accountId:
                        type: string
                        description: >-
                          The expense account being debited (increased) for this
                          expense line. The corresponding account being credited
                          is usually a liability account (e.g.,
                          Accounts-Payable) or an asset account (e.g., Cash),
                          depending on the transaction type.
                        example: 80000001-1234567890
                      amount:
                        type: string
                        description: >-
                          The monetary amount of this expense line, represented
                          as a decimal string.
                        example: '1000.00'
                      memo:
                        type: string
                        description: A memo or note for this expense line.
                        example: New office chair
                      payeeId:
                        type: string
                        description: >-
                          If `account` refers to an Accounts-Payable (A/P)
                          account, `payee` refers to the expense's vendor (not
                          the customer). If `account` refers to any other type
                          of account, `payee` refers to the expense's customer
                          (not the vendor).
                        example: 80000001-1234567890
                      classId:
                        type: string
                        description: >-
                          The expense 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 expense lines unless
                          overridden here, at the transaction line level.
                        example: 80000001-1234567890
                      salesTaxCodeId:
                        type: string
                        description: >-
                          The sales-tax code for this expense 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: 80000001-1234567890
                      billingStatus:
                        type: string
                        enum:
                          - billable
                          - has_been_billed
                          - not_billable
                        description: The billing status of this expense line.
                        example: billable
                      salesRepresentativeId:
                        type: string
                        description: >-
                          The expense line's sales representative. Sales
                          representatives can be employees, vendors, or other
                          names in QuickBooks.
                        example: 80000001-1234567890
                    required:
                      - id
                    additionalProperties: false
                  minItems: 1
                  description: >-
                    The bill's expense lines, each representing one line in this
                    expense.


                    **IMPORTANT**:


                    1. Including this array in your update request will
                    **REPLACE** all existing expense lines for the bill with
                    this array. To keep any existing expense lines, you must
                    include them in this array even if they have not changed.
                    **Any expense lines not included will be removed.**


                    2. To add a new expense line, include it here with the `id`
                    field set to `-1`.


                    3. If you do not wish to modify any expense lines, omit this
                    field entirely to keep them unchanged.
                clearItemLines:
                  type: boolean
                  description: >-
                    When `true`, removes all existing item lines associated with
                    this bill. To modify or add individual item lines, use the
                    field `itemLines` instead.
                  example: false
                itemLines:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          The QuickBooks-assigned unique identifier of an
                          existing item line you wish to retain or update.


                          **IMPORTANT**: Set this field to `-1` for new item
                          lines you wish to add.
                        example: 456DEF-1234567890
                      itemId:
                        type: string
                        description: >-
                          The item associated with this item 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: 80000001-1234567890
                      inventorySiteId:
                        type: string
                        description: >-
                          The site location where inventory for the item
                          associated with this item line is stored.
                        example: 80000001-1234567890
                      inventorySiteLocationId:
                        type: string
                        description: >-
                          The specific location (e.g., bin or shelf) within the
                          inventory site where the item associated with this
                          item line is stored.
                        example: 80000001-1234567890
                      serialNumber:
                        type: string
                        description: >-
                          The serial number of the item associated with this
                          item line. This is used for tracking individual units
                          of serialized inventory items.
                        example: SN1234567890
                      lotNumber:
                        type: string
                        description: >-
                          The lot number of the item associated with this item
                          line. Used for tracking groups of inventory items that
                          are purchased or manufactured together.
                        example: LOT2023-001
                      expirationDate:
                        type: string
                        format: date
                        description: >-
                          The expiration date for the serial number or lot
                          number of the item associated with this item 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'
                      description:
                        type: string
                        description: A description of this item line.
                        example: High-quality widget with custom engraving
                      quantity:
                        type: number
                        description: >-
                          The quantity of the item associated with this item
                          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
                        description: >-
                          The unit-of-measure used for the `quantity` in this
                          item line. Must be a valid unit within the item's
                          available units of measure.
                        example: Each
                      overrideUnitOfMeasureSetId:
                        type: string
                        description: >-
                          Specifies an alternative unit-of-measure set when
                          updating this item 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: 80000001-1234567890
                      cost:
                        type: string
                        description: >-
                          The cost of this item line, represented as a decimal
                          string. If both `quantity` and `amount` are specified
                          but not `cost`, QuickBooks will use them to calculate
                          `cost`.
                        example: '1000.00'
                      amount:
                        type: string
                        description: >-
                          The monetary amount of this item line, represented as
                          a decimal string. If both `quantity` and `cost` are
                          specified but not `amount`, QuickBooks will use them
                          to calculate `amount`. If `amount`, `cost`, and
                          `quantity` are all unspecified, then QuickBooks will
                          calculate `amount` based on a `quantity` of `1` and
                          the suggested `cost`. This field cannot be cleared.
                        example: '1000.00'
                      customerId:
                        type: string
                        description: >-
                          The customer or customer-job associated with this item
                          line.
                        example: 80000001-1234567890
                      classId:
                        type: string
                        description: >-
                          The item 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 item lines unless
                          overridden here, at the transaction line level.
                        example: 80000001-1234567890
                      salesTaxCodeId:
                        type: string
                        description: >-
                          The sales-tax code for this item 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: 80000001-1234567890
                      billingStatus:
                        type: string
                        enum:
                          - billable
                          - has_been_billed
                          - not_billable
                        description: The billing status of this item line.
                        example: billable
                      overrideItemAccountId:
                        type: string
                        description: >-
                          The account to use for this item line, overriding the
                          default account associated with the item.
                        example: 80000001-1234567890
                      salesRepresentativeId:
                        type: string
                        description: >-
                          The item line's sales representative. Sales
                          representatives can be employees, vendors, or other
                          names in QuickBooks.
                        example: 80000001-1234567890
                    required:
                      - id
                    additionalProperties: false
                  minItems: 1
                  description: >-
                    The bill's item lines, each representing the purchase of a
                    specific item or service.


                    **IMPORTANT**:


                    1. Including this array in your update request will
                    **REPLACE** all existing item lines for the bill with this
                    array. To keep any existing item lines, you must include
                    them in this array even if they have not changed. **Any item
                    lines not included will be removed.**


                    2. To add a new item line, include it here with the `id`
                    field set to `-1`.


                    3. If you do not wish to modify any item lines, omit this
                    field entirely to keep them unchanged.
                itemGroupLines:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          The QuickBooks-assigned unique identifier of an
                          existing item group line you wish to retain or update.


                          **IMPORTANT**: Set this field to `-1` for new item
                          group lines you wish to add.
                        example: 456DEF-1234567890
                      itemGroupId:
                        type: string
                        description: >-
                          The item group line's item group, representing a
                          predefined set of items bundled because they are
                          commonly purchased together or grouped for faster
                          entry.
                        example: 80000001-1234567890
                      quantity:
                        type: number
                        description: >-
                          The quantity of the item group associated with this
                          item group line. 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
                        description: >-
                          The unit-of-measure used for the `quantity` in this
                          item group line. Must be a valid unit within the
                          item's available units of measure.
                        example: Each
                      overrideUnitOfMeasureSetId:
                        type: string
                        description: >-
                          Specifies an alternative unit-of-measure set when
                          updating this item group 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: 80000001-1234567890
                      itemLines:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: >-
                                The QuickBooks-assigned unique identifier of an
                                existing item line you wish to retain or update.


                                **IMPORTANT**: Set this field to `-1` for new
                                item lines you wish to add.
                              example: 456DEF-1234567890
                            itemId:
                              type: string
                              description: >-
                                The item associated with this item 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: 80000001-1234567890
                            inventorySiteId:
                              type: string
                              description: >-
                                The site location where inventory for the item
                                associated with this item line is stored.
                              example: 80000001-1234567890
                            inventorySiteLocationId:
                              type: string
                              description: >-
                                The specific location (e.g., bin or shelf)
                                within the inventory site where the item
                                associated with this item line is stored.
                              example: 80000001-1234567890
                            serialNumber:
                              type: string
                              description: >-
                                The serial number of the item associated with
                                this item line. This is used for tracking
                                individual units of serialized inventory items.
                              example: SN1234567890
                            lotNumber:
                              type: string
                              description: >-
                                The lot number of the item associated with this
                                item line. Used for tracking groups of inventory
                                items that are purchased or manufactured
                                together.
                              example: LOT2023-001
                            expirationDate:
                              type: string
                              format: date
                              description: >-
                                The expiration date for the serial number or lot
                                number of the item associated with this item
                                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'
                            description:
                              type: string
                              description: A description of this item line.
                              example: High-quality widget with custom engraving
                            quantity:
                              type: number
                              description: >-
                                The quantity of the item associated with this
                                item 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
                              description: >-
                                The unit-of-measure used for the `quantity` in
                                this item line. Must be a valid unit within the
                                item's available units of measure.
                              example: Each
                            overrideUnitOfMeasureSetId:
                              type: string
                              description: >-
                                Specifies an alternative unit-of-measure set
                                when updating this item 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: 80000001-1234567890
                            cost:
                              type: string
                              description: >-
                                The cost of this item line, represented as a
                                decimal string. If both `quantity` and `amount`
                                are specified but not `cost`, QuickBooks will
                                use them to calculate `cost`.
                              example: '1000.00'
                            amount:
                              type: string
                              description: >-
                                The monetary amount of this item line,
                                represented as a decimal string. If both
                                `quantity` and `cost` are specified but not
                                `amount`, QuickBooks will use them to calculate
                                `amount`. If `amount`, `cost`, and `quantity`
                                are all unspecified, then QuickBooks will
                                calculate `amount` based on a `quantity` of `1`
                                and the suggested `cost`. This field cannot be
                                cleared.
                              example: '1000.00'
                            customerId:
                              type: string
                              description: >-
                                The customer or customer-job associated with
                                this item line.
                              example: 80000001-1234567890
                            classId:
                              type: string
                              description: >-
                                The item 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
                                item lines unless overridden here, at the
                                transaction line level.
                              example: 80000001-1234567890
                            salesTaxCodeId:
                              type: string
                              description: >-
                                The sales-tax code for this item 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: 80000001-1234567890
                            billingStatus:
                              type: string
                              enum:
                                - billable
                                - has_been_billed
                                - not_billable
                              description: The billing status of this item line.
                              example: billable
                            overrideItemAccountId:
                              type: string
                              description: >-
                                The account to use for this item line,
                                overriding the default account associated with
                                the item.
                              example: 80000001-1234567890
                            salesRepresentativeId:
                              type: string
                              description: >-
                                The item line's sales representative. Sales
                                representatives can be employees, vendors, or
                                other names in QuickBooks.
                              example: 80000001-1234567890
                          required:
                            - id
                          additionalProperties: false
                        minItems: 1
                        description: >-
                          The item group line's item lines, each representing
                          the purchase of a specific item or service.


                          **IMPORTANT**:


                          1. Including this array in your update request will
                          **REPLACE** all existing item lines for the item group
                          line with this array. To keep any existing item lines,
                          you must include them in this array even if they have
                          not changed. **Any item lines not included will be
                          removed.**


                          2. To add a new item line, include it here with the
                          `id` field set to `-1`.


                          3. If you do not wish to modify any item lines, omit
                          this field entirely to keep them unchanged.
                    required:
                      - id
                    additionalProperties: false
                  minItems: 1
                  description: >-
                    The bill's item group lines, each representing a predefined
                    set of items bundled together because they are commonly
                    purchased together or grouped for faster entry.


                    **IMPORTANT**:


                    1. Including this array in your update request will
                    **REPLACE** all existing item group lines for the bill with
                    this array. To keep any existing item group lines, you must
                    include them in this array even if they have not changed.
                    **Any item group lines not included will be removed.**


                    2. To add a new item group line, include it here with the
                    `id` field set to `-1`.


                    3. If you do not wish to modify any item group lines, omit
                    this field entirely to keep them unchanged.
              required:
                - revisionNumber
              additionalProperties: false
      responses:
        '200':
          description: Returns the updated bill.
          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_bill'
      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 bill = await conductor.qbd.bills.update('123ABC-1234567890', {
              revisionNumber: '1721172183',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(bill.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
            )
            bill = conductor.qbd.bills.update(
                id="123ABC-1234567890",
                revision_number="1721172183",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(bill.id)
components:
  schemas:
    qbd_bill:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this bill. This ID
            is unique across all transaction types.
          example: 123ABC-1234567890
        objectType:
          type: string
          const: qbd_bill
          description: The type of object. This value is always `"qbd_bill"`.
          example: qbd_bill
        createdAt:
          type: string
          description: >-
            The date and time when this bill 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 bill 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 bill 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'
        vendor:
          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 vendor who sent this bill for goods or services purchased.
          example:
            id: 80000001-1234567890
            fullName: Acme Supplies Ltd.
        vendorAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The address of the vendor who sent this bill.
        payablesAccount:
          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 Accounts-Payable (A/P) account to which this bill is assigned,
            used to track the amount owed. If not specified, QuickBooks Desktop
            will use its default A/P account.


            **IMPORTANT**: If this bill is linked to other transactions, this
            A/P account must match the `payablesAccount` used in those other
            transactions.
          example:
            id: 80000001-1234567890
            fullName: Accounts-Payable
        transactionDate:
          type: string
          format: date
          description: The date of this bill, in ISO 8601 format (YYYY-MM-DD).
          example: '2024-10-01'
        dueDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date by which this bill must be paid, in ISO 8601 format
            (YYYY-MM-DD).
          example: '2024-10-31'
        amountDue:
          type:
            - string
            - 'null'
          description: >-
            The total monetary amount due for this bill, represented as a
            decimal string. This equals the sum of the amounts in the bill's
            expense lines, item lines, and item group lines. It also equals
            `openAmount` plus any credits or discounts.
          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 bill'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 bill'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
        amountDueInHomeCurrency:
          type:
            - string
            - 'null'
          description: >-
            The monetary amount due for this bill converted to the home currency
            of the QuickBooks company file. Represented as a decimal string.
          example: '1234.56'
        refNumber:
          type:
            - string
            - 'null'
          description: >-
            The case-sensitive user-defined reference number for this bill,
            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: BILL-1234
        isPending:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this bill has not been completed or is in a draft
            version.
          example: false
        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 bill's payment terms, defining when payment is due and any
            applicable discounts.
          example:
            id: 80000001-1234567890
            fullName: Net 30
        memo:
          type:
            - string
            - 'null'
          description: >-
            A memo or note for this bill that appears in the Accounts-Payable
            register and in reports that include this bill.
          example: Office supplies for September
        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 bill, determining whether it is taxable
            or non-taxable. If set, this overrides any sales-tax codes defined
            on the vendor. This can be overridden on the bill's individual
            lines.


            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
        isPaid:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this bill has been paid in full. When `true`,
            `openAmount` will be 0.
          example: false
        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 bill'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 bills to receive
            this field because it is not returned by default.
        expenseLines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_expense_line'
          description: >-
            The bill's expense lines, each representing one line in this
            expense.
        itemLines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_item_line'
          description: >-
            The bill's item lines, each representing the purchase of a specific
            item or service.
        itemGroupLines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_item_group_line_item'
          description: >-
            The bill's item group lines, each representing a predefined set of
            items bundled together because they are commonly purchased together
            or grouped for faster entry.
        openAmount:
          type:
            - string
            - 'null'
          description: >-
            The remaining amount still owed on this bill, represented as a
            decimal string. This equals the bill's amount minus any credits or
            discounts.


            **NOTE**: This field is almost always present, but due to a known
            QBD bug, it can be absent in rare cases. If you ever encounter
            `openAmount` as `null`, we recommend the following fallback
            procedure: Re-query the bills with `includeLinkedTransactions=true`
            and compute a fallback open amount as `amountDue` minus the sum of
            `linkedTransactions[].amount` for all entries where
            `linkedTransactions[].linkType` is `"amount"`.
          example: '500.00'
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the bill object, added as user-defined data
            extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - vendor
        - vendorAddress
        - payablesAccount
        - transactionDate
        - dueDate
        - amountDue
        - currency
        - exchangeRate
        - amountDueInHomeCurrency
        - refNumber
        - isPending
        - terms
        - memo
        - salesTaxCode
        - isPaid
        - externalId
        - linkedTransactions
        - expenseLines
        - itemLines
        - itemGroupLines
        - openAmount
        - customFields
      additionalProperties: false
      title: The Bill object
      x-conductor-object-type: transaction
      summary: >-
        A bill represents an obligation to pay a vendor for goods or services
        received. It records the amount owed, due date, and payment terms, and
        increases accounts payable. Bills can be partially paid over time and
        may be linked to purchase orders.
    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_expense_line:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this expense line.
            This ID is unique across all transaction line types.
          example: 456DEF-1234567890
        objectType:
          type: string
          const: qbd_expense_line
          description: The type of object. This value is always `"qbd_expense_line"`.
          example: qbd_expense_line
        account:
          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 expense account being debited (increased) for this expense line.
            The corresponding account being credited is usually a liability
            account (e.g., Accounts-Payable) or an asset account (e.g., Cash),
            depending on the transaction type.
          example:
            id: 80000001-1234567890
            fullName: Expenses:Office Supplies
        amount:
          type:
            - string
            - 'null'
          description: >-
            The monetary amount of this expense line, represented as a decimal
            string.
          example: '1000.00'
        memo:
          type:
            - string
            - 'null'
          description: A memo or note for this expense line.
          example: New office chair
        payee:
          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: >-
            If `account` refers to an Accounts-Payable (A/P) account, `payee`
            refers to the expense's vendor (not the customer). If `account`
            refers to any other type of account, `payee` refers to the expense's
            customer (not the vendor).
          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 expense 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 expense lines unless overridden here, at the
            transaction line level.
          example:
            id: 80000001-1234567890
            fullName: Office Supplies
        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 expense 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
        billingStatus:
          type:
            - string
            - 'null'
          enum:
            - billable
            - has_been_billed
            - not_billable
            - null
          description: The billing status of this expense line.
          example: billable
        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 expense line's sales representative. Sales representatives can
            be employees, vendors, or other names in QuickBooks.
          example:
            id: 80000001-1234567890
            fullName: Jane Doe
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the expense line object, added as user-defined
            data extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - account
        - amount
        - memo
        - payee
        - class
        - salesTaxCode
        - billingStatus
        - salesRepresentative
        - customFields
      additionalProperties: false
      title: The Expense Line object
      x-conductor-object-type: nested
    qbd_item_line:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this item line. This
            ID is unique across all transaction line types.
          example: 456DEF-1234567890
        objectType:
          type: string
          const: qbd_item_line
          description: The type of object. This value is always `"qbd_item_line"`.
          example: qbd_item_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 item 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
        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
            item 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 item 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 item 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 item 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 item 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'
        description:
          type:
            - string
            - 'null'
          description: A description of this item line.
          example: High-quality widget with custom engraving
        quantity:
          type:
            - number
            - 'null'
          description: >-
            The quantity of the item associated with this item 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 item 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 item
            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
        cost:
          type:
            - string
            - 'null'
          description: >-
            The cost of this item line, represented as a decimal string. If both
            `quantity` and `amount` are specified but not `cost`, QuickBooks
            will use them to calculate `cost`.
          example: '1000.00'
        amount:
          type:
            - string
            - 'null'
          description: >-
            The monetary amount of this item line, represented as a decimal
            string. If both `quantity` and `cost` are specified but not
            `amount`, QuickBooks will use them to calculate `amount`. If
            `amount`, `cost`, and `quantity` are all unspecified, then
            QuickBooks will calculate `amount` based on a `quantity` of `1` and
            the suggested `cost`. This field cannot be cleared.
          example: '1000.00'
        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 item line.
          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 item 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 item lines unless overridden here, at the transaction
            line level.
          example:
            id: 80000001-1234567890
            fullName: Installation:Residential
        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 item 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
        billingStatus:
          type:
            - string
            - 'null'
          enum:
            - billable
            - has_been_billed
            - not_billable
            - null
          description: The billing status of this item line.
          example: billable
        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 item line's sales representative. Sales representatives can be
            employees, vendors, or other names in QuickBooks.
          example:
            id: 80000001-1234567890
            fullName: Jane Doe
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the item line object, added as user-defined
            data extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - item
        - inventorySite
        - inventorySiteLocation
        - serialNumber
        - lotNumber
        - expirationDate
        - description
        - quantity
        - unitOfMeasure
        - overrideUnitOfMeasureSet
        - cost
        - amount
        - customer
        - class
        - salesTaxCode
        - billingStatus
        - salesRepresentative
        - customFields
      additionalProperties: false
      title: The Item Line object
      x-conductor-object-type: nested
    qbd_item_group_line_item:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this item group
            line. This ID is unique across all transaction line types.
          example: 456DEF-1234567890
        objectType:
          type: string
          const: qbd_item_group_line
          description: The type of object. This value is always `"qbd_item_group_line"`.
          example: qbd_item_group_line
        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 item group line'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 item group line.
          example: Standard widget bulk package
        quantity:
          type:
            - number
            - 'null'
          description: >-
            The quantity of the item group associated with this item group line.
            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 item group 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 item
            group 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
        totalAmount:
          type: string
          description: >-
            The total monetary amount of this item group line, equivalent to the
            sum of the amounts in `lines`, represented as a decimal string.
          example: '1000.00'
        itemLines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_item_line'
          description: >-
            The item group line's item lines, each representing the purchase of
            a specific item or service.
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the item group line object, added as
            user-defined data extensions, not included in the standard
            QuickBooks object.
      required:
        - id
        - objectType
        - itemGroup
        - description
        - quantity
        - unitOfMeasure
        - overrideUnitOfMeasureSet
        - totalAmount
        - itemLines
        - customFields
      additionalProperties: false
      title: The Item Group Line 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).