Westfalia.de
German e-commerce website
- Move from Plentymarkets to Odoo, catalog and warehouse
- Forty storefronts on one instance, one deploy
- Catalog search from eight seconds to one
What they came with
A German retailer ran on Plentymarkets and decided to move the whole business to Odoo: about 110,000 products, the warehouse, and forty storefronts that had to live in a single instance.
It is not a project with an end date. I have been on it from the first import and still work on it.
What was done
The migration came first: products, stock and the warehouse processes. Warehouse logic was largely rewritten to the way this company picks and ships, barcode scanning included - the standard flow did not fit.
The storefront started from a theme and ended far from it: a custom reviews module written from scratch, delivery options, banners and the rest of what forty shops need while sharing one catalog and one deploy.
Catalog search moved to Elasticsearch behind a small Go service, while Odoo stayed the source of truth. Around it grew separate services: delivery statistics, an orchestration service, and feed generation for Google Merchant Center. The Amazon integration was simplified rather than grown. APIs were opened for automation tools - n8n and Windmill.
Query optimization never really stops here: forty shops on one instance sit close to the memory limit, and every heavy report is a decision about the whole system, not about one page.
How it turned out
Search answers in about a second on the same hardware, and forty storefronts run as one deploy: a new shop is a domain and a theme, not a new server.
The business runs on Odoo instead of a rented platform, and the parts that are specific to it - warehouse, reviews, feeds - are its own code.
Stack
Which services this work falls under
Written up in the blog
- Forty websites in one Odoo instance What it saves, what it shares, and the moment the shared workers start to hurt.
- Search on 110,000 products took eight seconds. Now it takes one. Why the fix was not a bigger server, and what it cost to run afterwards.
Same kind of task?
Half an hour on a call, and you leave knowing what I would do first.
Other cases
- Internal system
Clickenrent
Bike rental company
- Warehouse, CRM and invoicing in one Odoo
- Custom workflows and documents printed on a trigger
- Website / online store
Plastetica
Aesthetic and surgical medicine
- The whole site built from the designer's project
- Personal area and chats between users
- Internal system
Tucker Bloom
Internal system for a bag manufacturer
- Migration from Odoo 15 to Odoo 17
- Modules set up after the move