Keizer International B.V. distributes packaging solutions — bottles and caps — for the food industry to customers across the Netherlands and internationally. It is a B2B market with specific demands: customers are food manufacturers, volumes are high, delivery commitments are tight, and contract prices sometimes run for years while procurement conditions change.
That makes Keizer International’s operations more complex than a standard wholesale business. A solid order flow is not enough — you also need control over price history, returns, customer communication and international shipping across multiple carriers and routes.
The challenge
Keizer International had been running on SAP Business One as their ERP for many years. SAP B1 offered insufficient flexibility for the specifics of their operation: the historical pricing structure did not fit neatly into standard SAP logic, customisations were expensive to build, and connecting to carriers required significant manual work.
The decision to migrate to Odoo was driven by the need for a platform that fits their processes more closely — and where custom requirements can be realised faster and at lower cost.
Specific pain points were tracking historical customer prices, processing returns, managing shipments to international customers through multiple carriers with complex routing logic, and the absence of structured authorisation workflows for orders outside standard parameters.
The approach
We implemented Odoo as the central platform for the entire operation.
Sales, purchasing and warehousing
The Odoo modules for CRM, Sales, Inventory and Purchase form the backbone of daily operations. Sales and purchase orders are linked to the stock administration. Customers and prospects are managed in CRM, with full order history visible per account.
Historical pricing
One of the most valuable customisations is the historical customer pricing module. Food manufacturers sign contracts with price agreements that span multiple quarters or years. Odoo displays the current price by default — but Keizer International also needs the historical price per customer and per period, for verification, disputes and billing decisions. This functionality was built to measure.
RMA and customer service
The Helpdesk module handles customer enquiries and complaints. Through website forms, customers can submit an RMA request — a return or complaint request. That request lands directly in Odoo, is assigned to the right team member and linked to the relevant order. No more separate inboxes.
Carrier integration and complex routing
Keizer International works with multiple carriers for international distribution. Different rules apply per destination, weight and order type: which carrier, which route, which documentation. This has been implemented as a custom routing logic within Odoo — the correct carrier is selected automatically based on order and destination characteristics.
Odoo generates the required shipping documents and pushes the right information to the carrier. Orders that fall outside standard parameters — in terms of volume, discount or destination — go through an authorisation workflow before they are confirmed.
Result
Keizer International now operates from a single platform: from CRM and quotation to delivery, invoice and any return. The migration from SAP Business One to Odoo has delivered a system that fits their processes more closely and where custom requirements are realised at a fraction of the previous cost. The historical pricing module provides certainty when contract questions arise. Carrier routing is automated. The RMA flow runs in a structured way. And authorisations no longer travel through loose email threads.
Further reading: Odoo for wholesale · All client cases