Field notes / 04

From product data to delivered order

A customer sees a product, a price and a delivery date. Behind them sit master data, price lists, stock, the order itself, a warehouse and a carrier, usually in five or six systems owned by different teams. The store is the visible end of a chain, and it is only as reliable as the weakest link.

What I learned the hard way

  1. 01

    One owner for every piece of data.

    Product data, prices and stock each need one system that is right by definition. Two masters mean two truths and a support queue.

  2. 02

    Fix the master data before you integrate it.

    An integration only moves bad data faster. Clean the catalogue, the units and the identifiers first.

  3. 03

    Prices are harder than they look.

    Customer price lists, currencies, taxes, promotions, validity dates. Decide where each rule lives, and never calculate the same price in two places.

  4. 04

    Stock is a promise, not a number.

    What matters is what you can deliver, and when. Agree how reservations, back orders and safety stock reach the store, and how fresh the figure has to be.

  5. 05

    Follow one order end to end before you scale.

    Push a single real order through every system, including the carrier’s label and the invoice. Every manual step you find is a future incident.

  6. 06

    Design for the failure, not only for the flow.

    Every hand-over between systems needs a retry, an alert and a person who looks at it. The silent failures are the expensive ones.

  7. 07

    Show the status to the customer and to support.

    “Where is my order?” is the most common question there is. The answer should come from the same data in both places.

Master data Product system Price lists ERP Stock Warehouse system Order Store Delivery Warehouse Shipping broker Carrier Every hand-over: a retry,an alert, a person

Tips and tricks

  • Draw the chain on one page, with the owner of each step.
  • Agree the identifiers for product, customer and order once, and use them everywhere.
  • Decide what happens when a price or a stock update arrives late.
  • Test against the carrier’s real interface early. Shipping brokers surprise you.
  • Monitor the queues between the systems, not only the systems.
  • Keep a way to replay a failed message.