Click here to Skip to main content
15,887,822 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I have read lot of articles on developing POS applications with MS POS.net library in C#. However, my requirement is little different.

I want to build a C# application that will be installed as an add on to the existing POS software (on any POS device). I am building an add on to log extra details about the bill & customer in data base.

I have following doubts

1. Is it possible?
2. If answer to 1 is yes, then can there be two software which can receive events from POS device? Like the barcode being scanned?

Any help much appreciated

Regards
Taher
http://tdtechdiary.com
Posted

1 solution

1. Is it possible?

On any POS device? NO.

The most common POS device world-wide is a good old fashioned cash register. You can't run a C# application on that.

Probably the next most common POS devices world-wide are proprietary POS systems provided by companies like NCR that are installed in major retailers. The don't necessarily run Windos, and even if they do, they aren't going to be configured to allow you to install third-party add-ons.

Your average small-to-medium sized business either uses a cash register, or bought a POS device from somebody like NCR or HP who also sold them the software that runs it. Minimally, the software tracks inventory or generates sales reports. And that same vendor has a software option that will track additional details -- and it's already integrated and working with that system. Not likely those vendors have much incentive to give you an open API to add on to their system -- and also not likely your average business is going to take the risk of going with a third party solution if they can get it from the same vendor.

So what are you targeting?

Actually go find a POS device that you want to develop your application for.

Is it just a barcode reader, plus a magnetic strip reader, plus some software running on top of a windows based pc?

In that case, YES, it is possible depending on how much work you want to do.

(But before you go any further, find out if anybody will actually use what you have in mind. How many businesses have that sort of POS system? Does the original vendor already provide a software option similar to what you have in mind? Survey some of the businesses and find out if (a) they need or want what you have in mind and (b) if they would buy it from you rather than from the original vendor.)


2. If answer to 1 is yes, then can there be two software which can receive events from POS device? Like the barcode being scanned?

YES, but you might have to write your own device driver to do it.

It's pretty unlikely the existing POS software has an open API that you can just get the data from. It's also pretty unlikely that the original authors of the POS software designed the system with the idea that they would be sharing the magnetic stripe reader and the barcode reader with another software package.

If that's the case, then you could still replace the existing device drivers for those devices (or, perhaps simpler, add a driver to the device driver chain for the devices) so that you can intercept the data from the device as it goes to the other software package.

(To give you and idea of what I'm talking about, here's a code project article on intercepting keystrokes:

Keystroke Monitoring[^]

Intercepting data form some other device is perhaps more complex, but the concepts are the same.)

If you have to write a kernel level driver to do what you want, you are going to end up writing it in native C or C++ rather than C#.


So the answers is:

YES, it's possible.
BUT, unless there is a really compelling reason to do it, it's not worth the amount of work involved.
 
Share this answer
 
Comments
tahernd 24-Feb-12 0:32am    
Thanks a lot for your detailed reply. Here is what I want to do.. I want to create a add on so that when a bill is generated on POS device, my add on also gets the details of the bill which will be then passed on to a web service and stored in a web server data base. Plan is, to install this add on to multiple retail stores so that we can collect sales data from different stores about a product which can then be used for reporting purpose.

What you think? Is it possible?

Regards
Taher
http://tdtechdiary.com
TRK3 24-Feb-12 12:16pm    
Do you have a specific POS device in mind? If so, you need to look at the technical details of it to determine what can be done. I don't think you can do it for POS devices in general -- the actual way you get the data is going to be at least somewhat device (or POS system) specific.

You need to survey the potential market and see what exists. You are targeting small retail chains that are using something more sophisticated than a cash register but don't already have a system like this in place.

I'm a bit skeptical if there really are many retailers that fall into that category. A small retailer that is going to have just cash registers -- your idea won't be able to work for them. A slightly bigger retailer who has invested in something more sophisticated than a cash register probably went with a more sophisticated system in order to collect some sort of data he was interested in (at a minimum, detailed inventory and sales data) -- so he's probably already got a bunch of data flowing from his POS terminals to some central database. If he wants to capture more data from his POS devices, he gets the system vendor to configure it to do that. If he wants better ananalytics on the data he's already got centralized then he either buys an option for that from the vendor, or he hires a consultant, or gets his staff IT guy to hack out some new reports.
So where does your idea fit in?

I'm not saying there is or isn't a market for what you want to do.

What I am saying is that you need to go find a potential customer who would actually buy or use something like what you have in mind and then see what his existing system is. What are his POS terminals? What data is already collected? If none, then is the POS device even capable of collecting and forwarding the data. If there is data collected, does it already go to a central database? If not, is that something that can be configured with the current system. Is all the data you envision already being collected? If not, can that be configured with the existing system? Is there a way to get the data out of the central database to do the kind of analytics you envision? Once you've actually surveyed potential customers and seen what they currently have, then you can start to figure out how some third-party add-on might fit into the system.


This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900