Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Check if there were any problems last time the system ran the orders, which need to be fulfilled, if any issue is spotted the system will correct the order(s)

  2. Remove orders with email such as "test.com"

  3. Remove orders with Partially Refunded status

  4. Remove old fulfillments that have been set as Reship, as order status, and have a Fatal Shipping Error as fulfilment status

  5. Set with a Backorders status, Partially Paid orders in order to request a the full remaining payment from the customer

  6. Set the order status to Shipping for orders with Paid status, Shipping error, Reshipping and Partially refunded

  7. Set fulfillment status the fulfilment tatus New (1), in order to prepare the system to for the next step which is: to assign the warehouse

  8. Fix old processed fulfillments – the system has a list of warehouse response errors, so in some cases, the system will automatically recover those fulfillments to the queue

  9. Update the Inventory fields: Reserved New and Reserved Sent

...

  1. Only active warehouses, set as Fulfillment Center and with API Integration will be used

  2. Check for fulfillments with status Error (4) that was processed 36 hours ago and enqueue them – the status is set as New (1)

  3. Select all fulfillments with the status New (1)

  4. Select all Warehouse Products with available quantity [deducting from the quantity reserved for Pre-sale – not paid yet]

  5. Check if there is any package group (DFO is the only one that uses it)

Remove orders from the

...

fulfilment queue

Orders that adhere to the below requirements are removed from the fulfilment queue:

...

  1. For the warehouses that have automatic stock reconciliation, the inventory is updated and just continues if this process is successful

  2. Create packages for fulfilment with status New (1) and with assigned warehouse

  3. Update fulfilment status to Processing (9)

  4. DFO is the only one that group packages, which needs to comply with the below rules:

    1. A single package may contain products of multiple fulfilments

    2. It is necessary to limit the weight of the package (according to each warehouse)

    3. If the warehouse limit weight per package is not null, use this value (Kg)

    4. If the warehouse limit weight per package is null, the packages will not be split based on weight

  5. The system will also try to group similar SKUs in the same package

  6. Before sending the fulfillments to the warehouse, the availability of stock will be checked between the products in the package and the warehouse’s real-time stock quantity

  7. When the warehouse's real-time inventory is not sufficient, the system sends these orders to the backorder

  8. Right after the shipment, each warehouse returns a response via the API, which is handled according to the documentation for each warehouse

  9. The result of the API is updated in the system can be:

    1. If successful, the fulfilment will be set to status Sent (2)

    2. If successful and the warehouse provide the tracking number in the same response, the fulfilment status is set to Processed (3)

    3. If error, the fulfilment status will be set Error (4)

  10. Moreover, for all cases, the processing details field is filled in when available with additional information

  11. The inventory is also updated again

  12. Ultimately, the system checks the processing details looking for some warehouse’s duplicate answers (security) and in the case finds one or some, it updates the fulfilment process according to the response, so to avoid future errors.

3.5.   Getting the tracking number (four times by day)

3.5.1.Tracking Numbers information are received four times a day

In order to check with the Warehouses database if any tracking information is available, the system will follow the below steps.

  1. Get all fulfillments with status

...

  1. Sent (4) that were sent to the warehouse

...

  1. 12 hours ago

...

  1. Try getting the tracking number by API from the warehouses

...

  1. Updates the system with the return of the warehouse (each warehouse has specific documentation)

...

3.5.3.1.             If success, set fulfillment status equals 3 – Processed, fill the courier name, some processing details

3.5.3.2.             If fail, set fulfillment status equals 7 – Waiting Tracking Number (the system will try again latter)

3.6.   Recover

3.6.1.       Recover Shipments

...

    1. If a successful response is returned, then set the fulfilment status to Processed (3), as well as fill in the courier name and other processing details

    2. If a failed response is returned, then, set the fulfilment status to Waiting for Tracking Number (7). The system will try again later.

Recovering Fulfillment Information

Recover Shipments Information

  • Fulfillments with status Error (4) will be set as New (1), after 3 hours.

  • This process will be carried out

...

  • in twelve attempts.

...

Recover Tracking

...

Information

Once a week, the system tries to recover all pending tracking numbers from the last 3 months (security)

3.6.3.      Recover Not Processed

3.6.3.1.             .

Recover Orders that have not been Processed

If something happens during the process of sending the fulfillments orders to be fulfilled to the warehouse, as the status was like 9 - Processing during this momentand they have their fulfilment status set to Processing (9), the system will recover the their status to New (1) so that it resumes processing on the next shipment.

 

 II -

Backorder Workflow

...

Backorders are processed four times

...

per day

...

4.1.    Insufficient quantity

...

CRM UI Fulfilment Status

Database Fulfilment Status

New

1

Sent

2

Processed

3

Error

4

5

6

Waiting for Tracking Number

7

8

Processing

9