Hranipex B2B sales portal connected to ERP running in 11 countries

We created a B2B sales portal that we connected to the QAD ERP system for one of the most successful Czech family-owned companies with billions in turnover. Product availability and customer data are self-updating for each of the branches across Europe. In addition, the localised e-shops work with their own products and in the language Hranipex needs.

b2b sales portalconnector with erp qadweb localizatione-shop connected to is/erp
Homepage of the Hranipex sales portal

Integration of the e-shop with an information system saves the company dozens of hours

Our long-term cooperation with Hranipex started back in 2007. At that time, the family-owned company wanted to modernize their website and, most importantly, create a connector with the internal ERP QAD system.
Specifically, they needed:

  • To enable the customer to order via the web and make the order to be sent to QAD,
  • The inventory data to be written from the ERP to the e-shop in real time,
  • The registered customers data to be written to the e-shop directly from the CRM,
  • And that the whole logic can be applied to branch websites in other countries and in different languages.

In addition, the customer wanted to keep all data on the servers inhouse for security and stability reasons.

What is ERP and QAD

ERP is a piece of information system/software that companies use to manage business processes (e.g. finance, operations or HR). One of the developers of ERP is the Californian company QAD - their system is robust and used by companies all over the world.

Schematic diagram of QAD ERP connected to Hranipex's B2B business portal
Schematic diagram of QAD ERP connected to Hranipex's B2B business portal

About Hranipex

Hranipex is one of the largest Czech family-owned companies. In Humpolec they produce the basic component of furniture - furniture edge. You can find it around your desk, it is glued to the edges of the boards for design and safety. The company is the largest manufacturer of furniture edges, adhesives and cleaners in Central Europe with an annual turnover of over CZK 2 billion and branches in 11 European countries.

logo Hranipex
65+
markets
5 500+
offered products
250 000+
km of furniture edges per year

As managing partners, we managed to take care of everything at once

"The client liked the fact that he would get a modern website for its time and an optimized e-commerce solution connected to his information system in one package. We worked with our partner company Bioport, who focused on design."

One of the first versions of Hranipex portal
One of the first versions of Hranipex portal

B2B portal connector with QAD ERP checks inventory of thousands of products, prices and correct VAT

We first studied the QAD information system documentation and then met with the supplier to find out how to design the project correctly. The best solution we came up with was to create an API so that the connector could transmit everything we needed:

  • Products and their variants,
  • the correct inventory quantity by branch,
  • the right pricing by customer price levels,
  • tustomers from the CRM,
  • purchase history,
  • business process (purchase, orders, invoices, etc.).

Just to give you an idea, Hranipex has 88,000 product variants in the system. All of this has to be constantly updated so that the customer doesn't order something that is no longer in stock.

When you want to open an e-shop in a foreign country, you have to comply with the local legislation. So does the correct VAT settings. And that's not exactly easy when you operate in as many markets as Hranipex. That's why you need the e-shop to strictly respect the branch settings.

Tomáš Klíma,
Project manager COex

B2B portal was created in eight languages

We have implemented a solution that allowed for multiple languages and multiple Hranipex branches that are spread across Europe. It was important to offer all the languages relevant to the local market for a given branch:

  • Czech,
  • English,
  • German,
  • Spanish,
  • French,
  • Italian,
  • Dutch,
  • Russian.

However, languages are not everything for individual branches, as each offers slightly different products or even whole different categories. The e-shop reflects this. We have solved this through a branch API that offers the right local data according to the branch parameters, such as available products, their variants, stock levels and prices.

The portal allows the client to operate the e-shop locally in all countries where the client is present.
The portal allows the client to operate the e-shop locally in all countries where the client is present.

Collaboration timeline

The development started at the end of 2007 and we managed to complete the first phase in 6 months. An update followed four years later, linked to the client's expansion into other European countries. In the following years, we continuously added more European branches in local languages. To this day, we maintain the servers and develop the application in small ways according to the client's requirements.

2007

December

Start of cooperation

2008

June

Launch of the first production version of the e-shop

2012

May

Analysis of new requirements

2012

Autumn

Major work on the big update

2013

April

Launch of the production version

2022

To date

Server maintenance and administration and minor development

Search algorithm understands people and finds the edge with typos

In an e-shop with thousands of products, search has to work really well. So we investigated what people search for most often and what they mean by that. Because it's hard to remember the exact name of a product, which consists of a colour and numbers.

We have therefore adapted the search algorithm to any typos. It can even search for an edge from a garbled notation of a compatible plate.

An example of what cabinetmakers enter and what they want to find (and find, thanks to us):

  • u212, u 212, 212 → Egger U212 board,
  • white edge → HU 11013 ABS white,
  • U156 → Egger U156 ST15, U156 ST9, 156 MD and other variants with 156.
Cabinetmakers do not need to specify the exact name. The search engine will understand them.
Cabinetmakers do not need to specify the exact name. The search engine will understand them.

Python, Django and PostgreSQL technologies were used to get good results.

We opted for a reliable combination of backend and frontend based on:

  • The backend of the application is written in Python programming language,
  • using the proven Django web framework,
  • for databases we used PostgreSQL and Redis,
  • full-text search powered by Elasticsearch,
  • we use Celery to manage asynchronous tasks,
  • webserver is powered by Gunicorn and Nginx is used as a proxy server,
  • PDFs with 1200 pages of edge and board comparison tables are generated using LaTeX

You can find out more about the tools and technologies we use at COex on the web technologies page.

python django PostgreSQL elastic redis nginx celery gunicorn gunicorn

Project architecture

During development, we addressed whether the data would sync in real time as the client originally wanted. We found that the constant synchronization of tens of thousands of products was data-intensive and put a disproportionate burden on QAD's ERP. Therefore, we decided to synchronize the data periodically once every two hours for each branch, which still ensures smooth operation.

To avoid inconsistencies in the data, we have identified ERP QAD as the main source of data. In the e-shop administration itself, most of the data is only in the form of reports and read-only tables (except for the CMS with content and the translation system with translations of all texts).

Project architecture diagram and connection to QAD ERP
Project architecture diagram and connection to QAD ERP

Adding new branches and making a big update

After the connector development, we worked on the localizations. First we took care of branches in the Czech Republic, Poland, Hungary, Romania and Slovakia, and in the following years we took care of branches in Germany, Lithuania, Ukraine, Austria and France, and finally we conquered the UK.

In 2012 we embarked on a major update. We updated the frontend and backend of the application and prepared the system for more frequent updates of data from QAD ERP. The main reason for this update was the growing number of new branches, orders and customers. Thanks to the analysis of the products searched, we prepared a new and significantly faster way of searching for Hranipex customers using Elasticsearch.

Results and tweaks

When the client first started with the e-shop, almost all customers ordered through merchants. Although merchants are still the main channel in this segment, orders through the e-shop grew from 2% to 30%.

Each branch now has a localised e-shop with the right prices, in the language they need and with the products they need to offer at that location. In addition, we have been able to:

  • Ensure stable data synchronization every two hours.
  • The customer doesn't need to type the exact name of the product into the search, the search engine will understand it by the clues.
  • The client offers personalized prices according to what the customer orders most often.
  • cabinetmakers generate a PDF catalogue that matches board types with the correct edge types.
88 000+ Product variants
22 000+ Customers
8 Languages

We have been cooperating with COex since 2007, throughout the whole time it has been a strong and reliable partner, not only in the development of customized e-commerce solutions with connection to the company's ERP system QAD, but also in the maintenance and development of the project and server management.

Marketingový specialista
Pavel Koumar,
Marketing Specialist, Hranipex

Would you like a non-binding consultation or just want to ask something?