Building a CPG Supply Chain Across Mexico, Two 3PLs, and 7 Retail Channels
A former client makes date-stuffed snack packs. The dates come from a farm in Mexico. The nut butters (peanut, chocolate peanut, and almond) come from the nut butter supplier. The product requires coordinating both suppliers at once, because a delayed almond butter shipment blocks the entire production run.
That is only the front of the chain.
After production, product clears Mexican customs and flows to two 3PLs: RAD 3PL for primary storage and fulfillment, and Golden Prep for Amazon FBA prep. From there it goes to seven channels: Amazon FBA, UNFI for wholesale distribution, Jewel Osco, Target, DoorDash, AirGoods for independent retailers, and DTC through Shopify. The tech stack managing all of this is Cin7 for inventory and accounting, Extensiv for 3PL warehouse management, CartRover as the middleware between wholesale channels and the warehouse systems, Crystal for wholesale EDI order management, AirGoods for independent retailer orders, Bill.com for payment processing, and Shopify for DTC.
That is the operational picture, not the pitch-deck version.
How product moves
Inventory planning starts with Cin7. Purchase orders are created there, covering both the date supplier and the nut butter supplier. Each PO has up to four payment milestones: a deposit when the order is placed, a second deposit at a production milestone, a balance payment on receipt, and sometimes a net-30 tail. With multiple concurrent POs at different stages, tracking which payments are due and which have been sent requires deliberate structure. The payments go through Bill.com, which adds an approval workflow that can hold payments for days if the approver doesn't move quickly.
Once product is at RAD 3PL, Amazon-destined inventory gets routed to Golden Prep for FBA prep work, carton labels, packing compliance, and shipment creation. Everything else stays at RAD. Wholesale EDI orders come in through Crystal, which generates the order management workflow: PO acknowledgment, pick-and-pack instruction to RAD, advance ship notice back to the retailer, and invoice generation.
CartRover sits in the middle of all of this, connecting wholesale channel orders to Extensiv, which tells RAD 3PL what to pick. The configuration of CartRover's sync settings matters more than it should, as we learned the hard way.
What breaks and where
The most disruptive failure point in the former client's supply chain turned out to be the tech stack, not the international manufacturing and not the customs clearance.
When Cin7, Extensiv, and CartRover are all configured correctly and syncing properly, orders flow from wholesale channels to RAD without manual intervention. When one setting in Extensiv is wrong, all backorder POs fail silently. Wholesale EDI orders from major retailers stop processing, with no error message in the channel that placed the order and no obvious sign of failure in Cin7. The system looks like it's working when it isn't.
The failure came down to one setting. Extensiv's lock code configuration was set to "Ordered" rather than "Ordered and Backordered." That setting controls whether purchase orders sync to the warehouse management system when inventory is on backorder. Set to "Ordered" only, any PO that touched a backordered SKU would silently fail to sync, and the order just disappeared.
The symptom, when we diagnosed it, looked like a CartRover problem, then a Cin7 problem, then a human error in how POs were being entered. It was one dropdown in Extensiv's settings.
The lesson here isn't "change this one setting." In a multi-system stack, integration failures come from configuration, not from the data. When orders stop flowing, start at the settings layer of every middleware system before you escalate to the data layer.
The supplier coordination reality
Production requires both suppliers to deliver on time. The dates from Mexico and the nut butters from that supplier need to be in the same place at the same time for production to happen. A delay from either one holds everything.
Managing this requires treating supplier lead times as variable, not fixed. The nominal lead time might be three weeks, but the effective lead time when accounting for supplier variability is longer. Safety stock calculations that use the nominal lead time create reorder points that don't account for the actual delivery pattern.
Payment timing also affects supplier behavior. The deposit-to-shipment sequence means that a delayed second deposit payment delays the production milestone. If Bill.com's approval workflow holds a payment for four days, that's four days of production lead time consumed by an internal process.
What the tech stack actually does
Cin7 gives you inventory visibility across all channels in one system. Extensiv gives real-time warehouse visibility at RAD and Golden Prep. CartRover handles order routing without manual re-entry at every step.
None of these tools replace judgment about what to order and when. They remove friction from execution once the decision has been made. A planner who builds the right demand model gets better execution output from the same tech stack than one who doesn't, because the tech multiplies whatever inputs go in.
The seven-channel distribution setup creates a forecasting complexity that tools alone can't solve. Amazon demand is pull-through, driven by BSR and PPC and hard to predict. UNFI demand is based on retailer sell-through and replenishment cycles. Target and Jewel Osco each have their own promotional calendars and order patterns. DoorDash has different velocity characteristics than grocery retail. Each channel needs its own demand assumption in the planning model, and those assumptions need to be updated as the channel matures.
What ate the most time during this engagement wasn't the big structural decisions. It was the accumulation of small things: the payment communication gaps, the lock codes, the invoice timing mismatches, the pallet-level receiving discrepancies. The strategy was sound. The execution infrastructure had to be built piece by piece.
Want this run on your catalog?
This is the kind of problem we work every week inside live accounts. Bring your stock report to a 30-minute Fit Call, we’ll tell you which SKUs are at risk in the next 90 days. If we’re not the right fit, we’ll say so.