Fulfillment App overview

Edit on GitHub

Fulfillment App streamlines the process of fulfilling orders.

Warehouse user

A warehouse user is a person that works in one or more warehouses to fulfill orders. They are a regular Back Office user. However, they don’t have access to the Back Office. Instead, they are using Fulfillment App.

In the Back Office, to create a warehouse user, you need to select a respective option when creating or editing a regular Back Office user.

To give a warehouse user access to fulfilling orders in a warehouse, you need to assign the warehouse to them. For instructions on how to do that, see Assign and deassign warehouses from warehouse users.

Fulfillment App

Fulfillment App is an app used by warehouse users to fulfill orders. When a customer places an order, it is assigned to a warehouse that can fulfill the order. In the assigned warehouse, a warehouse user uses the Fulfillment App to gather and ship the order items.


Warehouse assignment

By default, when a customer orders several items of the same SKU, the requested item’s stock is checked in all of the store’s warehouses. The warehouses are sorted in the descending order of how much stock of the item they are holding. The warehouse holding the biggest stock of the item is assigned to the order. The warehouse holding the never-out-of-stock item quantity is considered to be holding the biggest stock.

In some cases, the ordered quantity might not be available in the warehouse holding the biggest stock of the item. Then, the warehouse fulfills the order partially. The remaining quantity is fulfilled by the the warehouse holding the next biggest stock of the item. For example, the customer orders 100 tablets. The store’s warehouses hold the following stock:

2 65
3 40
1 13

In this case, warehouse 2 provides 65 tables by emptying out its stock completely. Warehouse 3 provides the remaining 35 tablets with 5 tablets left in stock.

Item reservation
Warehouse allocation shouldn't be confused with the reservation process, meaning items are not reserved when they are allocated to a warehouse. The warehouse management system is responsible for warehouse reservation. The default strategy is designed to show how warehouse allocation can be implemented and used in the fulfillment process.

Warehouse picklists

A warehouse picklist is a document available in Fulfillment App that contains a list of items to be picked and shipped to fulfill and order. It includes the following information:

  • Product name
  • Product image
  • Quantity to be picked

Based on a picklist, the warehouse user gathers and prepares the items for shipping.

picklist items

Picklist generation strategies

A picklist generation strategy defines how picklists are generated based on the fulfillment requirements of orders per warehouse. On the project level, each warehouse can have its own strategy.

The default picklist generation strategy is designed to generate picklists by order, where each order line is assigned to a unique picklist that contains all the items needed to fulfill the order.

Also, an order can be split into multiple picklists by shipments. If an order contains items that need to be shipped to multiple locations, the order is split into two picklists. This helps the warehouse user ship items more efficiently.

The default generation strategy is an example of how it can work. A developer can implement the generation strategies to match your project’s requirements.

The picking process

Picking is semi-automated and follows the steps:

  1. The customer places an order.
  2. A warehouse is assigned to the order.
  3. The picklist is generated.
  4. In the Fulfillment App, a warehouse user assigns the picklist to themselves.
  5. The warehouse user marks the items as picked or not found.
  6. Picking is finished.
  7. Order items states are updated to reflect the picking being finished.
  8. The picked items are shipped.

Fulfillment App state machine

The Warehouse Picking feature is shipped with exemplary picking subprocesses for the state machine. You can check them in the Back Office >Administration >OMS.

Demo Shop Subprocess
B2C DummyPayment01
B2C Marketplace MarketplacePayment01

Push notifications

Fulfillment App supports push notifications. This lets warehouse users receive new picklists without having to refresh the application.

Offline mode

To reduce costs and improve flexibility, Fulfillment App support offline mode. Warehouse users can perform picking tasks even without internet connectivity. Any changes performed in offline mode are synchronized when they get online. This is relevant for warehouses in remote areas or big warehouses that do not have full network coverage.

The offline mode is enabled by the Push Notification feature.

Current constraints

  • Supports only concrete products. Doesn’t support bundles and configurable products.
  • Doesn’t support partial picking of non-splittable order items. If a customer orders an item with quantity 1, a warehouse user can either pick 1 full item or not pick at all.
  • Doesn’t support the business logic for picking of bundle products. However, if all concrete products of a bundle product are picked, it can be processed by the State Machine.
  • Visualization of configurable bundles in Fulfillment App is not implemented, but picking of individual items in bundles is possible.
  • Picking of random-weight products is not available.
Assign and deassign warehouses from warehouse users Fulfill orders
Create users
Edit users
Install the Inventory Management feature Retrieve picklists
Install the Warehouse picking feature Start picking
Install the Push Notification feature Retrieve picklists
Install the Warehouse picking + Product feature Create warehouse user assignments
Install the Warehouse User Management feature Retrieve warehouse user assignments
Update warehouse user assignments
Delete warehouse user assignments