Outbound stocks

Our system allows to track inventory levels until items physically leave the facility and are handed over to another legal entity. The configurations for tracking outbound stock are defined for each facility individually.

Prerequisites

  • Picking: Only if picking is conducted with our system the outbound inventory feature can be used.

  • Handover: If you want to remove stock from your system only after it has been handed over, it is necessary to use our handover feature as well.

Configuration

1. Create an outbound storage location

  • Create a storage location that will be used as storage for items that have already been picked and are ready for being handed over to a shipping provider. The defined location does not need to represent a physical storage space or area but should map the concept of outbound stock. This can be done in the Backoffice or via API.

  • Make sure the location complies with the following requirements:

    • type must be BULK_STORAGE

    • The stock on an outbound storage location is not available for orders, and should not be picked or moved (besides for handover). Therefore, it must have the following trait configuration:

      • ACCESSIBLE: false

      • PICKABLE: false

      • OUTBOUND: true

    • name is recommended to be chosen in order to convey the meaning of the location so that users refrain from adjusting stock on that location.

  • This storage location is a requirement for enabling the following configuration.

Here's an example API call to create the storage location:

curl -sSL -X POST 'https://your.api.fulfillmenttools.com/api/facilities/<yourFacilityId>/storagelocations' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "Outgoing Goods",
  "tenantLocationId": "outbound-1",
  "type": "BULK_STORAGE",
  "scannableCodes": [],
  "runningSequences": [],
  "traitConfig": [
    {
      "trait": "ACCESSIBLE",
      "enabled": false
    },
    {
      "trait": "PICKABLE",
      "enabled": false
    },
        {
      "trait": "OUTBOUND",
      "enabled": TRUE
    }
]
}'

Note down the id of the created storage location from the response as you will need it in the next step.

2. Enable Configuration

  • Update or create the FacilityInventoryConfiguration with settings.

  • You can find an example below. Please pay attention not to overwrite previous settings you may already have included in your configuration.

  • Set the following fields inoutboundStockConfiguration

    • trackOutboundStock is used to (de-)activate the feature without deleting the previously defined settings

    • locationRef references the outbound storage location created in the previous step

    • clearTrigger is used to specify when the stock should be deleted in the respective facility.

      • event

        • Use the event pick-job-closed_event-v1 if stock should be deleted after picking

        • Use the event handoverjob-handed-over_event-v1 if stock should be deleted after handing it over to another party (e.g. carrier)

        • More events will be added in the future.

      • tagFilter

        • Can be set to allow further granularity

        • Each entry in the tagFilter array represents a condition, all must be fulfilled.

          • Each value in the allowedValues array represents a possible value, one of them must be matched.

            • If the event is a pickjob event, the conditions will be tried against the tag array in the pickjob.

            • If the event is handoverjob event the conditions will be tried against the tag array in the handoverjob

curl -sSL -X PATCH 'https:///your.api.fulfillmenttools.com/api/facilities/<yourFacilityId>/configurations/inventory' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data '{
  "version": 2,
  "isMixedStorage": null,
  "outboundStockConfiguration": {
    "trackOutboundStock": true,
    "locationRef": "<your location ref>",
    "clearTrigger": [
        {
            "event": "handoverjob-handed-over_event-v1"
        },
        {
            "event": "pick-job-closed_event-v1",
            "tagFilter": [
              {
                "tagId": "order-type",
                "allowedValues": [
                  "production"
                ]
              }
            ]
        }
    ]
  }
}'

Working Principle

If the outboundStockConfigurationis enabled, the following behaviour will take place:

  • After a PickJob was completed, the following actions take place:

    • stocks are reduced on the original location

    • new stock is created on the defined outbound location.

    • the reservation is lifted off of the original stock and placed on the newly created stock

  • Stock on the outbound location is still included in stock levels communicated via FACILITY_STOCK_CHANGED events (however, not as available). Thus, external systems will still receive accurate stock levels for items physically present in the facility.

  • After the stock left the facility (indicated by the clearTrigger as described above), all related stocks and reservations are deleted.

Last updated