---
title: "List all inventory adjustments"
method: GET
path: "/quickbooks-desktop/inventory-adjustments"
---

# List all inventory adjustments

`GET /quickbooks-desktop/inventory-adjustments`

Returns a list of inventory adjustments.

**NOTE:** QuickBooks Desktop does not support pagination for inventory adjustments; hence, there is no `cursor` parameter. Users typically have few inventory adjustments.

## Query parameters

- `ids` string[] — Filter for specific inventory adjustments by their QuickBooks-assigned unique identifier(s). **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request. **NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.
- `refNumbers` string[] — Filter for specific inventory adjustments by their ref-number(s), case-sensitive. In QuickBooks, ref-numbers are not required to be unique and can be arbitrarily changed by the QuickBooks user. **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request. **NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.
- `limit` integer — The maximum number of objects to return. **IMPORTANT**: QuickBooks Desktop does not support cursor-based pagination for inventory adjustments. This parameter will limit the response size, but you cannot fetch subsequent results using a cursor. For pagination, use the name-range parameters instead (e.g., `nameFrom=A&nameTo=B`). When this parameter is omitted, the endpoint returns all inventory adjustments without limit, unlike paginated endpoints which default to 150 records. This is acceptable because inventory adjustments typically have low record counts.
- `updatedAfter` string — Filter for inventory adjustments updated on or after this date/time. Accepts the following ISO 8601 formats: - **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`). - **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer. - **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
- `updatedBefore` string — Filter for inventory adjustments updated on or before this date/time. Accepts the following ISO 8601 formats: - **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`). - **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer. - **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
- `transactionDateFrom` string, date — Filter for inventory adjustments whose `date` field is on or after this date, in ISO 8601 format (YYYY-MM-DD). **NOTE:** QuickBooks Desktop interprets this date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`).
- `transactionDateTo` string, date — Filter for inventory adjustments whose `date` field is on or before this date, in ISO 8601 format (YYYY-MM-DD). **NOTE:** QuickBooks Desktop interprets this date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`).
- `customerIds` string[] — Filter for inventory adjustments associated with these customers.
- `accountIds` string[] — Filter for inventory adjustments associated with these accounts.
- `itemIds` string[] — Filter for inventory adjustments containing these inventory items.
- `refNumberContains` string — Filter for inventory adjustments whose `refNumber` contains this substring. **NOTE**: If you use this parameter, you cannot also use `refNumberStartsWith` or `refNumberEndsWith`.
- `refNumberStartsWith` string — Filter for inventory adjustments whose `refNumber` starts with this substring. **NOTE**: If you use this parameter, you cannot also use `refNumberContains` or `refNumberEndsWith`.
- `refNumberEndsWith` string — Filter for inventory adjustments whose `refNumber` ends with this substring. **NOTE**: If you use this parameter, you cannot also use `refNumberContains` or `refNumberStartsWith`.
- `refNumberFrom` string — Filter for inventory adjustments whose `refNumber` is greater than or equal to this value. If omitted, the range will begin with the first number of the list. Uses a numerical comparison for values that contain only digits; otherwise, uses a lexicographical comparison.
- `refNumberTo` string — Filter for inventory adjustments whose `refNumber` is less than or equal to this value. If omitted, the range will end with the last number of the list. Uses a numerical comparison for values that contain only digits; otherwise, uses a lexicographical comparison.
- `includeLineItems` boolean — Whether to include line items in the response. Defaults to `true`.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Response `200`

Returns a list of inventory adjustments.

- object
  - `objectType` 'list', required — The type of object. This value is always `"list"`.
  - `url` string, required — The endpoint URL where this list can be accessed.
  - `data` QbdInventoryAdjustment[], required — The array of inventory adjustments.
    - `id` string, required — The unique identifier assigned by QuickBooks to this inventory adjustment. This ID is unique across all transaction types.
    - `objectType` 'qbd_inventory_adjustment', required — The type of object. This value is always `"qbd_inventory_adjustment"`.
    - `createdAt` string, required — The date and time when this inventory adjustment 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.
    - `updatedAt` string, required — The date and time when this inventory adjustment 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.
    - `revisionNumber` string, required — The current QuickBooks-assigned revision number of this inventory adjustment 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.
    - `account` object, required — The account to which this inventory adjustment is posted for tracking inventory value changes.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `inventorySite` object, nullable, required — The site location where inventory for the item associated with this inventory adjustment is stored.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `transactionDate` string, date, required — The date of this inventory adjustment, in ISO 8601 format (YYYY-MM-DD).
    - `refNumber` string, nullable, required — The case-sensitive user-defined reference number for this inventory adjustment, 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.
    - `customer` object, nullable, required — The customer or customer-job associated with this inventory adjustment.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `class` object, nullable, required — The inventory adjustment'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 inventory adjustment's line items unless overridden at the line item level.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `memo` string, nullable, required — A memo or note for this inventory adjustment.
    - `externalId` string, nullable, required — 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.
    - `lines` QbdInventoryAdjustmentLine[], required — The inventory adjustment's item lines, each representing the adjustment of an inventory item's quantity, value, serial number, or lot number.
      - `id` string, required — The unique identifier assigned by QuickBooks to this inventory adjustment line. This ID is unique across all transaction line types.
      - `objectType` 'qbd_inventory_adjustment_line', required — The type of object. This value is always `"qbd_inventory_adjustment_line"`.
      - `item` object, nullable, required — The inventory item associated with this inventory adjustment line.
        - `id` string, nullable, required — 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.
        - `fullName` string, nullable, required — 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.
      - `serialNumber` string, nullable, required — The serial number of the item associated with this inventory adjustment line. This is used for tracking individual units of serialized inventory items.
      - `serialNumberAction` 'added' | 'removed', nullable, required — Indicates whether this inventory adjustment line's serial number was added or removed from the inventory.
      - `lotNumber` string, nullable, required — The lot number of the item associated with this inventory adjustment line. Used for tracking groups of inventory items that are purchased or manufactured together.
      - `expirationDate` string, date, nullable, required — The expiration date for the serial number or lot number of the item associated with this inventory adjustment 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.
      - `inventorySiteLocation` object, nullable, required — The specific location (e.g., bin or shelf) within the inventory site where the item associated with this inventory adjustment line is stored.
        - `id` string, nullable, required — 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.
        - `fullName` string, nullable, required — 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.
      - `quantityDifference` number, nullable, required — Either a positive or negative number that shows the change in quantity for the inventory item associated with this inventory adjustment line. A positive number increases the quantity, while a negative number decreases it.
      - `valueDifference` number, nullable, required — Either a positive or negative number that shows the change in the total value of the entire stock of the inventory item associated with this inventory adjustment line. A positive number increases the value, while a negative number decreases it.
    - `customFields` QbdCustomField[], required — The custom fields for the inventory adjustment object, added as user-defined data extensions, not included in the standard QuickBooks object.
      - `ownerId` string, required — 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.
      - `name` string, required — 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.
      - `type` 'amount_type' | 'date_time_type' | 'integer_type' | 'percent_type' | 'price_type' | 'quantity_type' | 'string_1024_type' | 'string_255_type', required — The data type of this custom field.
      - `value` string, required — The value of this custom field. The maximum length depends on the field's data type.

---

[API](https://skmtc.net/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.net/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
