PIM for beer and wine equipment retailer
anyMOTION is an owner-run 70 people digital agency with two offices in Düsseldorf and Cologne. Our core services create value for our customers by connecting different systems in an existing IT infrastructure and developing UX focused frontends (e-shops, portals, etc.). We are happy to be Pimcore Gold Partner for several years. We are still amazed by the flexibility Pimcore provides us with to cover different requirements we face in several projects.
Brouwland is a wholesaler for nearly all the products needed for brewing and fermentation processes, producing beer, wine, cheese, and so on. This comes with a wide variety within the product range, from hops to laboratory glassware. In total, Brouwland operates with about 10,000 SKU; about one third are products in the e-shop.
They are the market leader in the Benelux area but have lots of customers from other EU countries as well. Besides their Flagship Store in Belgium, the online shop is key regarding revenue and growth.
The current e-shop does not cope with all requirements and is a bit outdated in layout and UX. So Brouwland decided to conduct a relaunch and simultaneously implement a PIM system because SAP is the only storage for product data. This, in turn, comes with a limitation of field types and number of attributes and limits the accessibility of product information.
So, the requirements focused on implementing a PIM system that offers a highly flexible data model, a web-based and easy-to-use interface, and the ability to connect to SAP and the prospective new online shop.
All of this is a perfect match for Pimcore and Brouwland followed our recommendation; to have an integrated DAM was a plus for sure because product pictures only have been stored on a hard-disk drive.
Besides implementing Pimcore itself, data exchange with SAP and the online shop was the main task. Here we faced two different systems with the diverging data structure. The client and our partner agency that performs the e-shop relaunch requested that the data exchange interferences due to system updates should be limited to a minimum.
This led to the idea to implement RabbitMQ as the central data hub. The most significant advantage is that there is no need for a real-time connection between Pimcore and the target system what increases flexibility. Every update of a product data set is pushed to RabbitMQ and can be consumed by the target system whenever it is ready. Besides, the setup of several pipelines allows distinguishing different object types (e.g., products, brands, assets, etc.) and the allocation of the proper import routine. The biggest disadvantage is that there is no confirmation if the data processing was ok. To deal with the improbable case that a data import fails, an additional full export in a nightly queue was implemented.
Regarding the data structure in Pimcore, we decided to set up several object classes for complementary information such as brands, categories, etc. There is only one object class for the products at the moment, supplemented by an extensive attribute structure based on Pimcore’s Classification Store. This allows tailor-made attribute structure for the several product categories without creating too many object classes, resulting in redundant work if the basic attributes shared by all products need to be modulated.
All data exports are based on Pimcore’s Data Hub and the corresponding GraphQL queries. To increase the flexibility after GoLive, the GraphQL configuration for each object class has been stored in a configuration object that backend users can maintain. Moreover, changes in the Classification Store structure will be incorporated immediately after the changes have been processed.
At Brouwland, several departments and systems are involved before a product can be sold in the e-shop. We used the workflows' opportunities to provide enough guidance to the editors without taking away too much flexibility.
One peculiarity of Brouwland's setup is that new products are supposed to be set up in the PIM, not the ERP. If a new product is set up, it will be defined as "new" in Pimcore and get the corresponding workflow state. After filling in some basic information, the editor can change the workflow to "Ready for SAP," which results in a check of the mandatory fields. If everything is fine and the workflow state has changed, the product will be exported via RabbitMQ to SAP. In SAP, the Supply Chain team takes care of maintaining further relevant data that, in the end, will be transferred from SAP to Pimcore. Now the Marketing team can start to add all available marketing information.
Once everything is fine from a marketing point of view, the workflow can be set to "Request for publishing," which results in a notification of the chief editor who proceeds the final quality check before documenting the approval via the final workflow state ("Ready for publish"). After that, the product will be transferred to the relevant e-shop queue immediately.
The current setup perfectly allows storing all products of Brouwland’s stock in one central system. Nearly 100 Group Collections in Pimcore’s Classification Store solve the problem from the heterogeneous product structure and provide tailor-made attribute sets for each product category without being forced to use more than one product object class. The data is used and displayed in the eCommerce system Prestashop.
Using the Data Hub with GraphQL configuration gives flexibility when further channels are to be connected.
The time for maintaining product data is less than 50% compared to the available setup before the Pimcore setup, and the available attribute sets increased.
Want to submit a guest post to Pimcore's Blog?
It has over 4 000 subscribers and attracts more than 50 000 monthly visitors, and we're always looking for more brilliant contributors to join our ranks. Contact us.