← Back to all posts B2B & wholesale

Odoo for procurement, sourcing and import companies: from 173 Excel columns to one product model

Sourcing and import companies work between two worlds: factories in Asia and demanding retailers in Europe. We recently made a solution assessment for such a company where a single article row held 173 Excel columns. This is how Odoo brings the chain from RFQ to retailer onto one platform - and why PIM is the heart, built as an Updoo shell.

Also in: Nederlands Deutsch

Sourcing and import companies live between two worlds: factories in Asia, and demanding retailers in Europe. In between sits a chain of RFQs, samples, inspections, compliance, article data and invoicing. We recently made a solution assessment for such a company, and one number stuck: a single article row held 173 columns, in 13 field groups, each with a supplying party and a responsible role. That is not a product list - it is a complete PIM model that happens to live in Excel. This is how Odoo brings that chain onto one platform, why PIM is the heart, and how we build it with Updoo.

The sourcing model has its own demands

A sourcing or procurement-facilitation company is not a standard wholesaler. It helps retailers and online players buy directly from the factory in Asia - OEM and private label - and earns on facilitation, quality and margin. The business model determines what the system must do. In practice we see two variants, often side by side:

  • Facilitating for a fee: you bring the customer to the right factory, arrange quality, compliance and logistics, and earn a fee or margin. You hold no stock yourself.
  • Buying and reselling: you buy to order, get paid up front, and arrange the import. Here too, goods go directly from the factory to the customer.

Both demand a system that can handle the chain - from the RFQ at the factory to delivery at the retailer - without you managing a warehouse. That is a different question from “inventory management for a wholesaler”, and precisely where generic tools get stuck.

Every product introduction in a new Excel file

At this kind of company the process is often excellent on paper. What is missing is one system. Everything runs via Excel, Teams, email and an ERP with limitations. Every product introduction goes through the same series of milestones - in the assessment more than 25, from shopping list to product evaluation - but each time in a new Excel file. That costs time, causes errors, and makes steering on status impossible. You cannot see at a glance which products sit where in the process, which inspection is scheduled, or which certificate is about to expire.

This is the same dynamic we described in from Excel to Odoo: not small or immature, but stuck on loose files. The homework is done well; it lacks a home.

The architecture: from RFQ to retailer on one data model

What it comes down to is coherence. In Odoo the links of the sourcing chain come together on one data model. From the assessment, with an honest split of what runs standard and what is built:

DomainApproachIn short
CRM & contactsStandardCustomers, suppliers, leads, visit reports
Sales & purchasingConfigurationSO/PO with down payments, Incoterms, commission
Project management (NPI)ConfigurationThe 25+ milestones as a project template with phases, deadlines and RACI
AccountingConfigurationMulti-company across entities, with bank connections as a point of attention
PIM / article creationCustom (Updoo shell)The heart of the system - see below
Retailer EDICustomAutomatic order intake instead of manual downloading
Supplier portalCustom (Updoo)Suppliers upload certificates, photos, packaging data themselves
Inspections & qualityConfigurationPSI reports, sample approval, formal sign-offs
Compliance monitoringCustomFlag expiring certificates, proactively
Inventory / POSLaterNo own stock; deliberately out of scope

That honest split is half the work: no hollow “Odoo does everything”, but clear what you switch on, what you configure, what you build, and what you deliberately move to a later phase.

PIM: the heart of the system

Back to those 173 columns. They fall into 13 field groups - from general product info and price history (FOB, landed cost, sales price per country, margin) to logistics, packaging convenant (grams per material for PPWR), artwork requirements with dozens of compliance markings, certification (BOM, TCF, REACH, RoHS, DPP), test reports per sample phase, and ten product-photo positions. Each field has an owner: the supplier, the compliance department or the merchandiser.

That is not a product list. It is a complete PIM model, including who supplies what. And that is exactly where standard Odoo falls short, for three reasons:

  • Price history with dates. FOB price 1, 2 and 3 with date, plus landed costs and sales prices per country. Odoo keeps the current price, not a structured history with margin calculation.
  • Ownership per field group. The supplier fills in logistics and packaging, compliance the certifications, the merchandiser the basics. That requires write rights per field group - standard Odoo has rights per model, not per field group.
  • Compliance as a living dossier. Certificates and markings expire and determine whether a product may go into inspection. The system must be proactive: flag before something expires, not after.

Our proposal: PIM as an Updoo shell around Odoo

Here we make a deliberate architecture choice. No external PIM package - those are built for retail catalogues (many SKUs, little process), while this model is the reverse: each article carries a complete dossier with ownership per field group and an approval flow. And no heavy custom module inside Odoo either - that fights the framework and ties down your hosting.

Instead: an Updoo product as a shell around Odoo. The shell is the source for the full 173-field model; Odoo only gets the transactional subset that orders, invoices and margins need - article number, EAN, description, cost, HS code, colli, some 15 to 20 fields. And the sync is one direction: from the shell to Odoo. That last part is a principle, not a detail: syncing back and forth rebuilds the Excel chaos, but more expensively. One source of truth means truly one.

We use the same pattern for the supplier portal: an own portal layer on top of Odoo where suppliers upload certificates, photos and packaging data themselves, with Odoo as the data layer. Faster, more flexible and more manageable than prising open the standard Odoo portal. That way portal and PIM become one environment for the supplier, instead of two loose systems.

What the data does after creation

Article creation is one moment; only then does it start. That is precisely why this is a living system and not an archive. The data does four things:

  • It feeds transactions. The subset in Odoo returns on every PO and SO line, invoice and margin calculation. On a repeat order the system automatically checks whether the data still holds: certificates valid, latest artwork and manual linked.
  • It mutates. New FOB prices, changed packaging, new manual versions, articles from New to Active to EOL - each change with date and owner. The history Excel does not keep.
  • It expires. Certificates have an expiry date. The shell monitors it and triggers renewal at the supplier via the portal, with the mail signals you need.
  • It reports. Packaging data becomes PPWR reporting, DPP is coming, vendor scorecards and margin dashboards draw from the same source. And a customer catalogue or website in a later phase becomes easy: the data already exists.

Multiple entities, China and Europe

Sourcing companies almost always combine multiple countries and entities: sales in the Netherlands (and sometimes Poland), back office in China, a separate entity in Hong Kong. That stacks complexity, and there are three things to be honest about up front:

  • Bank connections. For European banks an automatic connection is standard; for Chinese and Hong Kong banks you test this per bank. If it cannot be automatic, daily bank import is the honest alternative.
  • Hosting and performance from China. Access to a cloud environment from China is a known point of attention. The question “Singapore versus Europe” becomes urgent when most of your users sit in China. We work that choice out in the hosting guide.
  • Communication. WeChat with factories is daily reality in China, but not a standard Odoo integration. Expect email and portal in the system, WeChat alongside.

Odoo runs the entities as multi-company with consolidated reporting; the local accounting (for example the Chinese one) you often keep local and connect to the group - the trade-off is in international accounting with Odoo. More on multilingual, international deployment in Odoo for international rollouts.

The pressure from large retailers: EDI and portals

A separate trigger that forces your hand: large retailers do not work with order lists by email. They expect EDI connections, order statuses, a supplier portal and clean article data. In the assessment the orders still arrived in a mailbox and were downloaded by hand - workable up to a certain volume, a bottleneck after that. You automate that order intake into sales orders in Odoo, provided you have the retailer’s EDI specifications. If you also sell online yourself, this connects to our guide on connecting Shopify to Odoo.

The most important architecture question

One question determines the whole setup, and you ask it in the fit-gap: is the product model yours, or yours-for-a-specific-retailer? If many field groups now carry a large customer’s requirements, and a second retailer comes along, the model has to handle customer-specific layers - own article numbers, own compliance requirements, own artwork. That determines whether you build a dataset per customer or one generic model with customer profiles. It is the most important architecture choice of the whole project, and you make it best up front.

How to approach it

  1. Fit-gap on the heaviest parts. The PIM architecture (the customer question above), the EDI specifications and the user landscape across entities.
  2. Decide the source of truth. The product model is one, not five. Sync one direction.
  3. Phase honestly. Phase 1 = PIM, project management, orders and finance. Dashboards grow along. Website, email marketing and events come after.
  4. Test the assumptions. Number of real users versus portal users, bank connections, hosting location - that affects both the licences and the cost. We do the honest maths in what an Odoo implementation costs.

In short

A sourcing or import company does not have a stock problem but a chain problem: from the factory in Asia to the retailer in Europe everything has to add up, across multiple languages, currencies and entities. The gain is not in more software, but in one product model that carries the whole process. Odoo brings purchasing, sales, project management, EDI, inspections and accounting together; and with Updoo we build the PIM shell and portals where your process is unique. Standard where it can, a smart shell where it has to.


Recognise this in your trading or import company? Schedule a no-obligation Quickscan and we will map your chain, your scope and your biggest risks - including an honest split of what runs standard and what becomes custom.


Read more: From Excel to Odoo · Odoo for leasing and rental companies · Odoo for international rollouts · PIM, EDI and customer portal for wholesale · Odoo hosting and data residency international · Connect Shopify to Odoo · What does an Odoo implementation cost? · Updoo: extensions on Odoo

Frequently asked questions

Which system fits a sourcing or import company?

A sourcing or import company needs a system that connects purchasing, sales, product data (PIM), project management with milestones, EDI orders, inspections, compliance monitoring, portals and accounting on one data model, across multiple languages, currencies and entities. Loose tools and Excel get stuck on the chain between factory and retailer. Odoo covers most of it as standard, with targeted extensions (such as a PIM shell or a supplier portal) where the process is genuinely unique.

Does Odoo work if you hold no stock yourself?

Yes. Many sourcing companies buy to order or only facilitate for a fee, without their own stock; goods go directly from the factory to the customer. Odoo supports dropship and make-to-order flows, down payments, Incoterms and commission calculation, where a sales order directly drives a purchase at the factory. You can then deliberately leave inventory and POS out of scope.

Can Odoo handle a PIM with hundreds of product fields?

The standard Odoo product model has variants, attributes and documents - enough for many companies. But a sourcing PIM with price history per date, ownership per field group (supplier, compliance, merchandiser) and compliance as a living dossier needs more. Our approach: build the full PIM as a shell (an Updoo product) around Odoo, and sync only the transactional subset into Odoo. That keeps flexibility without fighting the framework.

Can Odoo handle multiple entities in China and Europe?

Yes. Odoo runs multiple entities (for example a Hong Kong and a Chinese one) as multi-company with consolidated reporting, in multiple languages and currencies. Points to test up front: bank connections with Chinese and Hong Kong banks are not a given, and access to a cloud environment from China (hosting location Singapore versus Europe) is a real trade-off if most of your team sits in China.

Can Odoo process EDI orders from large retailers?

Yes, via an integration. Large retailers send orders electronically, or they still arrive in a mailbox and are downloaded by hand. You automate that order intake into sales orders in Odoo, with the right article data and statuses back. You do need the EDI specifications of the retailer in question; that is the first step.

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