S14 Accumulated Warehouse Stock

Status

Version 1.0 published 17.07.2024

Approval
  1. DeepSea:

Comment

Die erste Version wird für die Anbindung von FINE Richtung Händler im Kontext NEON entwickelt.

Assumption

BISKO wird nicht betrachtet und bekommt die Daten aus den Bestandsystemen über die bestehenden Bestandsschnittstellen. Für NEON ist keine Anbindung an BISKO geplant.

1. Stakeholder

Role Application Responsible

Communication

Integration Layer

Leading App

Bube

InterfaceOwner

Bube

Producer

FINE

Consumer

Comorant

Consumer

Humpback

2. Business Context

Aus den über die S01 WarehouseStock gesendeten Lagerbestandsdaten auf Einzelquantenbasis werden durch FINE Daten auf erpPackingUnitId Ebene (Teile) aggregiert und dem Händler zur Verfügung gestellt. Anhand der Daten soll ein LIB/LAB Abgleich ermöglicht werden.

3. Information flow

Partner Direction FINE-Service Topic/API Description Status

WMS:kMotion ILOWA

send

BuBe:StockService

stock.warehousestock.kmotion.v3

WarehouseStockWms.v3.1

ready

ERP:DeepSea

receive

BuBe:StockService

stock.accumulatedwarehousestock.deepsea.v1

AccumulatedWarehouseStock.v1.1

ready

Diagram

4. Interface

4.1. Direction FINE to ERP

4.1.1. Header

This interface uses the Service Header

Special expressions for this interface:

Table 1. Attribute

Fieldname

Expression

Version

eventType

STOCK

*

context

ACCUMULATED_WAREHOUSE_STOCK

*

4.1.2. Data model

Property Type Description

(Root)

object

    eventId*

string (uuid)

The unique eventId
Global unique Id

Minimum Length: 36
Maximum Length: 36

    traceId*

string (uuid)

The unique traceId
Global unique Id for tracing the flow of events

Minimum Length: 36
Maximum Length: 36

    eventTime*

string (date-time)

Time of occurrence of the event
Time at which the record was generated (single event - not the businessEvent/snapshot) in UTC +ISO-8601 format YYYY-MM-DD'T'HH24:MM:SS'Z'

    version*

The number of version schema
Number of version of this data structure. Only required if no $schema is specified!

    context

string (enum)

The context / business case
The context specified here means the business domain.

Any of: [ "ACCUMULATED_WAREHOUSE_STOCK" ]
Maximum Length: 50

    eventType*

string (enum)

Snapshot event
the snapshot type to which the data belongs, currently only snapshots are supported

Any of: [ "STOCK" ]
Maximum Length: 20

    metaData*

object

additional meta information
optional, can be used with different characteristics for technical data per interface

        sender*

string (enum)

sender
Name of the source system, that has sent this message.

Any of: [ "KR1_SHF", "KR1_HHSTR", "WMSX_SON", "WMSX_AKU", "KMOTION_ILO", "KMOTION_GHM", "COBRA", "LSAS", "IDEEFIX", "OBS", "RESY", "LDH", "RETAILSCHICHT", "BUBE", "FINE_INBOUND", "F2X", "WMSX_WEISMAIN", "LIGIS", "KR1_MANDANT", "YMS_KMOTION", "YMS_INCONSO", "HERIS", "CARGOCLIX", "KMOTION_ERFURT", "LOGISTIKPUFFER" ]

        client*

string (enum)

client
Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea…​)

Any of: [ "FBO", "MYTOYS", "BONPRIX", "WITT", "CORSO", "HEINE", "BAUMARKT_DIREKT", "BAUR", "OTTO", "ABOUTYOU", "F2X", "F2X_MANUFACTUM", "PSAUT", "F2X_SHEEGO", "F2X_CLEARANCE" ]

        messageNumber

integer

current message number
the current message number that is transmitted

Minimum: 1
Maximum: 1000000000000000000

        lastMessageNumber

integer

last message number
how many messages are to be transferred

Minimum: 1
Maximum: 1000000000000000000

        dailySnapshotNumber*

integer

daily snapshot number
sequence number of the snapshot per day, starts every day again with number 1

Minimum: 1
Maximum: 100

        snapshotTime

string (date-time)

snapshot time
time of the snapshot creation

    data*

object

        erpSnapshotId*

integer

the id of the inventory snapshot
Consecutive number (sequence) of a long number. each inventory snapshot gets its own ID from WMS, which is identical for all records of the snapshot. all bookings get the id of the following snapshot, generated by wms, each wms has his own scope

Maximum Length: 18
Minimum: 1
Maximum: 1000000000000000000

        erpProductId*

string

¨ERP Product Id
master communication key between Erp and LSAS for item sizes

Maximum Length: 36

        erpPackingUnitId*

string

¨ERP PackingUnit Id
master communication key between LSAS and ERP for packing units of an item sized - used in Deep Sea for identification

Maximum Length: 36

        packingUnitIndex

integer

¨PackingUnit Number
Part Number for products with multiple parts - use 1 for PL

Maximum: 99

        location*

string (enum)

location
the location where the event was created

Any of: [ "ANSBACH", "LOEHNE", "LANGENSELBOLD", "MOSINA", "OHRDRUF", "HALDENSLEBEN", "HALDENSLEBEN_RT", "SUEDHAFEN", "SONNEFELD", "ALTENKUNSTADT", "WEIDEN", "KRACANY", "ILOWA", "ILOWA_RT", "ILOWA_RSS", "GERNSHEIM", "ERFURT", "HAMBURG_RT", "OTELFINGEN_RT", "KRIMICE_RT", "STAHLAVY_RT", "OHRDRUF_RT", "LOEHNE_RT", "LANGENSELBOLD_RT", "LODZ_1_RT", "LODZ_2_RT", "BERGHEIM_RT", "ALTENKUNSTADT_RT", "LISTERHILLS_RT", "SUEDHAFEN_RT", "PILSEN_RT", "HAMBURG_SC", "LOEHNE_SC", "SCHWABHAUSEN_SC", "HALDENSLEBEN_RSS", "ALTENKUNSTADT_RSS", "LOEHNE_RSS", "OHRDRUF_RSS", "LANGENSELBOLD_RSS", "LOEHNE_CP" ]

        quantity*

integer

quantity
quantity containing to this stock type

Minimum: 1
Maximum: 9999999999

        erpStockType*

string (enum)

ERP Stock Type
stock type, which are defined at ERP

Any of: [ "DELIVERABLE_STOCK", "QUALITY_LOCKED_STOCK", "LOCKED_STOCK", "STOCK_IN_FULFILLMENT", "RESERVABLE_LOCKED_STOCK", "STOCK_IN_TRANSIT", "RESERVABLE_STOCK_IN_TRANSIT", "STOCK_IN_FULFILLMENT_QUALITY_LOCKED" ]
Maximum Length: 50

4.1.3. Enumeration

Field: erpStockType

Table 2. erpStockType

Meta Value

Description

Short Value

DELIVERABLE_STOCK

deliverable stock that can be sold after WE2.0

LOCKED_STOCK

temporary locked stock e.g. for inventory processes

QUALITY_LOCKED_STOCK

for quality reasons locked stock after WE2.0

STOCK_IN_FULFILLMENT

reserved for orders after logistic buffer call - for orders of deliverable stock (B2C and B2B)

STOCK_IN_TRANSIT

stock adviced for returns or stock transfers to the warehouse

RESERVABLE_LOCKED

locked stock available for customer reservations

RESERVABLE_STOCK_IN_TRANSIT

stock in transport (detours) available for customer reservations used in KR1 context

STOCK_IN_FULFILLMENT_QUALITY_LOCKED

reserved for orders after logistic buffer call - for B2B orders from quality locked stock

4.1.4. Example

Message FINE to ERP
{
    "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
    "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
    "eventTime":"2016-04-16T01:03:17Z",
    "version":"1.1",
    "eventType":"STOCK",
    "metaData":{
        "sender":"BUBE",
        "client":"FBO",
        "messageNumber":1,
        "lastMessageNumber":10,
        "dailySnapshotNumber":1,
        "snapshotTime":"2016-04-16T01:00:00Z"
    },
    "data":{
        "erpSnapshotId":427,
        "erpProductId":"Artikel1",
        "erpPackingUnitId":"Teil1",
        "location":"ILOWA",
        "quantity":13,
        "erpStockType":"DELIVERABLE_STOCK"
    }
}

4.1.5. Version history

Table 3. Version FINE to ERP
Version Number File Published on Changes

previous version

current version

1.0

Download

17.07.2024

- Look at chapter "Changelog"

coming version

1.1

Download

tbd

4.1.6. Changelog

Changes V1.0

  • first draft

Changes V1.0 → V2.0

  • add new erpStockType STOCK_IN_FULFILLMENT_QUALITY_LOCKED

4.1.7. Schema

Interface FINE to ERP
{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$comment": "Schema for accumulated stock in a warehouse direction ERP Version 1.1",
    "$id": "https://doc.fine.gcp.osp-dev.de/registry/Stock/AccumulatedWarehouseStock.v1.1.schema.json",
    "type": "object",
    "definitions": {
        "erpStockType": {
            "title": "Type of the stock",
            "description": "stockType, which are defined at ERP",
            "type": "string",
            "maxLength": 50,
            "enum": ["DELIVERABLE_STOCK", "QUALITY_LOCKED_STOCK", "LOCKED_STOCK", "STOCK_IN_FULFILLMENT","RESERVABLE_LOCKED_STOCK","STOCK_IN_TRANSIT", "RESERVABLE_STOCK_IN_TRANSIT", "STOCK_IN_FULFILLMENT_QUALITY_LOCKED"]
        }
    },
    "properties": {
        "eventId": {
            "title": "The unique eventId",
            "description": "Global unique Id",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-8128-be118faf1d87"
            ]
        },
        "traceId": {
            "title": "The unique traceId",
            "description": "Global unique Id for tracing the flow of events",
            "type": "string",
            "format": "uuid",
            "minLength": 36,
            "maxLength": 36,
            "examples": [
                "00ce536f-923a-42f4-8138-33418faf1342"
            ]
        },    
        "eventTime": {
            "title": "Time of occurrence of the event",
            "description": "Time at which the record was generated (single event - not the businessEvent/snapshot) in UTC +ISO-8601 format YYYY-MM-DD'T'HH24:MM:SS'Z'",
            "type": "string",
            "format": "date-time",
            "examples": [
                "2022-04-16T16:06:05.123456Z",
                "2022-04-19T08:51:05+02:00"
            ]
        },
        "version": {
            "title": "The number of version schema",
            "description": "Number of version of this data structure. Only required if no $schema is specified!",
            "oneOf": [
                {
                    "type": "string",
                    "pattern": "\\d+\\.\\d{1,2}",
                    "examples": ["1.01", "01.02"]
                },
                {
                    "type": "integer",
                    "examples": [1, 2]
                }
            ]
        },
        "context": {
            "title": "The context / business case",
            "description": "The context specified here means the business domain.",
            "type": "string",
            "maxLength":50,
            "enum": [
                "ACCUMULATED_WAREHOUSE_STOCK"
            ]
        },
        "eventType": {
            "title": "Snapshot event",
            "description": "the snapshot type to which the data belongs, currently only snapshots are supported",
            "type": "string",
            "maxLength": 20,
            "enum": ["STOCK"],
            "examples":["STOCK"]
        },
        "metaData": {
            "title": "additional meta information",
            "description": "optional, can be used with different characteristics for technical data per interface",
            "type": "object",
            "properties": {
                "sender": {
                    "title":"sender",
                    "description":"Name of the source system, that has sent this message.",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/system.v7.schema.json"
                },
                "client": {
                    "title": "client",
                    "description": "Client/mandant (messages of different clients have different processing rules and destination interfaces) - use FBO for Fulfillment by Otto (CORE, DeepSea...)",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/company.v5.schema.json"
                },
                "messageNumber": {
                    "title": "current message number",
                    "description": "the current message number that is transmitted",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999
                },
                "lastMessageNumber": {
                    "title": "last message number",
                    "description": "how many messages are to be transferred",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999
                },
                "dailySnapshotNumber": {
                    "title": "daily snapshot number",
                    "description": "sequence number of the snapshot per day, starts every day again with number 1",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                },
                "snapshotTime": {
                    "title": "snapshot time",
                    "description": "time of the snapshot creation",
                    "type": "string",
                    "format": "date-time",
                    "examples": [
                        "2022-04-16T16:06:05.123456Z",
                        "2022-04-19T08:51:05+02:00"
                    ]
                }
            }, 
            "required": [
                "sender",
                "client",
                "dailySnapshotNumber"
            ]   
        },
        "data": {
            "type": "object",
            "properties": {
                "erpSnapshotId": {
                    "title": "the id of the inventory snapshot",
                    "description": "Consecutive number (sequence) of a long number. each inventory snapshot gets its own ID from WMS, which is identical for all records of the snapshot. all bookings get the id of the following snapshot, generated by wms, each wms has his own scope",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 999999999999999999,
                    "maxLength": 18,
                    "examples": [
                        122
                    ]
                },
                "erpProductId": {
                    "title": "¨ERP Product Id",
                    "description": "master communication key between Erp and LSAS for item sizes",
                    "type": "string",
                    "maxLength": 36,
                    "examples":["123"]
                },  
                "erpPackingUnitId": {
                    "title": "¨ERP PackingUnit Id",
                    "description": "master communication key between LSAS and ERP for packing units of an item sized - used in Deep Sea for identification",
                    "type": "string",
                    "maxLength": 36,
                    "examples":["123"]
                },
                "packingUnitIndex": {
                    "title": "¨PackingUnit Number",
                    "description": "Part Number for products with multiple parts - use 1 for PL",
                    "type": "integer",
                    "mininmum": 1,
                    "maximum": 99,
                    "examples":["123"]
                },              
                "location": {
                    "title": "location",
                    "description": "the location where the event was created",
                    "$ref": "https://doc.fine.gcp.osp-dev.de/registry/MetaData/warehouselocations.v1.schema.json"
                },
                "quantity": {
                    "title": "quantity",
                    "description": "quantity containing to this stock type",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 9999999999,
                    "examples":[90]
                },
                "erpStockType": {
                    "title": "ERP Stock Type",
                    "description": "stock type, which are defined at ERP",
                    "$ref": "#/definitions/erpStockType"
                }
            },
            "required": [
                "erpSnapshotId",
                "erpProductId",
                "erpPackingUnitId",
                "location",
                "quantity",
                "erpStockType"
            ]              
        }
    },
    "required": [
      "eventId",
      "traceId",
      "eventTime",
      "version",
      "eventType",
      "metaData",
      "data"
    ],
    
    "examples":[
        {
            "eventId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "traceId":"f48cfc26-0615-4351-9966-cdb4ec41bbcc",
            "eventTime":"2016-04-16T01:03:17Z",
            "version":"1.1",
            "eventType":"STOCK",
            "metaData":{
                "sender":"BUBE",
                "client":"FBO",
                "messageNumber":1,
                "lastMessageNumber":10,
                "dailySnapshotNumber":1,
                "snapshotTime":"2016-04-16T01:00:00Z"
            },
            "data":{
                "erpSnapshotId":427,
                "erpProductId":"Artikel1",
                "erpPackingUnitId":"Teil1",
                "location":"ILOWA",
                "quantity":13,
                "erpStockType":"DELIVERABLE_STOCK"
            }
        }
    ]
}
Last updated: Fri, 25 Apr 2025 01:45:16 UTC