Description
Returns stock movement history records for all items across all bins and locations. Use this call to audit inventory changes within a date range with optional filtering by location, external order number, delivery number, or relocate transaction.
DateFrom is required. Results are paginated using IbilKey and RowCount — pass the last received IBILkey value as the next IbilKey to retrieve subsequent pages.
Automated export movements are excluded from results.
Request Parameters
# |
Name |
Type |
Required |
Example |
Description |
1 |
DateFrom |
datetime |
1 |
2024-01-01 00:00:00 |
Start of the date range (inclusive). Filters on UpdateDate. |
2 |
DateTo |
datetime |
0 |
2024-01-31 23:59:59 |
End of the date range (exclusive). Defaults to current date and time if not provided. |
3 |
Location |
varchar(3) |
0 |
001 |
Filter by location ID. Optional. |
4 |
OrderNumberExternal |
varchar(50) |
0 |
ORD-123456 |
Filter by external order number. Optional. |
5 |
DeliveryNumber |
int |
0 |
12345 |
Filter by delivery number. Optional. A value of 0 is treated as not provided. |
6 |
RelocateTransactionID |
uniqueidentifier |
0 |
6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
Filter by relocate transaction ID. Optional. |
7 |
RowCount |
int |
0 |
1000 |
Maximum number of records to return per call. Defaults to 1000. |
8 |
IbilKey |
int |
0 |
0 |
Returns records with IBILkey greater than this value. Use 0 to start from the beginning. Pass the last received IBILkey to fetch the next page. |
Request body
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dem="https://api.pixi.eu/soap/demosandbox/">
<soapenv:Header/>
<soapenv:Body>
<dem:pipiGetItemsStockHistory>
<dem:DateFrom>2024-01-01 00:00:00</dem:DateFrom>
<dem:DateTo>2024-01-31 23:59:59</dem:DateTo>
<dem:Location></dem:Location>
<dem:OrderNumberExternal></dem:OrderNumberExternal>
<dem:DeliveryNumber></dem:DeliveryNumber>
<dem:RelocateTransactionID></dem:RelocateTransactionID>
<dem:RowCount>1000</dem:RowCount>
<dem:IbilKey>0</dem:IbilKey>
</dem:pipiGetItemsStockHistory>
</soapenv:Body>
</soapenv:Envelope>Response
Body 1: Stock Movement Details
# |
Name |
Type |
Description |
1 |
IBILkey |
int |
Unique ID of this stock movement log entry. Use as the IbilKey value for the next page request. |
2 |
ItemKey |
int |
Item ID. |
3 |
ItemNrInt |
varchar(50) |
Item shop number. |
4 |
EANUPC |
varchar(13) |
Item barcode (EAN/UPC). |
5 |
ItemNrSuppl |
varchar(50) |
Item supplier number. |
6 |
Qty |
int |
Quantity involved in this stock movement. Positive for additions, negative for removals. |
7 |
UpdateEmp |
varchar(100) |
User or process that triggered this stock movement. |
8 |
UpdateDate |
datetime |
Date and time of the stock movement. |
9 |
BinName |
varchar(50) |
Name of the bin involved. NULL if the bin has since been deleted. |
10 |
LocID |
varchar(3) |
Location ID of the bin. |
11 |
ForOrderline |
int |
ID of the order line linked to this movement. NULL if not order-related. |
12 |
Reason |
varchar(50) |
Manually entered reason for the stock movement. |
13 |
SMType |
varchar(4) |
Stock movement type code. |
14 |
SMOperation |
varchar(201) |
Stock movement operation in Application/Action format (e.g. WebClient/PutToStock). |
15 |
BatchNumber |
varchar(50) |
Batch number of the item. NULL if not applicable. |
16 |
BestBeforeDate |
datetime |
Best before date of the item. NULL if not applicable. |
17 |
RelocateTransactionID |
uniqueidentifier |
Relocate transaction ID. NULL if not a relocation movement. |
18 |
DeliveryNumber |
int |
Supplier delivery number linked to this movement. NULL if not delivery-related. |
19 |
OrderNrExternal |
varchar(50) |
External order number linked to this movement. NULL if not order-related. |
Additional Notes
DateFrom is inclusive; DateTo is exclusive — records exactly at DateTo are not included.
Automated export movements (UpdateEmp = 'AutoExport') are excluded from all results.
All optional filters (Location, OrderNumberExternal, DeliveryNumber, RelocateTransactionID) are applied with AND logic when provided.
Results are ordered by IBILkey ascending. To paginate through all records:
1. Call with IbilKey = 0
2. Note the last IBILkey in the response
3. Call again with IbilKey = {last IBILkey}
4. Repeat until the number of rows returned is less than RowCount