Most food distributors do not own the warehouse that ships their products.

Inventory sits with a third-party logistics provider, while orders, invoicing and finance run in the ERP. That split is efficient until the two systems fall out of sync.

When stock levels, shipped quantities, lot numbers and expiration dates live in the 3PL’s system and only reach the ERP by email or spreadsheet, the result is overselling, stale inventory, slow invoicing, and a serious problem the day a recall requires tracing an affected lot.

This is exactly the gap an Odoo 3PL integration closes. This article explains how we’ve helped food distributors connect Odoo to a third-party warehouse, and how it works even when the 3PL has no modern API and everything has to move over secure file transfer.

Throughout, it draws on a real Odoo to JAS Worldwide integration Aktiv Software built for COOP Italian Food North America.

How do food distributors integrate Odoo with a 3PL warehouse?

Food distributors integrate Odoo with a 3PL by automatically exchanging order and inventory data between the two systems, so Odoo sends fulfillment instructions and the warehouse sends back confirmations.

Odoo pushes delivery orders and Advanced Shipping Notices to the 3PL, and the 3PL returns receipt confirmations, shipment confirmations, actual quantities, lot numbers and expiration dates.

This keeps Odoo inventory aligned with what is physically in the warehouse in near real time, which is critical when the products are perishable and regulated.

The connection can run over an API, EDI, or secure SFTP file exchange, depending on what the 3PL supports. The method matters less than the outcome: the ERP and the warehouse stop drifting apart.

Can Odoo integrate with a 3PL that does not have an API?

Yes. When a 3PL has no modern API, Odoo can integrate with it over secure SFTP by exchanging structured files, usually XML or XLSX.

Odoo writes fulfillment files to the 3PL’s SFTP server and reads the confirmation files the 3PL drops back, then processes them into inventory receipts, shipments and stock moves.

Many established logistics providers still run older warehouse systems, so this file-based method is common and reliable, and it lets a distributor connect to its existing 3PL without forcing a change of provider.

This is exactly the approach used for our customer COOP.

We’ve built a custom module, that establishes secure, bi-directional SFTP communication between Odoo and JAS Worldwide, exchanging XML and XLSX files in both directions.

What data is exchanged between Odoo and a 3PL?

Data flows in two directions. Odoo sends the warehouse what it needs to fulfill orders, and the warehouse sends back what actually happened:

  • Odoo to JAS Worldwide Logistics(outgoing): delivery orders, Advanced Shipping Notices (ASNs), validated warehouse instructions, and complete order and fulfillment details.
  • The 3PL (JAS Worldwide) to Odoo (incoming): receipt confirmations, shipment confirmations, actual received quantities, actual shipped quantities, lot numbers, and expiration dates.

How does Odoo sync lot numbers and expiration dates with a 3PL?

Odoo syncs lot numbers and expiration dates by reading them from the 3PL’s incoming confirmation files and writing them onto the matching stock moves automatically.

When the warehouse confirms a receipt or shipment, the file carries the actual lot numbers and expiry dates, and Odoo records them against the inventory.

For food distribution this is the single most important part of the integration: every lot in Odoo carries its real expiration date, and if a recall happens, the affected lots can be traced through the system instead of reconstructed by hand.

Automatic lot and expiry capture is what turns an ERP into a food-safety asset. It strengthens recall readiness and gives distributors accurate, traceable inventory across warehouses they do not directly control.

How is the data validated before it is sent to the warehouse?

A validation checkpoint sits between Odoo and the 3PL so that only reviewed, correct transactions are transmitted.

In the COOP build this is a dedicated Ready for EDI checkpoint: a transaction is not sent to JAS until it has been reviewed and marked ready, which stops incomplete or incorrect instructions from reaching the warehouse.

Every file exchanged in either direction is then archived automatically, creating a complete audit trail for operational reviews, compliance, and product recalls.

That file-level history is what turns “we think we shipped that” into a record a distributor can produce for a retailer or a regulator on demand.

What does a food distributor gain from integrating Odoo with its 3PL?

A well-built Odoo 3PL integration delivers:

  • Near real-time inventory accuracy across warehouses the distributor does not operate.
  • Automatic lot and expiration capture, strengthening food safety and recall traceability.
  • Reduced overselling, because Odoo reflects actual warehouse stock instead of a stale estimate.
  • A complete file audit trail for compliance and recall reviews.
  • No more manual warehouse communication, replacing email and spreadsheets with automated exchange.
  • Fewer inventory discrepancies across a synchronized supply chain.

Do you run Odoo with a third-party warehouse?
Book a walkthrough and we will map how your warehouse, inventory and finance can run as one connected system.