Skip to Content

Westfalia.de

German e-commerce website

Website / online store Germany www.westfalia.de
  • Move from Plentymarkets to Odoo, catalogue and warehouse
  • Forty storefronts on one instance, one deploy
  • Catalogue 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 catalogue and one deploy.

Catalogue 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 optimisation 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

Odoo 18 Odoo eCommerce OWL FastAPI PostgreSQL Redis Elasticsearch Traefik Nginx Cloudflare Grafana

What this was, in terms of services

Same kind of task?

Half an hour on a call, and you leave knowing what I would do first.