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:
- Sales Order Number
- Order Date
- Ship To Address
- Shipping Service Level
- Product Numbers (SKUs)
- Order Quantity
- Unit of Measure
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:
- Shipper Reference Numbers
- Shipper Address
- Ship To Address
- Shipping Service Level
- Ready for Pick Up Date
- Number of Packages
- Package Type (i.e. carton or pallet)
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:
- Sales Order Number
- Ship Order Number
- Ship Date
- Ship From Address
- Ship to Address
- Shipping Mode (i.e. air, ocean, parcel)
- Waybill Number
- Shipment Weight and Dimensions
- Shipment Method of Payment (i.e. Prepaid or Collect)
- Expected Delivery Date
- Ocean Container Number (if applicable)
- Pallet Details (may include an SSCC serial number)
- Buyer Purchase Order Number
- Seller Sales Order Number
- Product Numbers (SKUs)
- Ship Quantities
- Unit of Measure
- Lot Numbers or Serial Numbers
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:
- Shipper Reference Number
- Tracking Number or Bill of Lading Number
- Milestone Event Code
- Milestone Date and time
- Milestone Location
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.
About the Author
John Berry has spent the last 30 years building software and data solutions for some of the world's most well-known supply chains. He believes supply chain and logistics are great career paths for those looking to establish technology careers. He is currently the IT Director for JUSDA Supply Chain Management, a member of the Foxconn Technology Group. In this role he leads a team that develops technology solutions for the global manufacturing supply chain. John is a contributor to the upcoming book The Digital Transformation of Logistics: Demystifying Impacts of the Fourth Industrial Revolution published by IEEE Press.
Want to learn how to use data integration techniques to optimize business results and supercharge your career? Enroll in John's Data Integration Fundamentals course on Udemy.