"Shipping on the surface seems like a relatively simple problem, but when you have to send 4,000 boxes all over the world, it becomes this amazingly complicated task." - David Carr, co-founder of Twine, in CrowdCrux
Broadly speaking, order fulfillment comprises the process in receiving, processing, and shipping a customer order. More specifically, order fulfillment entails the following steps, roughly in chronological order:
- Maintaining inventory.
- Responding to a sales order to determine availability and location in inventory.
- Confirming pricing.
- Configuring the order (if there is more than one piece or product).
- Booking the order (placing a request into the inventory system for what is ordered).
- Acknowledging and confirming the order is booked.
- Invoicing/billing the customer.
- Determining the shipping address where the item will be sent.
- Sourcing the order – determining which facility to ship it from.
- Determining which carrier will be used to ship the item.
- Issuing order changes initiated by the customer after-the-sale, substituting for pieces no longer in inventory, or updating the order with newer pieces in inventory.
- Processing the order – the physical picking and packing of the order at a warehouse or distribution center.
- Shipping the order, which may go directly to the customer or to one or more distribution points.
- Delivering the order to the customer.
- Settling, receiving, and processing payment for the received order.
- Handling returns of unacceptable or damaged goods by either refilling the order or refunding the customer.
- Updating inventory.
Now that's a lot of steps! We tend to take them for granted, or bundle them together under a term like "shipping," but there are many stages an order must pass through that involves software systems and physical systems. It’s no wonder companies large and small are contracting out this function to specialized order fulfillment services providers.