Stock labels
Stock labels are essential for stock management. EVA comes with a few default stock labels but you can add however much you like and apply your own logic to them.
Admin Suite boasts a chapter called Stock locations which allows you to manage your locations (or labels) or you can use service calls directly. This page will go into details on the latter.
You can always use the API Reference section on docs for more details on each service.
Checking available labels with GetEnumValues
By using GetEnumValues
with StockLabel, all stocklabels available on your environment - whether available by default or custom - will be displayed.
You can use these IDs in the other relevant stock services.
Creating stock labels
New stock labels can be created using CreateStockLabel
.
Updating stock labels
Stock labels can be updated using UpdateStockLabel
.
Working with stock labels in EVA
Now that you've got all the stock labels you want, it's time to tell EVA what to do with them.
SetStockLabelSettings
You can use SetStockLabelSettings
to actually configure your desired combinations. The service takes the following properties:
- OrganizationUnitID
- StockLabelID
- Sellable
- Movable
- Adjustable
- Returnable
- CycleCountable
- FullStockCountable
- Using this feature entails that this label will be shown (and can be interacted with) during a full stock count.
If you want to reset it, you can specify a null value. This will make it inherit its parameters from the parent. If no settings are present, it will default to false.
Do note however that regardless of your configurations, there are cases in which EVA will overrule them. These are only cases where having them configured any other way than EVA prescribes would be illogical, for example having the stocklabel Transit with the IncludeInFullStockCount feature.
Exposing the stock label configurations
There are three services used for getting the various stock label configurations. For this we use the following three services:
GetStockLabelSettings
- Returns the settings that are configured per OU/StockLabel/Feature combination
GetStockLabelsForFeature
- This returns all stock labels with a feature of your choice for a single organization unit
GetStockLabelSettingsForLabel
- This works the other way around: select a stock label to see on what OU it has which feature
With feature, we mean what is possible for a label. In other words: moving or selling of a label for example. The following features are possible:
- Sellable (0)
- Movable (1)
- Adjustable (2)
- Returnable (3)
- CycleCountable (4)
- IncludeInFullStockCount (5)
- ReturnToSupplierable (6)
- Using this feature you can allow the return of items through RMA/RTS orders from stock quantities other than the sellable stock location. For example Damaged items. Stores can then select any stock location with that feature and make returns.
The various stock configurations are exposed in GetApplicationConfiguration
and directly determine the behaviour/availability of stock labels.
{
"StockLabelSettings": [
{
"OrganizationUnitID": -1,
"StockLabelID": 1,
"Feature": 5,
"Enabled": true
},
{
"OrganizationUnitID": -1,
"StockLabelID": 1,
"Feature": 4,
"Enabled": true
},
{
"OrganizationUnitID": -1,
"StockLabelID": 1,
"Feature": 2,
"Enabled": true
},
{
"OrganizationUnitID": -1,
"StockLabelID": 1,
"Feature": 1,
"Enabled": true
},
{
"OrganizationUnitID": -1,
"StockLabelID": 1,
"Feature": 0,
"Enabled": true
},
{
"OrganizationUnitID": -1,
"StockLabelID": 1,
"Feature": 3,
"Enabled": true
}
]
}
{
"StockLabelSettings": [
{
"OrganizationUnitID": -1,
"OrganizationUnitName": "EVA",
"IsDefault": true,
"Sellable": {
"Value": true,
"IsInherited": false
},
"Movable": {
"Value": true,
"IsInherited": false
},
"Adjustable": {
"Value": true,
"IsInherited": false
},
"Returnable": {
"Value": true,
"IsInherited": false
},
"CycleCountable": {
"Value": true,
"IsInherited": false
},
"FullStockCountable": {
"Value": true,
"IsInherited": false
}
},
{
"OrganizationUnitID": 1,
"OrganizationUnitName": "EVA",
"IsDefault": false,
"Sellable": {
"Value": true,
"IsInherited": false
},
"Movable": {
"Value": true,
"IsInherited": false
},
"Adjustable": {
"Value": true,
"IsInherited": false
},
"Returnable": {
"Value": true,
"IsInherited": false
},
"CycleCountable": {
"Value": true,
"IsInherited": false
},
"FullStockCountable": {
"Value": true,
"IsInherited": false
}
},
{
"OrganizationUnitID": 8,
"OrganizationUnitName": "Store Amsterdam",
"IsDefault": false,
"Sellable": {
"Value": true,
"IsInherited": false
},
"Movable": {
"Value": true,
"IsInherited": false
},
"Adjustable": {
"Value": true,
"IsInherited": false
},
"Returnable": {
"Value": true,
"IsInherited": true
},
"CycleCountable": {
"Value": true,
"IsInherited": true
},
"FullStockCountable": {
"Value": true,
"IsInherited": true
}
}
]
}
{
"StockLabels": [
{
"ID": 1,
"Name": "Sellable",
"DisplayName": "Sellable"
},
{
"ID": 4,
"Name": "Damaged",
"DisplayName": "Damaged"
},
{
"ID": 8,
"Name": "Demo",
"DisplayName": "Demo"
},
{
"ID": 129,
"Name": "Clearance",
"DisplayName": "Clearance"
}
]
}
Migrated and archived settings
Until recently (Core drop 2.0.706), specifying which stock labels should be available for what kind of label action was done by means of settings. These settings have been removed and their configuration migrated over to the services mentioned above.
For the sake of clarity, we'll show these settings here for a short while.
Removed and migrated settings
- Stock:SellableSourceStockLabels
- Orders:Returns:AlwaysReturnToSellable
- Orders:Returns:AlwaysIncludeDamagedLabel
- CycleCount:StockLabels
After Core drop 2.0.725 we deprecated the following services and replaced them with the ones described higher up on this page.
Deprecated services
GetStockLabelSettings
- This service showed you the current configuration of stock labels, their features and whether enabled per OU or across all of them
- SetStockLabelSetting
- This was deprecated in favor of its plural form, allowing for setting more features per label in one go