v48

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-262621423.8 MB

Create an inventory adjustment

Creates an inventory adjustment to correct on-hand quantities or values. QuickBooks requires single-user mode unless you're on Enterprise with Advanced Inventory enabled.

post/quickbooks-desktop/inventory-adjustments

Headers

Conductor-End-User-Idstring required

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

Example:end_usr_1234567abcdefg

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

Request body

accountIdstring required

The account to which this inventory adjustment is posted for tracking inventory value changes.

transactionDatestring date required

The date of this inventory adjustment, in ISO 8601 format (YYYY-MM-DD).

refNumberstring

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. When left blank in this create request, this field will be left blank in QuickBooks (i.e., it does not auto-increment).

Maximum length: 11 characters.

inventorySiteIdstring

The site location where inventory for the item associated with this inventory adjustment is stored.

customerIdstring

The customer or customer-job associated with this inventory adjustment.

classIdstring

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.

memostring

A memo or note for this inventory adjustment.

externalIdstring uuid

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 request

{
  "accountId": "80000001-1234567890",
  "transactionDate": "2024-10-01",
  "refNumber": "INVADJ-1234",
  "inventorySiteId": "80000001-1234567890",
  "customerId": "80000001-1234567890",
  "classId": "80000001-1234567890",
  "memo": "Adjusted quantity due to physical count discrepancy",
  "externalId": "12345678-abcd-1234-abcd-1234567890ab",
  "lines": [
    {
      "itemId": "80000001-1234567890",
      "adjustQuantity": {
        "newQuantity": 10,
        "quantityDifference": 5,
        "serialNumber": "SN1234567890",
        "lotNumber": "LOT2023-001",
        "expirationDate": "2025-12-31",
        "inventorySiteLocationId": "80000001-1234567890"
      },
      "adjustValue": {
        "newQuantity": 10,
        "quantityDifference": 5,
        "newValue": "100.00",
        "valueDifference": 7
      },
      "adjustSerialNumber": {
        "addSerialNumber": "123456",
        "removeSerialNumber": "123456",
        "expirationDate": "2025-12-31",
        "inventorySiteLocationId": "80000001-1234567890"
      },
      "adjustLotNumber": {
        "lotNumber": "LOT2023-001",
        "adjustCount": 2,
        "expirationDate": "2025-12-31",
        "inventorySiteLocationId": "80000001-1234567890"
      }
    }
  ]
}

Response

Returns the newly created inventory adjustment.

idstring 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".

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

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

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

transactionDatestring date required

The date of this inventory adjustment, in ISO 8601 format (YYYY-MM-DD).

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

memostring nullable required

A memo or note for this inventory adjustment.

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

Example response

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