I am trying to build an integration between ShipHero and an ERP. I need to pull just the inventory changes that change the total on hand quantity of a SKU but aren’t tied to a standard transaction (order, PO, Return, etc).
We already have Orders and POs syncing between the two systems so it would double the adjustment qty in the ERP if we pulled all inventory changes. So we need to filter them out.
Hope this makes sense and we can get an official list of reasons that we will see.
I am also workings on syncing data between shiphero and an ERP, I have synced orders, shipments,POs, workorders into that. Can you elaborate more on what type of transactions need to capture and why certain transactions should be captured?
We need to capture changes to inventory within ShipHero that are not tied to a standard transaction like an order or purchase order for example.
This way the ERP and ShipHero will remain in sync automatically. For example, if someone in the warehouse decides to steal 10 units from a location and adjusts the qty manually, we want to see that adjustment show in the ERP as well so it can be investigated.
You can use the Inventory_Change webhook, and filter (when request is received) by reason to exclude those changes related to orders, POs and returns. You will get a webhook request like this:
{
"webhook_type": "Inventory Change",
"account_uuid": "QWNjb3VudDo2Mzg5OA==",
"account_id": 18963,
"warehouse_id": 76733,
"warehouse_uuid": "V2FyZWhvdXNlOjc2NzMz",
"user_id": 489254,
"user_uuid": "VXNlcjoxNTg4MjY=",
"sku": "LOT01",
"quantity": 10,
"old_quantity": 0,
"location_name": "AA-05-01-01",
"previous_on_hand": 110,
"timestamp": "2025-02-03 13:19:30",
"reason": "Change from the product page via the ShipHero Web Dashboard.",
"source": "manual",
"lot_id": 114475,
"lot_uuid": "TG90OjExNDQ3NQ==",
"lot_expiration": "2025-03-25"
}