GET
/
quickbooks-desktop
/
inventory-adjustments
JavaScript
import Conductor from 'conductor-node';

const conductor = new Conductor({
  apiKey: 'sk_conductor_...',
});

const inventoryAdjustments = await conductor.qbd.inventoryAdjustments.list({
  conductorEndUserId: 'end_usr_1234567abcdefg',
});

console.log(inventoryAdjustments.data);
{
  "objectType": "list",
  "url": "/v1/quickbooks-desktop/inventory-adjustments",
  "data": [
    {
      "id": "123ABC-1234567890",
      "objectType": "qbd_inventory_adjustment",
      "createdAt": "2025-01-01T12:34:56+00:00",
      "updatedAt": "2025-02-01T12:34:56+00:00",
      "revisionNumber": "1721172183",
      "account": {
        "id": "80000001-1234567890",
        "fullName": "Inventory Shrinkage"
      },
      "inventorySite": {
        "id": "80000001-1234567890",
        "fullName": "Main Warehouse"
      },
      "transactionDate": "2024-10-01",
      "refNumber": "INVADJ-1234",
      "customer": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "class": {
        "id": "80000001-1234567890",
        "fullName": "Inventory Adjustment"
      },
      "memo": "Adjusted quantity due to physical count discrepancy",
      "externalId": "12345678-abcd-1234-abcd-1234567890ab",
      "lines": [
        {
          "id": "456DEF-1234567890",
          "objectType": "qbd_inventory_adjustment_line",
          "item": {
            "id": "80000001-1234567890",
            "fullName": "Widget A"
          },
          "serialNumber": "SN1234567890",
          "serialNumberAction": "added",
          "lotNumber": "LOT2023-001",
          "expirationDate": "2025-12-31",
          "inventorySiteLocation": {
            "id": "80000001-1234567890",
            "fullName": "Aisle 3, Shelf B"
          },
          "quantityDifference": 5,
          "valueDifference": 7
        }
      ],
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").

Headers

Conductor-End-User-Id
string
required

The ID of the EndUser to receive this request (e.g., "Conductor-End-User-Id: {{END_USER_ID}}").

Example:

"end_usr_1234567abcdefg"

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.

Example:
["123ABC-1234567890"]
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.

Example:
["INVENTORY ADJUSTMENT-1234"]
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.

Required range: x >= 1
Example:

10

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-012025-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.
Example:

"2025-01-01T12:34:56+00:00"

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-012025-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.
Example:

"2025-02-01T12:34:56+00:00"

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-012025-01-01T00:00:00).

Example:

"2025-01-01"

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-012025-01-01T23:59:59).

Example:

"2025-02-01"

customerIds
string[]

Filter for inventory adjustments associated with these customers.

Example:
["80000001-1234567890"]
accountIds
string[]

Filter for inventory adjustments associated with these accounts.

Example:
["80000001-1234567890"]
itemIds
string[]

Filter for inventory adjustments containing these inventory items.

Example:
["80000001-1234567890"]
refNumberContains
string

Filter for inventory adjustments whose refNumber contains this substring.

NOTE: If you use this parameter, you cannot also use refNumberStartsWith or refNumberEndsWith.

Example:

"INVADJ-1234"

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.

Example:

"INVADJ"

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.

Example:

"1234"

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.

Example:

"INVADJ-0001"

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.

Example:

"INVADJ-9999"

includeLineItems
boolean
default:true

Whether to include line items in the response. Defaults to true.

Example:

true

Response

200 - application/json

Returns a list of inventory adjustments.

The response is of type object.