List all inventory adjustments

Changed on

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.

get/quickbooks-desktop/inventory-adjustments

Request

Query parameters

idsstring[]

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.

[
  "123ABC-1234567890"
]
refNumbersstring[]

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.

[
  "INVENTORY ADJUSTMENT-1234"
]
limitinteger

The maximum number of objects to return.

IMPORTANT: QuickBooks Desktop does not support cursor-based pagination for inventory adjustments, so this parameter only limits the response size.

When this parameter is omitted, the endpoint returns all inventory adjustments without limit, unlike paginated endpoints which default to 150 records.

Example:10
updatedAfterstring

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.
Example:2025-01-01T12:34:56+00:00
updatedBeforestring

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.
Example:2025-02-01T12:34:56+00:00
transactionDateFromstring 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).

Example:2025-01-01
transactionDateTostring 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).

Example:2025-02-01
customerIdsstring[]

Filter for inventory adjustments associated with these customers.

[
  "80000001-1234567890"
]
accountIdsstring[]

Filter for inventory adjustments associated with these accounts.

[
  "80000001-1234567890"
]
itemIdsstring[]

Filter for inventory adjustments containing these inventory items.

[
  "80000001-1234567890"
]
refNumberContainsstring

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
refNumberStartsWithstring

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
refNumberEndsWithstring

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
refNumberFromstring

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.

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

Example:INVADJ-0001
refNumberTostring

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.

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

Example:INVADJ-9999
includeLineItemsboolean

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

Example:true

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

Response

Returns a list of inventory adjustments.

objectType'list' required

The type of object. This value is always "list".

urlstring required

The endpoint URL where this list can be accessed.

Example response

{
  "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"
        }
      ]
    }
  ]
}

Changes

    • breaking

      response property data/items/account/fullName list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/account/id list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/externalId list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/lines/items/expirationDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/lines/items/lotNumber list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/lines/items/quantityDifference list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/lines/items/serialNumber list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/lines/items/serialNumberAction list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/lines/items/valueDifference list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/memo list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/refNumber list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      the //// response's property type changed from object null to no type for status

    • breaking

      the //// response's property type changed from object null to no type for status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property ///// from the response with the status

    • breaking

      removed the required property ///// from the response with the status

    • breaking

      removed the required property ///// from the response with the status

    • breaking

      removed the required property ///// from the response with the status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the //// response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the //// response property anyOf list for the response status

    • info

      removed the added enum value from the //// response property for the response status

    • info

      removed the removed enum value from the //// response property for the response status

    • info

      removed the undefined enum value from the //// response property for the response status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the // response's property type changed from no type to object null for status

    • breaking

      the // response's property type changed from no type to object null for status

    • breaking

      the // response's property type changed from no type to object null for status

    • breaking

      the //// response's property type changed from no type to object null for status

    • breaking

      the //// response's property type changed from no type to object null for status

    • warning

      added the new added enum value to the //// response property for the response status

    • warning

      added the new removed enum value to the //// response property for the response status

    • warning

      added the new undefined enum value to the //// response property for the response status

    • info

      removed the pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$ from the query request parameter transactionDateFrom

    • info

      removed the pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$ from the query request parameter transactionDateTo

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the //// response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the //// response property anyOf list for the response status

    • info

      response property data/items/account/fullName list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/account/id list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/externalId list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/lines/items/expirationDate list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/lines/items/lotNumber list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/lines/items/quantityDifference list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/lines/items/serialNumber list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/lines/items/serialNumberAction list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/lines/items/valueDifference list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/memo list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/refNumber list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      the // response's property pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$ was removed for the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status