Prototyping Odoo PoSBox: High Performance and Volume Point of Sale
Is it possible with standard hardware to use Odoo for high-volume PoS transactions like we know it from supermarkets?

Background and Odoo PoSBox

About two and a half years ago Odoo started a funding campaign to release a concept to help integrators and customers to use a simple piece of hardware which is working together with different types of classical PoS hardware and new user interfaces/devices like tablets. 

Tablets have many advantages for the user if everything is digitally managed and no hardware is needed for further steps. They are not known to work smoothly with different types of hardware out of the box. Special apps must be provided in most cases and even then you must interact natively with this app to make use of it.

The user expects, since Windows and Mac OS gave the manufacturer a motivation to provide software/drivers for more than 20 years that whatever hardware you buy it is more or less plug & play. So the PoSBox was born and some basic work on the most important parts of PoS was done to have a whole PoS environment to show. Since then the Point of Sale was improved over time and the PoSBox which is a Raspberry Pi with a low-profile Odoo running on it is supposed to fulfill this interface to make it easy to have a cheap and reliable PoS hardware set running.

Supported hardware vs. supported protocols  

Hardware status after the 3D barcode scanner Honeywell MS2421-105XS with an integrated Mettler-Toledo DIVA scale connected to the PosBox standard interfaces. 

Unfortunately Odoo SA only supports a few named devices. As we know you always need to test hardware thoroughly to be sure that it is working with the code provided and so it is completely reasonable based on this assumption why they communicate it like that. 

No software publisher wants to discuss why something is not working for everyone out of the box and therefore without special know-how earned before especially if you try to reach out for end users and companies. 

Long story short, Odoo PosBox needs more implementation and an extended approach by officially supporting protocols instead of certain hardware to show off. 

Of course selling is easier by telling people which hardware they should buy in order to have a more or less bulletproof solution in the end. 

One example is the implementation of the scale which is using out of the box either '8217 Mettler-Toledo (WO)' or '8213 Mettler-Toledo (WO)' as Odoo was not sure for themselves when we were asking for it. And obviously they just had a Mettler Toledo Ariva at hand as this is the only hardware supported officially by now.

Odoo PosBox Prototyping

Anyway, as we were able to get some sophisticated hardware from a supermarket setup from a coincidence lately (a 3D barcode scanner namely  Honeywell MS2421-105XS with an integrated Mettler-Toledo DIVA scale + some cashbox devices namely Torex/Micros Anker SCC Cashbox you normaly attach to the ESC/POS printer where we used the already supported EPSON TM-T20II), we decided to do some prototyping on Odoo PosBox and the point of sale in order to find out if it is possible to integrate these devices into the "fully featured" PoSBox environment concept.

 
 

It was quite a challenge as this piece of hardware supports a lot of protocols and profesional configuration and have standard serial ports (RS232), a special IBM port implementation (RS485) and an IBM USB full-speed communication port (for which we had no cable and did not want to order and wait for it as we were sure it won't be plug and play anyway) to connect to other devices like the highly important host system.  Eventually it is the result of the big ERP software companies on the markets where the technology is growing in a different pace compared to the end user or high-end user markets, so the hardware supported is still back in the earlier years of connecting devices and standards.

So, we decided to make it happen by using a Serial-to-USB Adapter to use what we had in hands and finally we made the proof of concept by implementing some serial drivers and new protocols into the current supported PoSBox image.

The protocols which were available for the integrated scale are:

  • NCI-ECR (WO)
  • 8217 Mettler-Toledo (WO)
  • 8213 Mettler-Toledo (WO)
  • EPOS 1(WO)
  • EPOS 2(WO)
  • Dialog 06 (PC)
  • Dialog 04/02 (PC)
  • Extended Dialog 06 (PC)
  • ICL (WO)
  • Shekel (WO)
  • RIVA 5462 (WO)
  • IP3 (PC)

WO indicates Weight only version and PC indicates Price computing version as the hardware also supports an external display where you can communicate the price computed by the weight and a price per unit.

Conclusion

We had quite a good start from what was already existing in the PosBox implementation, but were limited by the USB-only implementation for the barcode scanner and the narrow hardware scale implementation supporting a protocol which was not even documented in the code that it is used.

It is possible to write your own drivers for the PosBox to support even more sophisticated hardware to work properly and smoothly on the PoS even in a supermarket high-performance setup.

So the future target of the PosBox should be to cover as many protocols as possible and to provide a pure serial communication hardware detection which we needed to make sure what type of hardware we need to communicate on the other side as in difference to USB the PosBox or the code has no clue which kind of hardware and manufacturer is talking to you on the other side when it is trying to initiate the connection. 

We had some hard time fishing in the dark but in the end enjoyed our prototyping on this subject. We also hope that you enjoyed our YouTube videos showing off the result and that more people and companies will be keen enough in the future to implement Odoo PoS even for supermarkets and bigger retail stores with high-volume transactions knowing now that it is possible in a reasonable time.

Feel free to post your comments on our social media channels and contact us if you want to collaborate in one way or the other to improve the software Odoo by integrating it in the wild.