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.
Headers
The ID of the End-User to receive this request.
The ID of the End-User to receive this request.
Request body
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.
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"
}
]
}Changes
Changed in 5 of the 46 revisions of this API.781249
- ●
the
accountIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
classIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
customerIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
inventorySiteIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
lines/items/adjustLotNumber/inventorySiteLocationIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
lines/items/adjustQuantity/inventorySiteLocationIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
lines/items/adjustSerialNumber/inventorySiteLocationIdrequest property's maxLength was set to36request-property-max-length-set
- ●
the
lines/items/itemIdrequest property's maxLength was set to36request-property-max-length-set
- ●
- ●
the
refNumberrequest property's maxLength was set to11request-property-max-length-set
- ●
- ▲
response property
account/fullNamelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
account/idlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
externalIdlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/expirationDatelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/lotNumberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/quantityDifferencelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/serialNumberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/serialNumberActionlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/valueDifferencelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
memolist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
refNumberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
the
classresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
customerresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
inventorySiteresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
lines/items/inventorySiteLocationresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
lines/items/itemresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
removed the required property
class/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
class/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
customer/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
customer/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
inventorySite/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
inventorySite/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/inventorySiteLocation/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/inventorySiteLocation/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/item/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/item/idfrom the response with the200statusresponse-required-property-removed
- ○
added
subschema #1subschema #2to theclassresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thecustomerresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theinventorySiteresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thelines/items/inventorySiteLocationresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thelines/items/itemresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
removed the
addedenum value from thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-removed
- ○
removed the
removedenum value from thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-removed
- ○
removed the
undefinedenum value from thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-removed
- ▲
- ▲
the response property
account/fullNamebecame nullable for the status200response-property-became-nullable
- ▲
the response property
account/idbecame nullable for the status200response-property-became-nullable
- ▲
the response property
classbecame nullable for the status200response-property-became-nullable
- ▲
the response property
customerbecame nullable for the status200response-property-became-nullable
- ▲
the response property
externalIdbecame nullable for the status200response-property-became-nullable
- ▲
the response property
inventorySitebecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/expirationDatebecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/inventorySiteLocationbecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/itembecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/lotNumberbecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/quantityDifferencebecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/serialNumberbecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/serialNumberActionbecame nullable for the status200response-property-became-nullable
- ▲
the response property
lines/items/valueDifferencebecame nullable for the status200response-property-became-nullable
- ▲
the response property
memobecame nullable for the status200response-property-became-nullable
- ▲
the response property
refNumberbecame nullable for the status200response-property-became-nullable
- ▲
the
classresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
customerresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
inventorySiteresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
lines/items/inventorySiteLocationresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ▲
the
lines/items/itemresponse's property type/format changed from/toobjectnull/for status200response-property-type-changed
- ●
added the new
addedenum value to thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-added
- ●
added the new
removedenum value to thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-added
- ●
added the new
undefinedenum value to thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-added
- ○
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 request propertylines/items/adjustLotNumber/expirationDaterequest-property-pattern-removed
- ○
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 request propertylines/items/adjustQuantity/expirationDaterequest-property-pattern-removed
- ○
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 request propertylines/items/adjustSerialNumber/expirationDaterequest-property-pattern-removed
- ○
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 request propertytransactionDaterequest-property-pattern-removed
- ○
removed the pattern
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$from the request propertyexternalIdrequest-property-pattern-removed
- ○
removed
subschema #1subschema #2from theclassresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thecustomerresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from theinventorySiteresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thelines/items/inventorySiteLocationresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
removed
subschema #1subschema #2from thelines/items/itemresponse propertyanyOflist for the response status200response-property-any-of-removed
- ○
response property
account/fullNamelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
account/idlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
externalIdlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
lines/items/expirationDatelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
lines/items/lotNumberlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
lines/items/quantityDifferencelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
lines/items/serialNumberlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
lines/items/serialNumberActionlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
lines/items/valueDifferencelist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
memolist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
response property
refNumberlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200response-property-list-of-types-narrowed
- ○
the
transactionDateresponse'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 status200response-property-pattern-removed
- ○
added the required property
class/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
class/idto the response with the200statusresponse-required-property-added
- ○
added the required property
customer/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
customer/idto the response with the200statusresponse-required-property-added
- ○
added the required property
inventorySite/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
inventorySite/idto the response with the200statusresponse-required-property-added
- ○
added the required property
lines/items/inventorySiteLocation/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
lines/items/inventorySiteLocation/idto the response with the200statusresponse-required-property-added
- ○
added the required property
lines/items/item/fullNameto the response with the200statusresponse-required-property-added
- ○
added the required property
lines/items/item/idto the response with the200statusresponse-required-property-added
- ▲
- ▲
added 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])))$to the request propertylines/items/adjustLotNumber/expirationDaterequest-property-pattern-added
- ▲
added 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])))$to the request propertylines/items/adjustQuantity/expirationDaterequest-property-pattern-added
- ▲
added 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])))$to the request propertylines/items/adjustSerialNumber/expirationDaterequest-property-pattern-added
- ▲
added 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])))$to the request propertytransactionDaterequest-property-pattern-added
- ▲
added the pattern
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$to the request propertyexternalIdrequest-property-pattern-added
- ▲
response property
account/fullNamelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
account/idlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
externalIdlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/expirationDatelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/lotNumberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/quantityDifferencelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/serialNumberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/serialNumberActionlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
lines/items/valueDifferencelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
memolist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
response property
refNumberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200response-property-list-of-types-widened
- ▲
the
classresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
customerresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
inventorySiteresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
lines/items/inventorySiteLocationresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
the
lines/items/itemresponse's property type/format changed fromobjectnull/to/for status200response-property-type-changed
- ▲
removed the required property
class/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
class/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
customer/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
customer/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
inventorySite/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
inventorySite/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/inventorySiteLocation/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/inventorySiteLocation/idfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/item/fullNamefrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
lines/items/item/idfrom the response with the200statusresponse-required-property-removed
- ○
added
subschema #1subschema #2to theclassresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thecustomerresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to theinventorySiteresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thelines/items/inventorySiteLocationresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
added
subschema #1subschema #2to thelines/items/itemresponse propertyanyOflist for the response status200response-property-any-of-added
- ○
removed the
addedenum value from thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-removed
- ○
removed the
removedenum value from thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-removed
- ○
removed the
undefinedenum value from thelines/items/serialNumberActionresponse property for the response status200response-property-enum-value-removed
- ○
the
transactionDateresponse'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 added for the status200response-property-pattern-added
- ▲