Introduction

E-commerce logistics looks simple only on a slide deck: order comes in → pick it → hand it to a courier → happy customer. In real life, between those arrows live “item not found,” “wrong size picked,” “courier arrived but the customer was in the shower,” “address without an entrance code,” “why shipping costs more than the product,” and, of course, returns—basically a sport with its own league.

Chaos usually appears not because of “bad people,” but because there’s no single operating model: who and when confirms stock, how picking and packing work, where statuses are recorded, what counts as a successful delivery, and how quickly failures are handled. Below is a practical, clear “warehouse → courier → customer” model you can build step by step and scale without developing a nervous twitch.

Basic concepts and selection criteria

1) Order cycle time
This is the time from placing the order to handing it to the customer. Measured in hours/days by stages: confirmation → picking → dispatch → delivery. It matters because “1-day delivery” often breaks at the picking stage, where an order can sit in a queue for 12 hours.

2) Cut-off time
The point after which an order goes into the next picking/dispatch “wave” (for example: everything before 15:00 ships today). Measured as a time tied to shifts. It matters because without a cut-off, you promise lead times you physically can’t meet.

3) Picking accuracy
The share of orders picked without errors in SKU/size/quantity. Measured as % errors per 100/1,000 orders. It matters because one picking error turns into a one-way delivery, a return trip, and a third trip—customer support explaining it all.

4) OTIF (On Time In Full)
“On time and in full”: the order is delivered within the promised timeframe and complete. Measured as a percentage. It matters because the customer doesn’t care that the courier was on time if one item is missing.

5) NDR / failed delivery rate
How many deliveries failed: couldn’t reach the customer, wrong address, customer rescheduled, courier didn’t make it. Measured as % and by reasons. It matters because it’s direct repeat attempts and money “into thin air.”

6) Logistics cost per order
The sum of: picking + packing + storage + delivery + returns/exchanges + delivery-related support. Measured as money per 1 order. It matters because a “cheap carrier” is sometimes expensive due to add-ons, repeat deliveries, and returns.

Stage What we control Key risk
Inventory Stock accuracy, reservation Selling what you don’t actually have
Picking Speed and accuracy Mis-pick / wrong SKU
Packing Protection, labeling, documents Damage / multi-parcel mix-ups
Handover to courier Scan/confirmation, statuses “Handed over, but not tracked”
Delivery to customer Time windows, communication, NDR Failed handoff

Approaches and solutions

Option 1: Your own warehouse + your own couriers (or a dedicated team)

When it fits: delivery within one city/agglomeration, high daily volume, service quality matters, and you want end-to-end control “to the door.”

Pros: maximum control; you can build communication and handoff standards; easier to manage delivery windows and repeat attempts.

Limitations: you need people and shift management; peaks (sales) require reserve capacity; vehicles/routing/dispatching are separate workstreams.

Risks: courier downtime off-season, dependence on discipline, harder to scale to regions.

Option 2: Fulfillment/3PL + courier services (one or several)

When it fits: regional delivery, fast growth, large assortment, need to scale quickly with transparent SLAs.

Pros: less operational load; easier to expand geography; you can connect multiple carriers and balance price/lead times.

Limitations: less “hands-on” control; you must carefully align packing, labeling, and status standards.

Risks: a “black box” at handoffs (who’s at fault—the warehouse or the courier); extra charges for operations; quality drop if requirements are set poorly.

Selection criteria

Step-by-step implementation guide

Preparation

Execution

  1. Order intake: verify payment/address/contact, auto-reserve stock. Control: the order doesn’t go to picking without confirmed stock.
  2. Picking: picking by locations, scanning (or at least a double-check against the pick list). Control: spot-check accuracy and log errors with reasons.
  3. Packing and labeling: protect the item, add inserts (if needed), label with the order ID, and “piece/total pieces” for multi-parcel shipments. Control: photo before closing the box for high-risk categories.
  4. Handover to courier/service: handover act/manifest, scan-confirmation of acceptance, assign a tracking number. Control: the system status changes only when the handover actually happens—not “for prettiness.”
  5. Delivery: delivery windows, notifications, handling reschedules, and a “couldn’t reach the customer” scenario. Control: NDR reasons are logged with codes so you can improve the process—not just “complain louder.”

Result evaluation

Cases / micro-examples

Scenario 1: starting point — 120 orders/day, “manual” warehouse, many size errors. Actions — introduced storage locations, simple SKU labeling, a “scan/double-check” step at packing, cut-off 15:00. Result — fewer errors, lead times stopped drifting, and support stopped living in “sorry about that” mode. We’ve worked in this field for over 13 years, and almost always the first lever isn’t a new delivery service—it’s order on the warehouse floor.

Scenario 2: starting point — regional delivery, high NDR due to incorrect phone numbers/addresses. Actions — added address validation and mandatory contact confirmation, implemented clear time windows and automated notifications, started analyzing failed deliveries by reason codes. Result — fewer repeat attempts, and delivery forecasts became closer to reality (yes, reality can be trained too).

Common mistakes and how to avoid them

Mini-FAQ

1) What matters more for “no chaos”: the warehouse or delivery?
The warehouse. If picking and packing are unstable, delivery will “heroically save” things—but it won’t save them. Start with inventory, picking, and statuses, then strengthen the last mile.

2) How many delivery services should you connect?
Usually at least two: a primary and a backup. If you have different scenarios (express, regions, pickup points vs courier), the set grows. The key isn’t quantity, but clear rules: which service is used where.

3) How can you quickly tell the process is working?
Look at OTIF, picking accuracy, and NDR. If these three improve, you’re moving the right way. If add-ons and repeat deliveries grow, there’s a “hole” somewhere at the warehouse ↔ courier ↔ customer handoff.