Authenticate and confirm the correct endpoint version by checking GET /entity/Default/<version>/swagger.json for the InventoryAdjustmentEntry entity.
Create the adjustment document: PUT /entity/Default/<version>/InventoryAdjustmentEntry with a JSON body including Description, Date, and a Details array containing InventoryID, WarehouseID, LocationID, Qty, UOM, and UnitCost.
Set the AdjustmentType on each detail line to 'Receipt' (positive adjustment) or 'Issue' (negative adjustment) based on the variance direction.
Retrieve the created document reference number from the response's ReferenceNbr field.
Release the adjustment by calling the Release action: POST /entity/Default/<version>/InventoryAdjustmentEntry/<ReferenceNbr>/Release — this posts the document to inventory and GL.
Verify the new on-hand quantities via GET /entity/Default/<version>/InventoryQuantities or by querying the InventorySummaryEnquiry endpoint.
Known gotchas
Releasing an inventory adjustment triggers GL postings; if the adjustment date falls in a closed fiscal period, the release action will fail with a period-closed error — use a date within the current open period or re-open the period before releasing.
The InventoryAdjustmentEntry endpoint in older contract versions may not support lot/serial number detail lines in the Details array — lot/serial assignments may require writing to a nested subentity or using the GS1 scanning action endpoint.
Acumatica rate-limits REST API calls per session; creating a large number of individual adjustment lines via separate PUT calls can hit the threshold — batch all lines into a single PUT request in the Details array instead.
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