How to communicate with many stores' point of sale (POS) software?

363 views Asked by At

What are some suggestions to interface POS systems from multiple stores. The procedure should be, the retailer installs this software onto their Point-of-sale machines(or to the machine that handles the transactions) which runs separately from their currently installed POS software so it is not a POS replacement just an add on. The software can collect the transaction information as it is happening and send the data across the network, the other feature is that there should be a small input field the is accessible to the cashier or person checking out to input information (like a number) and be able to send that across the network as well. Again is there some way to make this "cross-compatible" not having the retailer to have to modify their main POS software to interface to mine.

1

There are 1 answers

2
kamoor On BEST ANSWER

This question is very vague. I am assuming you are writing an independent software read input from POS and send across the wire to central server or so. Fist of all find if POS software provide any realtime export or exposed any API you can read data from. Otherwise try to read from its database or file POS software store data in local disk.

Since you want to write a generic software you may want to implement multiple adapters, for example a FileBasedAdapter to read input from POS writing to a file, DatabaseBasedAdapter for database driven POS and so on. While installation you need to configure this adapter. I am not familiar with POS domain but you can also search for well known POS providers (example: IBM, Micros etc.) and write OEM specific adapters based on the specification provided by them. End of the day these adapter layer needs convert POS specific data to a generic format so that you can handle rest of the requirements pretty easily and effectively.

If your software is based on some high level language it is pretty easy to send data across the wire either through plain socket connection or HTTP connection.