EKI: Composable B2B commerce at scale
May 15, 2024 by
Nicklas Gellner
Oscar Tyrberg
Nicklas Gellner and Oscar Tyrberg
Learn how rb2 used Medusa’s modules and customization framework to integrate with existing systems, handle complex pricing configurations, and set up a more personalized B2B experience for Europe’s leading foam and rubber producer.
EKI, a 150-year-old Dutch business, is the leading producer of foam and rubber in Europe. They serve over 9,000 B2B customers in 42 countries, offering highly customized products with all production in-house. Customers can create more than 20 million different product configurations in their shop, combining different foam and rubber materials, lengths, thicknesses, and more.
Migrating from Magento to Medusa enabled EKI's implementation partner, rb2, to handle this product and pricing complexity while effectively building customizations using Medusa’s framework tooling. This allowed them to set up a personalized purchasing experience for their B2B customers, including custom pricing and discounts, more transparency into order statuses, and more.
“When looking at solutions, we wanted a commerce engine that fit with EKI's setup. […] The most important part was that it could fulfill their custom B2B logic and integrate with EKI’s existing systems, which Medusa was the best solution for.Ruben Langeweg
//
Solutions Architect at rb2
Choosing a customizable and modular architecture
Before Medusa, EKI already had an existing B2B shop, but the rigidity of their previous ecommerce platform made it difficult to customize and integrate effectively with their other systems. Consequently, EKI decided to look for a new ecommerce platform with the following characteristics:
- Modular architecture: This would allow EKI to replace existing services and plug in systems that it already had in place, including its custom-built product configurator, PIM, ERP, CMS, and more.
- B2B-specific features: The solution should enable EKI to add B2B features such as custom pricing, company-specific promotion and discount rules, and the ability to associate multiple purchasers with one organization.
- Ease of adding customizations: Since many custom configurations and integrations were required, it was important that custom logic could be implemented and maintained easily.
While the implementation partner, rb2, was experienced with solutions like Commercetools and BigCommerce, they found a lighter and open solution a better match for EKI, one that would give them direct access to replace and customize the services within it. Medusa's modular architecture perfectly met these needs, while the built-in framework tooling sped up the implementation time for the custom features.
“The possibility of having so much freedom out of the box when building B2B applications is really nice. […] Building custom services is straightforward. Customizing existing services is also straightforward. Overall it is a very lightweight solution to work with.Ruben Langeweg
//
Solutions Architect at rb2
Orchestrating a composable commerce setup
EKI used Medusa's modules to manage three core commerce operations: orders, customers, and cart logic. With the help of Medusa's customization framework, including the Redis Cache Module and subscribers, EKI easily connected their existing systems to the Medusa modules using an event-based architecture. This enabled integration with existing services like their PIM and ERP systems, as well as a custom-built Product Configurator and Data Management Portal (DMP) for handling EKI's advanced product and pricing configurations.
The result was a composable commerce setup with each system having distinct responsibilities:
- Medusa handles the cart and checkout, incorporating price inputs from the Product Configurator and making custom shipping calculations based on customer data from Odoo. It also manages orders and synchronizes fulfillment statuses from Odoo.
- DMP holds all the data used for custom pricing calculations based on product configurations and organizational data from the buyer.
- Product Configurator calculates pricing using the DMP inputs and the customers' product configurations in the storefront.
- Odoo serves as an ERP system, handling the fulfillment and inventory. It also stores organizational data on the customers.
- Strapi is used as a PIM system for descriptive product data (e.g., materials lists and product images), which is pushed to the product configurator.
“Our approach was to use systems to handle what they are best at. We let the ERP handle company data and fulfillment, PIM handle product data, and Medusa handle the core commerce engine.Ruben Langeweg
//
Solutions Architect at rb2
Organization links and personalizing the B2B experience
A crucial customization for EKI was linking multiple buyers to an organization, as most of their customer organizations had several purchasers using the platform. To do this, Medusa's customer entity was extended with an associated Organization ID. This way, they could allow purchasers to self-service much better than previously, as they could easily make purchases on behalf of their organization and view existing orders from across the organization.
The Organization ID was also key to building a more personalized customer experience as pricing, product recommendations, and similar elements could now be tailored to the organization:
- Browse products: Once logged in, customers can view tailored product offerings based on their organization profile.
- Product selection: Customers can generate custom price quotes directly in the webshop by selecting materials, quantity, dimensions, and more.
- Add to cart: Customers get personalized discounts and promotions based on their organization profile and order amount.
- Checkout & Order: Shipping costs are personalized and calculated in Medusa based on each customer's organization profile.
- Payment & Fulfillment: Finalized order data is stored in Medusa and synchronized with Odoo for fulfillment. Payment is handled through a Medusa-Mollie integration.