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

# Create a purchase order

> Creates a new purchase order.



## OpenAPI

````yaml POST /quickbooks-desktop/purchase-orders
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/purchase-orders:
    post:
      summary: Create a purchase order
      description: Creates a new purchase order.
      parameters:
        - 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:
                vendorId:
                  type: string
                  description: >-
                    The vendor who sent this purchase order for goods or
                    services purchased.
                  example: 80000001-1234567890
                classId:
                  type: string
                  description: >-
                    The purchase order's class. Classes can be used to
                    categorize objects into meaningful segments, such as
                    department, location, or type of work. In QuickBooks, class
                    tracking is off by default. A class defined here is
                    automatically used in this purchase order's line items
                    unless overridden at the line item level.
                  example: 80000001-1234567890
                inventorySiteId:
                  type: string
                  description: >-
                    The site location where inventory for the item associated
                    with this purchase order is stored.
                  example: 80000001-1234567890
                shipToEntityId:
                  type: string
                  description: >-
                    The customer, vendor, employee, or other entity to whom this
                    purchase order is to be shipped.
                  example: 80000001-1234567890
                documentTemplateId:
                  type: string
                  description: >-
                    The predefined template in QuickBooks that determines the
                    layout and formatting for this purchase order when printed
                    or displayed.
                  example: 80000001-1234567890
                transactionDate:
                  type: string
                  format: date
                  description: >-
                    The date of this purchase order, in ISO 8601 format
                    (YYYY-MM-DD).
                  example: '2024-10-01'
                refNumber:
                  type: string
                  description: >-
                    The case-sensitive user-defined reference number for this
                    purchase order, which can be used to identify the
                    transaction in QuickBooks. This value is not required to be
                    unique and can be arbitrarily changed by the QuickBooks
                    user. When left blank in this create request, this field
                    will be left blank in QuickBooks (i.e., it does *not*
                    auto-increment).
                  example: PO-1234
                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 purchase order.
                shippingAddress:
                  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 purchase order's shipping address.
                termsId:
                  type: string
                  description: >-
                    The purchase order's payment terms, defining when payment is
                    due and any applicable discounts.
                  example: 80000001-1234567890
                dueDate:
                  type: string
                  format: date
                  description: >-
                    The date by which this purchase order must be paid, in ISO
                    8601 format (YYYY-MM-DD).
                  example: '2024-10-31'
                expectedDate:
                  type: string
                  format: date
                  description: >-
                    The date on which shipment of this purchase order is
                    expected to be completed, in ISO 8601 format (YYYY-MM-DD).
                  example: '2024-01-01'
                shippingMethodId:
                  type: string
                  description: >-
                    The shipping method used for this purchase order, such as
                    standard mail or overnight delivery.
                  example: 80000001-1234567890
                shipmentOrigin:
                  type: string
                  description: >-
                    The origin location from where the product associated with
                    this purchase order is shipped. This is the point at which
                    ownership and liability for goods transfer from seller to
                    buyer. Internally, QuickBooks uses the term "FOB" for this
                    field, which stands for "freight on board". This field is
                    informational and has no accounting implications.
                  example: San Francisco, CA
                memo:
                  type: string
                  description: >-
                    A memo or note for this purchase order that appears in
                    reports, but not on the purchase order.
                  example: Office supplies for September
                vendorMessage:
                  type: string
                  description: >-
                    A message to be printed on this purchase order for the
                    vendor to read.
                  example: Please include packing slip with shipment
                isQueuedForPrint:
                  type: boolean
                  description: >-
                    Indicates whether this purchase order is included in the
                    queue of documents for QuickBooks to print.
                  example: true
                isQueuedForEmail:
                  type: boolean
                  description: >-
                    Indicates whether this purchase order is included in the
                    queue of documents for QuickBooks to email to the customer.
                  example: true
                salesTaxCodeId:
                  type: string
                  description: >-
                    The sales-tax code for this purchase order, 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 purchase order'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
                otherCustomField1:
                  type: string
                  description: >-
                    A built-in custom field for additional information specific
                    to this purchase order. Unlike the user-defined fields in
                    the `customFields` array, this is a standard QuickBooks
                    field that exists for all purchase orders for convenience.
                    Developers often use this field for tracking information
                    that doesn't fit into other standard QuickBooks fields.
                    Hidden by default in the QuickBooks UI.
                  example: Special handling required
                otherCustomField2:
                  type: string
                  description: >-
                    A second built-in custom field for additional information
                    specific to this purchase order. Unlike the user-defined
                    fields in the `customFields` array, this is a standard
                    QuickBooks field that exists for all purchase orders for
                    convenience. Like `otherCustomField1`, developers often use
                    this field for tracking information that doesn't fit into
                    other standard QuickBooks fields. Hidden by default in the
                    QuickBooks UI.
                  example: Always ship with a spare
                exchangeRate:
                  type: number
                  description: >-
                    The market exchange rate between this purchase order's
                    currency and the home currency in QuickBooks at the time of
                    this transaction. Represented as a decimal value (e.g.,
                    1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
                  example: 1.2345
                externalId:
                  type: string
                  format: uuid
                  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.


                    **IMPORTANT**: This field must be formatted as a valid GUID;
                    otherwise, QuickBooks will return an error.
                  example: 12345678-abcd-1234-abcd-1234567890ab
                lines:
                  type: array
                  items:
                    type: object
                    properties:
                      itemId:
                        type: string
                        description: >-
                          The item associated with this purchase order line.
                          This can refer to any good or service that the
                          business buys or sells, including item types such as a
                          service item, inventory item, or special calculation
                          item like a discount item or sales-tax item.
                        example: 80000001-1234567890
                      sku:
                        type: string
                        description: >-
                          The purchase order line's stock keeping unit (SKU),
                          which is sometimes the manufacturer's part number.
                        example: MPN-123456
                      description:
                        type: string
                        description: A description of this purchase order line.
                        example: Office chairs - Herman Miller Aeron (Black)
                      quantity:
                        type: number
                        description: >-
                          The quantity of the item associated with this purchase
                          order line. This field cannot be cleared.


                          **NOTE**: Do not use this field if the associated item
                          is a discount item.
                        example: 5
                      unitOfMeasure:
                        type: string
                        description: >-
                          The unit-of-measure used for the `quantity` in this
                          purchase order line. Must be a valid unit within the
                          item's available units of measure.
                        example: Each
                      rate:
                        type: string
                        description: >-
                          The price per unit for this purchase order line. If
                          both `rate` and `amount` are specified, `rate` will be
                          ignored. If both `quantity` and `amount` are specified
                          but not `rate`, QuickBooks will use them to calculate
                          `rate`. Represented as a decimal string. This field
                          cannot be cleared.
                        example: '10.00'
                      classId:
                        type: string
                        description: >-
                          The purchase order line's class. Classes can be used
                          to categorize objects into meaningful segments, such
                          as department, location, or type of work. In
                          QuickBooks, class tracking is off by default. If a
                          class is specified for the entire parent transaction,
                          it is automatically applied to all purchase order
                          lines unless overridden here, at the transaction line
                          level.
                        example: 80000001-1234567890
                      amount:
                        type: string
                        description: >-
                          The monetary amount of this purchase order line,
                          represented as a decimal string. If both `quantity`
                          and `rate` are specified but not `amount`, QuickBooks
                          will use them to calculate `amount`. If `amount`,
                          `rate`, and `quantity` are all unspecified, then
                          QuickBooks will calculate `amount` based on a
                          `quantity` of `1` and the suggested `rate`. This field
                          cannot be cleared.
                        example: '1000.00'
                      inventorySiteLocationId:
                        type: string
                        description: >-
                          The specific location (e.g., bin or shelf) within the
                          inventory site where the item associated with this
                          purchase order line is stored.
                        example: 80000001-1234567890
                      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
                      serviceDate:
                        type: string
                        format: date
                        description: >-
                          The date on which the service for this purchase order
                          line was or will be performed, in ISO 8601 format
                          (YYYY-MM-DD). This is particularly relevant for
                          service items.
                        example: '2024-03-15'
                      salesTaxCodeId:
                        type: string
                        description: >-
                          The sales-tax code for this purchase order line,
                          determining whether it is taxable or non-taxable. If
                          set, this overrides any sales-tax codes defined on the
                          parent transaction or the associated item.


                          Default codes include "Non" (non-taxable) and "Tax"
                          (taxable), but custom codes can also be created in
                          QuickBooks. If QuickBooks is not set up to charge
                          sales tax (via the "Do You Charge Sales Tax?"
                          preference), it will assign the default non-taxable
                          code to all sales.
                        example: 80000001-1234567890
                      overrideItemAccountId:
                        type: string
                        description: >-
                          The account to use for this purchase order line,
                          overriding the default account associated with the
                          item.
                        example: 80000001-1234567890
                      otherCustomField1:
                        type: string
                        description: >-
                          A built-in custom field for additional information
                          specific to this purchase order line. Unlike the
                          user-defined fields in the `customFields` array, this
                          is a standard QuickBooks field that exists for all
                          purchase order lines for convenience. Developers often
                          use this field for tracking information that doesn't
                          fit into other standard QuickBooks fields. Hidden by
                          default in the QuickBooks UI.
                        example: Special handling required
                      otherCustomField2:
                        type: string
                        description: >-
                          A second built-in custom field for additional
                          information specific to this purchase order line.
                          Unlike the user-defined fields in the `customFields`
                          array, this is a standard QuickBooks field that exists
                          for all purchase order lines for convenience. Like
                          `otherCustomField1`, developers often use this field
                          for tracking information that doesn't fit into other
                          standard QuickBooks fields. Hidden by default in the
                          QuickBooks UI.
                        example: Always ship with a spare
                      customFields:
                        type: array
                        items:
                          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
                            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
                            - value
                          additionalProperties: false
                        minItems: 1
                        description: >-
                          The custom fields for the purchase order line object,
                          added as user-defined data extensions, not included in
                          the standard QuickBooks object.
                    additionalProperties: false
                  minItems: 1
                  description: >-
                    The purchase order's line items, each representing a single
                    product or service ordered.


                    **IMPORTANT**: You must specify `lines`, `lineGroups`, or
                    both when creating a purchase order.
                lineGroups:
                  type: array
                  items:
                    type: object
                    properties:
                      itemGroupId:
                        type: string
                        description: >-
                          The purchase order line group's item group,
                          representing a predefined set of items bundled because
                          they are commonly purchased together or grouped for
                          faster entry.
                        example: 80000001-1234567890
                      quantity:
                        type: number
                        description: >-
                          The quantity of the item group associated with this
                          purchase order line group. This field cannot be
                          cleared.


                          **NOTE**: Do not use this field if the associated item
                          group is a discount item group.
                        example: 5
                      unitOfMeasure:
                        type: string
                        description: >-
                          The unit-of-measure used for the `quantity` in this
                          purchase order line group. Must be a valid unit within
                          the item's available units of measure.
                        example: Each
                      serviceDate:
                        type: string
                        format: date
                        description: >-
                          The date on which the service for this purchase order
                          line group was or will be performed, in ISO 8601
                          format (YYYY-MM-DD). This is particularly relevant for
                          service items.
                        example: '2024-03-15'
                      inventorySiteLocationId:
                        type: string
                        description: >-
                          The specific location (e.g., bin or shelf) within the
                          inventory site where the item group associated with
                          this purchase order line group is stored.
                        example: 80000001-1234567890
                      customFields:
                        type: array
                        items:
                          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
                            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
                            - value
                          additionalProperties: false
                        minItems: 1
                        description: >-
                          The custom fields for the purchase order line group
                          object, added as user-defined data extensions, not
                          included in the standard QuickBooks object.
                    required:
                      - itemGroupId
                    additionalProperties: false
                  minItems: 1
                  description: >-
                    The purchase order's line item groups, each representing a
                    predefined set of related items.


                    **IMPORTANT**: You must specify `lines`, `lineGroups`, or
                    both when creating a purchase order.
              required:
                - transactionDate
              additionalProperties: false
      responses:
        '200':
          description: Returns the newly created purchase order.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_purchase_order'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Conductor from 'conductor-node';

            const conductor = new Conductor({
              apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
            });

            const purchaseOrder = await conductor.qbd.purchaseOrders.create({
              transactionDate: '2024-10-01',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(purchaseOrder.id);
        - lang: Python
          source: |-
            import os
            from datetime import date
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            purchase_order = conductor.qbd.purchase_orders.create(
                transaction_date=date.fromisoformat("2024-10-01"),
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(purchase_order.id)
components:
  schemas:
    qbd_purchase_order:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this purchase order.
            This ID is unique across all transaction types.
          example: 123ABC-1234567890
        objectType:
          type: string
          const: qbd_purchase_order
          description: The type of object. This value is always `"qbd_purchase_order"`.
          example: qbd_purchase_order
        createdAt:
          type: string
          description: >-
            The date and time when this purchase order was created, in ISO 8601
            format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop
            interprets in the local timezone of the end-user's computer.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this purchase order was last updated, in ISO
            8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop
            interprets in the local timezone of the end-user's computer.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this purchase
            order object, which changes each time the object is modified. When
            updating this object, you must provide the most recent
            `revisionNumber` to ensure you're working with the latest data;
            otherwise, the update will return an error.
          example: '1721172183'
        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 purchase order for goods or services
            purchased.
          example:
            id: 80000001-1234567890
            fullName: Acme Supplies Ltd.
        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 purchase order's class. Classes can be used to categorize
            objects into meaningful segments, such as department, location, or
            type of work. In QuickBooks, class tracking is off by default. A
            class defined here is automatically used in this purchase order's
            line items unless overridden at the line item level.
          example:
            id: 80000001-1234567890
            fullName: Office Supplies
        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
            purchase order is stored.
          example:
            id: 80000001-1234567890
            fullName: Main Warehouse
        shipToEntity:
          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, vendor, employee, or other entity to whom this
            purchase order is to be shipped.
          example:
            id: 80000001-1234567890
            fullName: Customer
        documentTemplate:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The predefined template in QuickBooks that determines the layout and
            formatting for this purchase order when printed or displayed.
          example:
            id: 80000001-1234567890
            fullName: Purchase Order Template
        transactionDate:
          type: string
          format: date
          description: The date of this purchase order, in ISO 8601 format (YYYY-MM-DD).
          example: '2024-10-01'
        refNumber:
          type:
            - string
            - 'null'
          description: >-
            The case-sensitive user-defined reference number for this purchase
            order, which can be used to identify the transaction in QuickBooks.
            This value is not required to be unique and can be arbitrarily
            changed by the QuickBooks user.
          example: PO-1234
        vendorAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The address of the vendor who sent this purchase order.
        shippingAddress:
          oneOf:
            - $ref: '#/components/schemas/qbd_address'
            - type: 'null'
          description: The purchase order's shipping address.
        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 purchase order's payment terms, defining when payment is due and
            any applicable discounts.
          example:
            id: 80000001-1234567890
            fullName: Net 30
        dueDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date by which this purchase order must be paid, in ISO 8601
            format (YYYY-MM-DD).
          example: '2024-10-31'
        expectedDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date on which shipment of this purchase order is expected to be
            completed, in ISO 8601 format (YYYY-MM-DD).
          example: '2024-01-01'
        shippingMethod:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The shipping method used for this purchase order, such as standard
            mail or overnight delivery.
          example:
            id: 80000001-1234567890
            fullName: FedEx Ground
        shipmentOrigin:
          type:
            - string
            - 'null'
          description: >-
            The origin location from where the product associated with this
            purchase order is shipped. This is the point at which ownership and
            liability for goods transfer from seller to buyer. Internally,
            QuickBooks uses the term "FOB" for this field, which stands for
            "freight on board". This field is informational and has no
            accounting implications.
          example: San Francisco, CA
        totalAmount:
          type: string
          description: >-
            The total monetary amount of this purchase order, equivalent to the
            sum of the amounts in `lines` and `lineGroups`, represented as a
            decimal string.
          example: '1000.00'
        currency:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The purchase order's currency. For built-in currencies, the name and
            code are standard ISO 4217 international values. For user-defined
            currencies, all values are editable.
          example:
            id: 80000001-1234567890
            fullName: USD
        exchangeRate:
          type:
            - number
            - 'null'
          description: >-
            The market exchange rate between this purchase order's currency and
            the home currency in QuickBooks at the time of this transaction.
            Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD
            if USD is the home currency).
          example: 1.2345
        totalAmountInHomeCurrency:
          type:
            - string
            - 'null'
          description: >-
            The total monetary amount of this purchase order converted to the
            home currency of the QuickBooks company file. Represented as a
            decimal string.
          example: '1234.56'
        isManuallyClosed:
          type: boolean
          description: >-
            Indicates whether this purchase order has been manually marked as
            closed, even if all items have not been received or the sale has not
            been cancelled. Once the purchase order is marked as closed, all of
            its line items become closed as well. You cannot change
            `isManuallyClosed` to `false` after the purchase order has been
            fully received.
          example: true
        isFullyReceived:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether all items in this purchase order have been
            received and none of them were closed manually.
          example: false
        memo:
          type:
            - string
            - 'null'
          description: >-
            A memo or note for this purchase order that appears in reports, but
            not on the purchase order.
          example: Office supplies for September
        vendorMessage:
          type:
            - string
            - 'null'
          description: >-
            A message to be printed on this purchase order for the vendor to
            read.
          example: Please include packing slip with shipment
        isQueuedForPrint:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this purchase order is included in the queue of
            documents for QuickBooks to print.
          example: true
        isQueuedForEmail:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this purchase order is included in the queue of
            documents for QuickBooks to email to the customer.
          example: true
        salesTaxCode:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The sales-tax code for this purchase order, 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 purchase
            order'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
        otherCustomField1:
          type:
            - string
            - 'null'
          description: >-
            A built-in custom field for additional information specific to this
            purchase order. Unlike the user-defined fields in the `customFields`
            array, this is a standard QuickBooks field that exists for all
            purchase orders for convenience. Developers often use this field for
            tracking information that doesn't fit into other standard QuickBooks
            fields. Hidden by default in the QuickBooks UI.
          example: Special handling required
        otherCustomField2:
          type:
            - string
            - 'null'
          description: >-
            A second built-in custom field for additional information specific
            to this purchase order. Unlike the user-defined fields in the
            `customFields` array, this is a standard QuickBooks field that
            exists for all purchase orders for convenience. Like
            `otherCustomField1`, developers often use this field for tracking
            information that doesn't fit into other standard QuickBooks fields.
            Hidden by default in the QuickBooks UI.
          example: Always ship with a spare
        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 purchase order's linked transactions, such as payments applied,
            credits used, or associated purchase orders.


            **IMPORTANT**: You must specify the parameter
            `includeLinkedTransactions` when fetching a list of purchase orders
            to receive this field because it is not returned by default.
        lines:
          type: array
          items:
            $ref: '#/components/schemas/qbd_purchase_order_line'
          description: >-
            The purchase order's line items, each representing a single product
            or service ordered.
        lineGroups:
          type: array
          items:
            $ref: '#/components/schemas/qbd_purchase_order_line_group'
          description: >-
            The purchase order's line item groups, each representing a
            predefined set of related items.
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the purchase order object, added as
            user-defined data extensions, not included in the standard
            QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - vendor
        - class
        - inventorySite
        - shipToEntity
        - documentTemplate
        - transactionDate
        - refNumber
        - vendorAddress
        - shippingAddress
        - terms
        - dueDate
        - expectedDate
        - shippingMethod
        - shipmentOrigin
        - totalAmount
        - currency
        - exchangeRate
        - totalAmountInHomeCurrency
        - isManuallyClosed
        - isFullyReceived
        - memo
        - vendorMessage
        - isQueuedForPrint
        - isQueuedForEmail
        - salesTaxCode
        - otherCustomField1
        - otherCustomField2
        - externalId
        - linkedTransactions
        - lines
        - lineGroups
        - customFields
      additionalProperties: false
      title: The Purchase Order object
      x-conductor-object-type: transaction
      summary: >-
        A purchase order represents a formal request for goods or services sent
        to a vendor. Since it is a non-posting transaction, it serves as a
        commitment to purchase but does not impact the company's financial
        statements.
    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_purchase_order_line:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this purchase order
            line. This ID is unique across all transaction line types.
          example: 456DEF-1234567890
        objectType:
          type: string
          const: qbd_purchase_order_line
          description: >-
            The type of object. This value is always
            `"qbd_purchase_order_line"`.
          example: qbd_purchase_order_line
        item:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The item associated with this purchase order line. This can refer to
            any good or service that the business buys or sells, including item
            types such as a service item, inventory item, or special calculation
            item like a discount item or sales-tax item.
          example:
            id: 80000001-1234567890
            fullName: Widget A
        sku:
          type:
            - string
            - 'null'
          description: >-
            The purchase order line's stock keeping unit (SKU), which is
            sometimes the manufacturer's part number.
          example: MPN-123456
        description:
          type:
            - string
            - 'null'
          description: A description of this purchase order line.
          example: Office chairs - Herman Miller Aeron (Black)
        quantity:
          type:
            - number
            - 'null'
          description: >-
            The quantity of the item associated with this purchase order line.
            This field cannot be cleared.


            **NOTE**: Do not use this field if the associated item is a discount
            item.
          example: 5
        unitOfMeasure:
          type:
            - string
            - 'null'
          description: >-
            The unit-of-measure used for the `quantity` in this purchase order
            line. Must be a valid unit within the item's available units of
            measure.
          example: Each
        overrideUnitOfMeasureSet:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            Specifies an alternative unit-of-measure set when updating this
            purchase order line's `unitOfMeasure` field (e.g., "pound" or
            "kilogram"). This allows you to select units from a different set
            than the item's default unit-of-measure set, which remains unchanged
            on the item itself. The override applies only to this specific line.
            For example, you can sell an item typically measured in volume units
            using weight units in a specific transaction by specifying a
            different unit-of-measure set with this field.
          example:
            id: 80000001-1234567890
            fullName: Volume Units
        rate:
          type:
            - string
            - 'null'
          description: >-
            The price per unit for this purchase order line. If both `rate` and
            `amount` are specified, `rate` will be ignored. If both `quantity`
            and `amount` are specified but not `rate`, QuickBooks will use them
            to calculate `rate`. Represented as a decimal string. This field
            cannot be cleared.
          example: '10.00'
        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 purchase order line's class. Classes can be used to categorize
            objects into meaningful segments, such as department, location, or
            type of work. In QuickBooks, class tracking is off by default. If a
            class is specified for the entire parent transaction, it is
            automatically applied to all purchase order lines unless overridden
            here, at the transaction line level.
          example:
            id: 80000001-1234567890
            fullName: Office Supplies
        amount:
          type:
            - string
            - 'null'
          description: >-
            The monetary amount of this purchase order line, represented as a
            decimal string. If both `quantity` and `rate` are specified but not
            `amount`, QuickBooks will use them to calculate `amount`. If
            `amount`, `rate`, and `quantity` are all unspecified, then
            QuickBooks will calculate `amount` based on a `quantity` of `1` and
            the suggested `rate`. This field cannot be cleared.
          example: '1000.00'
        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 purchase order line is stored.
          example:
            id: 80000001-1234567890
            fullName: Aisle 3, Shelf B
        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
        serviceDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date on which the service for this purchase order line was or
            will be performed, in ISO 8601 format (YYYY-MM-DD). This is
            particularly relevant for service items.
          example: '2024-03-15'
        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 purchase order line, determining whether
            it is taxable or non-taxable. If set, this overrides any sales-tax
            codes defined on the parent transaction or the associated item.


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


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

````

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