← Back to all posts B2B & wholesale

PIM, EDI and customer portal in Odoo: the three building blocks of B2B wholesale and import

B2B wholesale and import run on three things that must be right: clean product data (PIM), electronic orders (EDI) and self-service for your customers (portal). Separately they work halfway; together on one data model they form the backbone. This is what each does, how they come together in Odoo, and where it goes wrong.

Also in: Nederlands Deutsch

B2B wholesale and import run on three things that must be right: clean product data, a smooth order flow with large buyers, and self-service for your customers. In practice those are three building blocks - PIM, EDI and a customer portal. Separately they work halfway; together on one data model they form the backbone of a B2B operation. This is what each does, how they come together in Odoo, and where it goes wrong.

Why these three together are the backbone

A wholesaler or import company does not sell to consumers who type in an order themselves on a nice webshop. It sells to other businesses: retailers, chains, buyers with their own systems and requirements. That asks for something other than a sales channel alone. It asks that your product data is right, that you can exchange orders electronically, and that your customers can arrange their own affairs. Those three are not separate projects - they interlock, with the product data as source.

PIM: the product data as foundation

PIM (Product Information Management) is the management of your full item data from one source: specifications, variants, prices, images, compliance and documents. It is the foundation because everything flows from it: the catalogue that goes to retailers, the webshop, the quotes, the portal. If the product data is wrong, the rest is wrong too - then you sell wrong specifications, miss a certificate, or the portal shows a price that no longer applies.

For companies with thousands of items and a complete dossier per item (compliance, packaging, artwork) the standard product model does not always suffice. Then we build the PIM as a shell around Odoo, with only the transactional subset in Odoo itself. We worked that approach out in Odoo for procurement, sourcing and import companies - there a single item row was good for 173 columns.

EDI: the order flow with large buyers

EDI (Electronic Data Interchange) is the electronic exchange of orders, order confirmations, delivery notes and invoices with large buyers. Where a small customer emails an order list, a large retailer expects it to go automated - and increasingly it is a hard requirement to be allowed to be a supplier at all.

Without EDI you download orders by hand from a mailbox and retype them. That works up to a certain volume and after that becomes a bottleneck and a source of errors. An EDI connection processes incoming orders automatically into sales orders in Odoo, with the right item data (from the PIM) and the statuses back to the buyer. You do need the EDI specifications of the retailer in question; that is always the first step.

Customer portal: self-service for your customers

A B2B customer portal gives your business customers access to their own environment: order history, quickly placing repeat orders, retrieving quotes and documents, viewing invoices, managing their account. That does two things at once: it lowers the load on your inside sales team (fewer emails and calls) and it raises service and loyalty.

In Odoo you build this on the standard portal function, with an extension where your process is unique. We wrote separately about it in B2B customer portal in Odoo. The portal shows the same product data as the EDI catalogue and the webshop - because it comes from the same source.

How they come together on one data model

Here is where the real gain sits. In Odoo, PIM, EDI and the portal do not stand separately next to each other, but on one data model:

  • The product data (PIM) feeds the webshop, the EDI catalogue and the customer portal - one source, not five.
  • Orders from EDI and the portal become sales orders in Odoo, with the same items and prices.
  • The stock and availability the channels show come from the same system.
  • The accounting runs along automatically.

If you also sell online to smaller buyers, a webshop channel is the fourth building block; how you connect that is in Connect Shopify to Odoo. Everything on the same data model means a change in one place is right everywhere.

Where it goes wrong

The pitfalls are always the same:

  • PIM as an afterthought. If the product data is a loose end, the problem leaks through to every channel. Start with the data.
  • Underestimating EDI. Every retailer has its own specifications; “an EDI connection” does not exist in general, only per buyer.
  • A portal that is only a login. Without real self-service (repeat orders, documents, status) a portal is an empty shell that does not relieve the inside sales team.
  • Separate systems. A separate PIM package, a separate EDI tool and a separate portal that you keep in sync by hand rebuilds the Excel chaos - more expensively. The power is in one data model.

In short

B2B wholesale and import run on PIM, EDI and a customer portal. Product data is the foundation, EDI is the order flow with large buyers, the portal is the self-service for your customers - and the gain is that in Odoo they come together on one data model, with the product data as source. Standard where it can, a targeted extension where your process is unique.


Are you building a B2B wholesale or import operation on Odoo? Schedule a no-obligation Quickscan and we will map your product data, your order flows and your portal wishes - including what can be standard and what becomes custom work.


Read more: Odoo for procurement, sourcing and import companies · B2B customer portal in Odoo · Connect Shopify to Odoo · From Excel to Odoo · What does an Odoo implementation cost?

Frequently asked questions

What are the key building blocks for B2B wholesale in Odoo?

Three: product data management (PIM) for clean, complete item data; EDI for the electronic order flow with large buyers; and a customer portal for self-service (orders, repeat orders, documents, invoices). Separately they each solve part of it, but the gain is in the coherence: on one data model in Odoo they feed each other, with the product data as source.

What is PIM and why is it the foundation?

PIM (Product Information Management) is the management of your full item data: specifications, variants, prices, images, compliance and more, from one source. It is the foundation because everything flows from it: the webshop, the EDI catalogue towards retailers, the quotes and the customer portal. If the product data is wrong, the rest is wrong too.

What does an EDI connection do for a wholesaler?

EDI (Electronic Data Interchange) exchanges orders, order confirmations, delivery notes and invoices electronically with large buyers, instead of by email or by hand. Large retailers often require it. An EDI connection processes incoming orders automatically into sales orders in Odoo and sends statuses back, so you scale with what your buyers expect.

What can a B2B customer portal in Odoo do?

A B2B customer portal gives your business customers self-service: view their order history, quickly place repeat orders, retrieve quotes and documents, view invoices and manage their account. That lowers the load on your inside sales team and raises service. In Odoo you build this on the standard portal function, with an extension where your process is unique.

Can you have PIM, EDI and a portal in one system?

Yes, and that is exactly the point. In Odoo they come together on one data model: the product data (PIM) feeds the webshop, the EDI catalogue and the portal; orders from EDI and the portal become sales orders in Odoo; and the accounting runs along. That way you avoid separate systems you try to keep in sync by hand.

Recognize this from your own setup?

A 30-min scan turns hunches into a concrete view, what stays standard Odoo, what becomes custom, what doesn’t need code at all.

Get in touch ← Back to blog