EDI and Supply Chains: Fulfillment

January 12, 2021

In this post I will review how electronic data interchange (EDI) is used in fulfillment. Fulfillment is the process of filling orders by picking ordered product from inventory and shipping it to the buyer. Fulfillment is what Amazon does when you buy a product on their web site. The interactions between the buyer and seller vary depending on whether the buyer is a consumer (B2C) or a business (B2B). For consumer purchases, the order is usually accepted through an online store or app. For business purchases, often a purchase order is received through EDI. See my EDI and Supply Chains: Sourcing post to read about a typical EDI purchasing flow.

Sometimes the seller uses an order management system (OMS) to manage orders across multiple sales channels. Let’s say the seller lists products on Amazon, Etsy, and their own Shopify store. As orders are received from these three channels, inventory will need to be allocated for fulfillment. An OMS helps aggregate order and inventory data from various sources and supports effective allocation of inventory across competing sales channels.

Whether the order data is coming from an online shopping cart, a marketplace or an OMS, the order needs to be sent to the warehouse for processing when it’s ready. The warehouse may be operated by the seller, an online marketplace (as with Fulfillment By Amazon), or a 3rd party logistics provider (3PL). The warehouse operator usually pulls order details from the source using APIs or EDI. Next the warehouse operator will pick the ordered items, pack them and prepare them for shipping. The shipment will be booked with the appropriate carrier who will respond with a tracking number for the shipment. A shipment confirmation including shipment details and tracking number will be provided back to the seller’s system so that an order confirmation can be sent to the buyer. As the shipment progresses, the carrier will usually provide shipment milestones and a delivery confirmation. This information is usually provided to the buyer so they can track their order.

Let’s review the key steps of the workflow and look at the EDI messages that are typically used for each step.

Sales Order (EDI 850 or 940)

When a customer places an order for a product, the order details can be conveyed to the seller using various approaches. In a B2B situation, the buyer could send the order using an EDI 850 message. I described that process in my previous post about sourcing. However in a B2C scenario, the buyer is usually placing an order on a marketplace like Amazon or on shopping cart software like Shopify. The order details need to be distributed to the appropriate warehouse to pick and ship the order.

This routing of orders can be complex. Perhaps there are multiple warehouses to choose from, each with different freight costs and shipment transit times . Perhaps one of the ordered products is out of stock at some warehouses but not others. Maybe inventory is available in the warehouse but some of it has already been allocated by the sales team for an important customer’s expected order. This kind of logic is usually handled by some kind of order management system.

If the seller’s primary sales channel is Amazon, much of this complexity is handled by Amazon’s systems. However as more channels are introduced and more fulfillment providers get involved, order routing becomes much more complex. In these situations after determining the optimal order routing, a warehouse ship order is usually sent to the fulfillment provider. This specifies what the warehouse needs to pick and ship for the order. The EDI message that’s normally used for this is the EDI 940.

Here are the data elements typically sent in a 940 message:

Shipping (EDI 204)

After receiving a shipping order, the warehouse will pick the product from stock, pack it, and arrange shipping with the appropriate carrier. This carrier booking process varies depending on he transportation mode (i.e. parcel , less than truckload, or full truckload). For parcel shipments with carriers like FedEx or UPS, there are standard APIs available to rate and book shipments. These APIs allow the shipper to generate a printed label and tracking number.

For LTL shipments (less than truckload), most carriers offer similar APIs that accept bookings and return a bill of lading. However some carriers or brokers prefer to receive an EDI message instead. For FTL shipments (full truckload), it’s more common to use EDI for bookings.

The EDI message used to transmit bookings to road carriers is the EDI 204 Load Tender. For other modes like air and ocean, there are different EDI messages available.

Here are the data elements typically sent in a 204 message:

After the carrier processes an EDI 204, usually they will respond with an EDI 211 which is an electronic form of the bill of lading. This EDI message includes the carrier bill of lading number which can be used for tracking. At this point the carrier will arrange for a driver to pick up the shipment and the warehouse.

Shipment Confirmation (EDI 945)

After the warehouse has picked, packed and shipped an order, they will often send an EDI 945 message back to the source order management system to confirm shipping details. The 945 will communicate shipment information like carrier and tracking number back to the OMS. Product characteristics like lot numbers or serial numbers for the specific stock that was picked may be included as well.

Depending on the policy defined by the seller, it may be acceptable for the fulfillment provider to partially ship an order when there is insufficient stock available. In this case, the 945 can be used to communicate actual ship quantities for each SKU. The 945 is quite similar to an EDI 856 and these two are often used interchangeably.

Here are the data elements typically sent in an EDI 945:

Tracking (EDI 214)

As the carrier transports the order to the buyer, they will capture shipment progress in their systems. When you track a shipment on the UPS or Amazon web sites, you see a series of milestones that have been captured by barcode scans or other technology. Although most carriers provide a public web page that accept a tracking number and reply with current shipment status, sellers often prefer to display this status in their own web site as opposed to hyperlinking to the carrier’s site. To achieve this, it’s necessary to feed milestone data from the carrier’s system to the seller’s. The most common message used for this purpose is the EDI 214. 214s are used for trucking and air shipments. A specialized 315 message is designed for ocean shipments. For parcel and many LTL carriers, APIs are the preferred method of providing tracking data. However, 214s are usually supported as a legacy option.

Here are the data elements included in a 214:

Business Benefits

By streamlining data flow across these processes, EDI messaging can significantly improve customer experience. Imagine you are the customer that has just purchased a product on an online store. What information do you expect to receive about your order? You want to know that your order has been confirmed and processed. If there is a problem like insufficient stock, you want to know this immediately (preferably before you place the order). You want to be notified when the order ships. You want to know the carrier and tracking number. And you want to track your shipment to your door.

Let’s say the seller, their 3PL, and the carrier were exchanging data manually with email and Excel spreadsheets. It would be difficult or impossible to give you order status quickly and accurately. To achieve the level of service that buyers have learned to expect from marketplaces like Amazon and Walmart, effective B2B messaging is critical.

The other key advantage to using EDI messaging for fulfillment is that it supports outsourcing of fulfillment to a 3PL. When a seller handles their own fulfillment, the whole process can be executed on a single ERP. But when a third party is introduced with their own systems, B2B messaging becomes necessary to exchange warehouse orders, shipment confirmations, and shipment details. Not only do EDI messages streamline the data flow, but it makes the relationship with the 3PL provider more “plug and play”. If it becomes necessary to replace the current 3PL in the future, as long as the new 3PL can handle the B2B messages, they can cleanly take over the business processes even if they are operating on different warehousing software.

That concludes my review of the EDI messages used in supply chain. Feel free to reach out to me with any questions you might have.