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
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.
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
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.
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.
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.
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
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
8Languages
„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.“
Pavel Koumar, Marketing Specialist, Hranipex
Would you like a non-binding consultation or just want to ask something?