Case Study eKasa Oxyrion

How we created a tailor-made POS system for Oxyrion

eKasa Oxyrion

What is Oxyrion?

Visit their website

In this case study, you'll find out

  • How we created a tailor-made POS system,
  • what phases the development consisted of
  • and what benefits the solution brings to the client.

Why did the client request a tailor-made cash register?

Since July 2019, businesses have been obliged to use an online cash register, i.e. eKasa, at their sites. Therefore, several ready-made software solutions are currently available on the market that enable the sale of services and goods in accordance with the law. The Financial Administration of the Slovak Republic itself even provides entrepreneurs with their own free software.

And although these solutions may be suitable for some entrepreneurs, they often only have the basic tools necessary to register and pay for goods or services. Personalizing the application environment or supplementing it with other functionalities is usually expensive or not available at all.

Our customer Dejmark, for whom we develop Oxyrion applications, encountered this limitation too. As they are also involved, for example, in the sale of paints, which often need to be tailor-blended to customer requirements, the basic functions of the cash register were simply not enough for them and their additional programming would require too much time and resources. Therefore, they decided to invest in their own solution and approached us with a request to create a tailor-made virtual cash register.

Their main requirement was to design and program a POS system that would be directly linked to other Oxyrion applications. At the same time, the solution should be as personalized as possible, with an extended possibility of editing. An additional requirement was to design a simple and intuitive approach and use.

The ultimate goal was therefore to create a product that suits the sector where Dejmark brick-and-mortar branches operate to the maximum possible extent.

How is a virtual cash register created?

As in every development, in this case too our intention was to create a product that would suit the customer in all senses. Therefore, before the solution was proposed, an extensive discussion with the client took place where their expectations and requirements were communicated to the team. Based on this, the developers were able to create a consistent specification of all the features that this solution should have. They were also able to define how the new cash register should communicate with other Oxyrion applications, such as the product catalogue or the database of existing customers.

The subsequent selection of technologies was fully within the competence of the development team - the only requirement was that the system would be fast, reliable and modern. After analyzing the available options, also taking into account the existing solutions, using the Android platform turned out to be the best choice. Node.js was chosen for the API because all other Oxyrion API applications are built on it. In addition, the identical selection of technologies will also ensure maximum compatibility and fast communication.

The implementation itself began with the preparation of a prototype, which was gradually redesigned to the smallest details in cooperation with the customer. After achieving this result, the development of the "sharp version" of the application continued. This was divided into three steps:

  • development of a standalone Android application,
  • creating an API built on node.js,
  • preparation of the Java library for communication with the payment terminal.

The payment terminal itself did not need to be provided because it is managed for the client by an external company. It also provides the communication protocol needed to connect it to the cash register.

How the Android application works

We created the application in which the eKasa virtual cash register administration takes place with regard to the primary target user - store employees. We wanted to offer them a solution which they would learn to use quickly and which would make their work more efficient at the same time. However, when developing, we also had to keep in mind safety and management needs, such as tracking statistics or managing users. Therefore, the final solution has several functions:

Automated course of an accounting day

To simplify the work of employees, an automated course of an accounting day is set up in the cash register - from the morning deposit through interim closures to the end of the day and daily closure. The steps for performing individual operations are very simple, which was appreciated by all store staff.

Registering products with access to the database

Registering products when selling takes place as standard - either with a scanner or by searching for a product from the database. In addition, the cash register is directly connected to the Oxyrion eshop, which is why it can also work with the online product catalogue. When scanning the product, it can show employees all the data that the salespeople need to provide the customer with when selling paints - what materials the coating is most suitable for, how it is mixed or diluted, etc. In addition, this data helps store staff to help shoppers choose goods and recommend the most suitable products according to their needs.

Paint tinting

The eKasa virtual cash register also includes a function for tinting paints. Based on the desired final color, it can identify what color shades need to be mixed in what quantities. At the same time, it also determines the price of these partial paints and the final price of the mixed product.


An extended system of discounts is an additional functionality. This includes custom discounts available only at a selected store, discounts directly attributable to a customer that can be activated after their login, as well as currently ongoing campaigns valid for all branches. Information about the discount is also transferred to the accounting system after charging, thanks to which the client has an overview of the use of discounts and is able to evaluate their effectiveness.

Login and reverse check

For security reasons, the system is treated with the so-called two-step login:

  • The first login is done at the beginning of the day by default. The employee who opens the store logs in the system using data unique to each site.
  • The second login is the verification of the currently billing cashier using a barcode. For security reasons, the cashier is logged in only during their presence at the cash register and after a set time of inactivity, the system logs them out. This makes it possible to clearly identify individual transactions and assign them to the employee responsible.

At the same time, the cash register has several useful functions, such as purchase history or the option to cancel transactions. Their use will be appreciated by employees, especially when it comes to necessary back checks of purchases, resolving errors or returning purchased goods.

Authentication via API

Dejmark company uses the Microsoft Navision ERP system to manage its business, which also stores all accounting information. Therefore, it was necessary to ensure flawless communication between the virtual cash register eKasa and the ERP to make every purchase recorded accurately and as soon as possible. For this purpose, we have programmed an API that ensures virtually instant data transfer between the two systems.

Thanks to this, the client can monitor the flow of finances not only in eKasa, but also directly in the Navision environment. In addition, in order to not increase the data transfer unnecessarily, only the information that the cash register currently needs is sent through the system. To ensure the easiest possible maintenance, the API is programmed as a separate application.

Library needed to communicate with the terminal

During payment, in addition to the transfer of data between the VCR eKasa, ERP and Oxyrion applications, communication with the physical payment terminal must also take place. This communication takes place through the TCP/IP protocol provided by the terminal manager and through our own action library.

The task of the library is to convert data from the cash register into the form of orders that the payment terminal can correctly interpret. Basically, it is a translation of requests from the Java language used in eKasa into a simpler form that the terminal can easily process.

For example, in the SALE action, we request information from the terminal about what products were purchased, what their price was, what the discount amount was, what type of payment the customer used, who registered the purchase, etc. The library reads these requests and creates a string of commands that it sends to the terminal. The terminal then performs its basic functions (prints a receipt for the employee and customer, sends information about it to the Financial Administration, etc.), and at the same time sends the required information to eKasa. In this way, all functions used (deposit, withdrawal, daily closure, interim closure, cancellation, etc.) are created.

Thus, no information is lost and the customer has identical and correct data recorded in all places.


What are the other benefits of having your own POS system?

  • The new Oxyrion cash register runs on a POS device with an integrated touch screen and printer, which ensures easy operation and faster processing of transactions.
  • The application can be run on any Android device.
  • The system has a so-called extended administration available within other Oxyrion applications. This includes, for example, creating stores and cashiers, settings, additional synchronizations in the event of outages, reports and statistics.
  • The system is designed so that its operation and possible problems can be solved remotely.

What did the client gain thanks to their own cash register?

  • 100% customization of the application according to their needs
  • Possibility to further develop and expand the solution with new functions
  • Interconnection with other Oxyrion applications
  • Always up-to-date data
  • Competitive advantage

Technological summary

The most important incorporated modules
  • Cancellation of receipts
  • Receipt history
  • Purchase statistics
  • Discounts and discount codes
  • Tinted paint composition and price calculator
Technologies used
  • Node.js
  • MongoDB
  • Android (Java)
What awaits us in regard to this cooperation?
  • Expansion of the POS system to stores in the Czech Republic.
  • Creation of functionality for delivery notes and invoices.
  • Adding payment for e-shop orders.

How did we help our customer?

By introducing eKasa in our xFarby stores, we have simplified the document accounting process to a minimum. Our employees have liked the cash register from the very first moment, because it is simple, intuitive, clear and offers functionalities that the programmers have "tailored" for us. Since eKasa is connected to the API database server, we can offer the customer the necessary information about products, shades, price, stock and ongoing campaigns in a very short time, without the need to use other devices or catalogues. The solution is also praised by customers themselves, because they get the required information immediately. In addition, eKasa also offers them the possibility of easy registration, after which they immediately receive discounts on purchases and other benefits. However, we have not forgotten about entrepreneurs and craftsmen for whom we plan to implement in eKasa the possibility of issuing a delivery note or invoice or payment of eshop orders.

By adding all these functionalities, eKasa will become a comprehensive product that will make our work easier and replace several existing systems. We must also highlight the work and creativity of programmers in, who have largely contributed to its efficient development.

Martin Marek
Martin Marek
IT & Technical Department Manager

I assess the cooperation with very positively. Together, we managed to launch and eshops. Their team of developers is experienced, has dealt with many complicated challenges and brought their own and effective solutions to the project. I greatly appreciate the system of communication, clear management of requirements and adherence to deadlines. I believe that further cooperation will bring many other innovations and effective solutions that will make it easier for customers to buy from our eshop.

Terézia Sopková
Terézia Sopková
E-commerce Management, Digital Marketing Assistant
Do you like how we develop Oxyrion? Contact us
Contact us 👋
👍 Sent successfully Your message was sent successfully. We will contact you as soon as possible.
😞 Ops! Something wrong. There was an error submitting the form. Repeat the action later.