PINO Pharmazeutische Präparate GmbH

Founded in Germany in 1904, PINO develops wellness and therapy products including massage oils, training tools, and therapy equipment. For generations, healthcare professionals in Europe and beyond have trusted PINO to deliver practice-proven and innovative products. Over the last century, the company has built a vast customer-base of physiotherapists and spa professionals and expanded its product line to include customizable massage tables.

Use Case

PINO has a complex price calculation logic, which needs to be called from the ERP system in realtime. This causes performance issues for the store frontend. In order to improve the customer experience, we analyzed how many different types of price lists exist. The result was: there are 95% of customers using the same price calculation logic. We decide to implement an import for that 95 % of customers to avoid API requests to the ERP system and call the API for the other 5 %.

Challenge

Since the price calculation on the ERP side is quite complex we needed to integrate an aggregation logic. Therefore several services needed to be called to retrieve the price list ids and their priority. In the second step prices, special prices and tier prices should be calculated by using the priorities and lists.

Solution

Using Pacemaker we integrated multiple steps for fetching data and aggregation. All these steps are autogenerated for each website, which is configured to fetch the price from the ERP system. This way we could fetch the data and aggregate the lists for each website in parallel. As a result of these aggregation processes, we create multiple CSV files for each country (website) and the different price types. After generating the files we run M2IF to import all the data at once.

Result

95 % of the customers have now a better performance and greater experience on the storefront. 100 % of the customers have correct prices depending on their contracts with PINO.

Components

Pacemaker 1.1.* Process-Pipelines
Product Pipeline
M2IF PE 3.7.* Default Mode (no Single Transaction)
Performance Booster (via Batch Processing)
Product (with custom configuration; status update only)

Entities / Frequency

Imported entities Products
Prices
Tier-Prices
Import frequency Products/Prices/Tier-Prices [Frequency: once per day, Runtime incl. data aggregation: ~35 seconds]

System

Magento Version Magento EE 2.3
ERP Quaris

Amount of data

Websites 10 (3 active)
Stores 10 (3 active)
Store Views 14 (3 active)
Categories ~700
SKUs ~1.450
~1.400 Simples
~50 Bundles
Load Comments

Please note that by clicking "Load Comments", your browser will establish a connection with servers from Disqus.
For more information, please visit our privacy statement.