fulfillmenttools
API documentationIncident ManagementFeedback
Developer Docs
Developer Docs
  • Developer docs
  • Getting Started
    • Quickstart
    • Integration tutorial
      • Adding facilities
      • Adding listings to facilities
      • Configuring stocks
      • Carrier configuration
      • Placing orders
      • Checkout options
      • Distributed Order Management System (Routing)
      • Local fulfillment configuration
    • Free trial
  • Technical Basics
    • Access to fulfillmenttools
    • Feature status
    • Available regions
    • Backup policies
  • Connecting to fulfillmenttools
    • Client SDKs
    • commercetools connect
    • OpenID connect
      • Configure Microsoft Entra ID / Azure Active Directory
      • Configure Keycloak
  • API
    • Core concepts
      • Authentication & authorization
      • API Versioning & lifecycle
      • Assign user to jobs
      • Localization
      • Resource timestamps
      • Custom attributes
      • Article attributes
      • Recordable attributes
      • Data update guarantees
      • Rate limits & scaling
      • Retries
      • Performance on test vs. production systems
      • Load testing
    • API calls
      • Postman
      • cURL
      • GraphQL Explorer
    • GraphQL API
    • RESTful API
      • Pagination interface
      • RapiDoc
      • OpenAPI 3.0 Spec
    • Eventing
      • Structure of an event
      • Available events
        • Event flows
      • Eventing example
      • Event export
  • Integration Guides
    • Basics
      • Article categories
      • Audits
      • Facilities
      • Facility groups
      • GDPR configuration
      • Listings
      • Remote configuration
      • Receipts
      • Search
      • Subscribe to events
      • Sticker
      • Stocks
      • Storage locations
      • Tags
      • Users
    • Channel inventory
    • Facility discounts
    • Inbound process
    • Outbound stocks
    • Purchase order
    • Receipt
    • Routing strategy
    • Show sticker to clients
    • Stow jobs
  • More Integration Guides
    • Carrier management
      • Introduction to carrier configuration
      • Required data when operating carriers
      • Adding & connecting carriers to facilities
      • Custom carrier
    • Configurations for order fulfillment
      • Picking configuration
      • Packing configuration
      • Handover configuration
      • Printing and document configuration
      • Packing container types
      • Parcel tag configuration
      • Headless order fulfillment
      • Short-pick reasons
      • External documents in order fulfillment
      • Service jobs
      • Load units
      • Running sequence
    • DOMS - distributed order management system (routing)
    • External actions
    • Interfacility transfer
    • Notifications
    • Orders
      • Place your first order
      • Ship-from-store orders
      • Click-and-collect orders
      • Locked orders
      • Order with custom services
      • Bundled items in an order
      • Order process status
    • Availability & promising
    • Returns
Powered by GitBook
On this page
  • Summary
  • Use Case Examples
  • Expansion of the product range for a click and collect order
  • Item is out of stock in a brick-and-mortar store
  • Implementation in fulfillmenttools
  • 1. Create an order including an interfacility transfer
  • 2. Picking and handover in supplying facility
  • 3. Picking in receiving facility
  • 4. Transfer process and goods receipt
  • 5. Finalizing the order
Edit on GitHub
  1. More Integration Guides

Interfacility transfer

Last updated 5 months ago

Summary

This page describes use cases where items should be transferred from one warehouse or store to another warehouse or store of the same retailer. These transfers ensure that items are available where and when they are needed. Interfacility Transfer on our platform involves moving items between facilities when a Click & Collect order is split during routing due to missing items at the receiving facility.

Note: In our platform we use "facility" as an umbrella term for stores and warehouses.

Interfacility transfers are only available for .

Use Case Examples

Expansion of the product range for a click and collect order

Interfacility transfers allow offering items for click & collect in multiple stores even though the item itself is not present in all of them. As soon as the item is requested in one of the stores, the item can be transferred to the destination where it is needed.

When a customer places a click & collect order at a store and certain items are not in stock, those missing items can be transferred from another facility to the store where they are needed. That supplying facility fulfills the partial order and ships it to the facility where the customer placed the order.

Once all items are available at the designated store, the customer can be informed that picking up the order is now possible.

Item is out of stock in a brick-and-mortar store

Imagine a customer visiting a brick-and-mortar store to purchase a certain item but the item is not available at all or not available in the correct size or colour. In that case, the store clerk can order the item from another facility where it is still available. The customer can then come back on a later day to try on and/or purchase the product in her store.

This feature is currently only available via API.

Implementation in fulfillmenttools

The described interfacility transfer process involves two types of facilities: a receiving facility in which the order can be picked up by the customer and a supplying facility from where the items are transferred.

1. Create an order including an interfacility transfer

  1. facilityRef: id of the facility that should supply the missing items

  2. deliveryEvents.deliveryTarget: set to "SHIP_TO_STORE"

  3. deliveryEvents.deliveryTrigger: set to "DEFAULT"

  4. The order can be monitored in the order view in the Backoffice

If no items are available in the preferred facility, the system will still route the order to the next best facility for fulfillment based on configuration settings. A pickJob will be created in the preferred facility with only expected items.

Example body information for a click and collect case
    "deliveryPreferences": {
        "collect": [
            {
                "facilityRef": "021e3402-ff49-4ec5-a907-af3b1e031c60",
                "supplyingFacilitiesConfigurations": [
                    {
                        "facilityRef": "e19ae843-0987-48bf-a182-a59997f937b0",
                        "deliveryEvents": [
                            {
                                "deliveryTarget": "SHIP_TO_STORE",
                                "deliveryTrigger": "DEFAULT"
                            }
                        ]
                    }
                ]
            }
        ]
    }

2. Picking and handover in supplying facility

  • The tasks can be monitored in the task view in the Backoffice (tasks are not marked as belonging to an inter facility transfer).

3. Picking in receiving facility

  • A pickJob is automatically created in the receiving facility containing all items that should be picked in the facility as well as expected items that are still needed to be transferred from the supplying facility.

  • Users can start picking the already available items immediately.

    • The status of the pickJob is immediately set to open (OPEN), allowing picking to begin for available items. Once all available items are picked, the status of the pickJob is automatically changed to WAITING_FOR_INPUT.

    • In a case only part of the expected items arrive in a delivery, picking can continue until all expected items have arrived. Only when all items are picked, the pickJob is finalized and marked as finished.

  • The pickJob can be monitored in the task view in the Backoffice. In the task overview, information on the facility from which items are shipped is display for expected line items.

4. Transfer process and goods receipt

  • After the handoverJob in the supplying facility is completed, an inboundProcess with a purchaseOrder is created automatically in the receiving facility.

If there are two or more handoverJobs from different facilities, an inboundProcess is created for each facility.

  • As soon as the purchaseOrder was created, the included items are announced in the receiving facility as expected stock. The transfer can be monitored in the inbound view in the Backoffice where it is marked as "internal".

  • When the delivery has arrived in the receiving facility, it can be identified by scanning the transferId.

  • After the receipt is set to status FINISHED, the expected stock is added to the inventory of the receiving facility and the pickJob is updated, converting expected items into existing items.

5. Finalizing the order

  • After the missing items have arrived, the system updates the pickJob and:

    • Converts the expected items into regular items.

    • Changes the status of the pickJob to OPEN, allowing the picking process to continue or begin.

  • With all items picked, the entire order can now be packed and is then, ready for the handover to the customer.

and define the supplying facility in the order's delivery preferences under COLLECT/supplyingFacilitiesConfigurations:

A regular pickJob is automatically created in the supplying facility containing all items that should be sent to the receiving facility. The pickJob can be carried out like any other "normal" pickJob via our Operations or .

Once the pickJob is processed and the items are packed, the handoverJob is completed and the items are handed over to a carrier who will ship the items to the facility specified in the order under supplyingFacilities. The hand over can be carried out like any other "normal" handOverJob via our Operations or . The address of the receiving facility will be displayed on the shipping label.

The goods receipt can be performed via our inventory app. Alternatively, a receipt can be directly added to the respective inboundProcess via .

Picking, packing and handover can be performed as usual via the .

click & collect orders
Create a click & collect order
Android
Web App
Android
Web App
API
Operations Android or Web App