pixi Developer & Integration Documentation

pixiGetItemsStockHistory

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