Query the Item endpoint to retrieve current QuantityOnHand and the associated InventoryStartDate for each inventory item
Identify the adjustment account (typically an inventory shrinkage or adjustment expense account) by querying the Account entity
Construct an InventoryAdjustment payload referencing the AdjustmentAccount, the InventoryDate, and one Line per item with the new quantity or quantity difference
POST the InventoryAdjustment and capture the returned Id for audit trail purposes
For group or bundle items, note that QBO tracks inventory at the component level; adjust each component item individually rather than the group item
Verify updated quantities by re-querying the affected Item records
Known gotchas
Group items in QBO are a UI concept for bundling line items on transactions; they do not have their own inventory quantity and cannot be adjusted directly
InventoryAdjustment requires the company to have inventory tracking enabled; attempting it on a company without this feature returns an authorization or feature fault
Setting QuantityOnHand directly on an Item record via a sparse update is not supported; all quantity changes must go through InventoryAdjustment
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp