views:

1067

answers:

6

I want to create a Point of Sale (POS) machine and software for it. Are there any How-To guides for this?

Hardware

I know where to find the hardware, but I am just wondering if there are any hardware brands in particular that allow customization, such as using .NET's APIs for the machine (cash till, printer, etc).

Software

My questions regarding software are: How can I manipulate the printer? How can I manipulate the cash till? I know these questions are very vague, but I am looking for links to any resources.

Edit

To be clear: I am looking for a .NET API to assist me with this. If one is not available, can someone point in the direction as to what cash drawers and receipt printers I can use with .NET. Something like JavaPOS, but for .NET.

+4  A: 

Epson makes a lot of thermal receipt printers, and most brands have an Epson compatible setting. You should start there, and make it encapsulated so you can easily add other printer control codes.

Generally you want to use the generic text printer in windows - if you use the windows driver you may end up printing graphics all the time - even for simple text - which is unacceptably slow for retail checkout. You'll be sending the printer codes directly to the printer, which isn't difficult, but you'll spend some time playing with it.

The cash till is often controlled by either the printer (through a cable and special command) or a special command on the serial port. You'll need to encapsulate this as there are many till types.

Adam Davis
I have done this before and it turned out that the 'special command' for the serial port was any character whatsoever. You just open up the correct COM port and send it a letter, and ka-ching it pops open. I couldn't hack this functionality into the primary POS software, so instead it became a standalone .exe hooked to a windows hotkey like control-e.
Karl
Yes, many of them do accept any character. Some are picky about the baud rate. Others tie onto one of the other signaling lines.
Adam Davis
+1  A: 

I believe that there is an existing open source POS system written in Java called openbravo, which may save you the work of writing the software yourself.

overstood
+4  A: 

Check out the JavaPOS standard. I worked on this stuff a while back (for a pretty big company, name rhymes with allegorical :)) and used Hypercom credit card/debit swiper (also used to show the receipt to the user, capture signatures, and act as a PIN pad), IBM cash drawers, generic IBM-compatible PCs from a small supplier targeting the retail market (but any would do), thermal IBM printers, and a keyboard-shim barcode scanner.

All this stuff interfaced through JavaPOS compliant drivers and was not a big deal to handle for me, when at the time I had little-to-no experience controlling hardware.

The printer was pretty easy to interface and takes string input, or you can load a bitmap into it's memory to have it print out that (for a store logo).

The Hypercom pin pad/signature capture was probably the most problematic to manage, with buggy firmware that required many workarounds.

The cash drawer had only two commands: one to pop it open and one to see if it was open.

The trickier parts are not interfacing the hardware but rather ensuring PCI compliance and handling the cc processor backend. Also, usually you need to integrate with some sort of third party inventory/sales management package.

EDIT:

For .NET, the standard looks to be POS for .NET. I can't comment on device support for that. There is also OPOS which are some ActiveX controls (easily accessible from .NET) which claim to implement the same underlying standard as JavaPOS.

Nick
Thanks for all this info... although I would like to work in .NET, is there anything similar to JavaPOS for .NET?
+1  A: 

Check out POS for .NET. It conforms the the UPOS standard and supports both native .NET service objects (drivers) and legacy OPOS service objects.

POS for .NET is available as a free download. Make sure you get the latest version (1.12). You will need to download the service object from the device vendor for a given device. One advantage of using this is that your programs interface to the device is the same regardless of which device vendor you use (Epson, Star, MagTek, HHP, Symbol, etc)

Sylvester
A: 

Hello, the above post really gives us a very useful insight about POS software. Highly recommended..

Regards

A: 

OPOS and JPOS were integrated into " UNIFIEDPOS "

( http://www.nrf-arts.org/UnifiedPOS/default.htm ) you can find a pdf there, with a UML description of the standard with appendixes for JAVAPOS and POSFOR.NET-

the support in POSFOR.NET is huge-

hypercom has drivers for javaPOS, does anyone know how to get them free??

elvis