Linux At the Point of Sale 264
NegativeK writes "I work at a local comic and games shop, and I've been kicking around what it would take to implement a barcode scanner and more detailed inventory control. Currently, the setup is a low-tech register that tracks general areas of sales: new comics, ccgs, Games Workshop, rpgs, etc. Requirements include FOSS on Linux, the ability to use a cheap scanner, datamining, and output in a useful format (perhaps OpenOffice spreadsheet). The idea hasn't been pitched to the shop owner yet, so ease of use is probably more important than anything — but breaking out the programming books to work on parts isn't out of the question for me. Assuming the actual register stays, what resources are out there for a barcode/inventory implementation?"
Comment removed (Score:5, Informative)
Try Sourceforge (Score:5, Informative)
Lemon POS (Score:5, Informative)
http://lemonpos.sourceforge.net/ [sourceforge.net]
It runs on KDE 4 though, so it might not be completely production ready yet.
Librepos (Score:3, Informative)
Re:Book on this topic (Score:5, Informative)
Re:Jeff Albertson (Score:2, Informative)
Re:Book on this topic (Score:5, Informative)
As well unless you are processing millions of charges a year it will not take you 25k to have some one certify you. That is if you are big enough to deal directly with lets say visa or a bank directly is when you need that type of audit. Many companies exist (Eigen is one of them) that will take care of the communication to the bank its self while provided they only allow communications via a certified secure protocol (HTTPS/SSH/SFTP) you are good to go. You are required to sanitize the card numbers by removing the middle digits preserving just the first and last number of the card.
Choose a good Open Source ERP (Score:1, Informative)
Probably the most effective solution would be to pick up one of long-living Open Source ERP projects, such as ERP5 [erp5.org] and Compiere [compiere.com], because they have been proven to work in real business scenes for over 5 years, including both at SMEs and at large companies. The applications are very broad, like manufacturers, resellers, banks, hospitals, etc. So I don't think it would be difficult to apply such a solution to your target.
As for barcode, some USB barcode readers are broadly available, and they function just like keyboards. They are recognized as usual HIDs under Linux, so it is pretty easy to read code numbers as if they were key inputs from a keyboard.
Barcode scanners are like keyboards (Score:4, Informative)
bar codes are not hard (Score:3, Informative)
Your lucky day (Score:5, Informative)
Linux is used a lot in the actual EFPOS terminals, particurly in Europe where the numbers are way higher than the corresponding US numbers.
Re:Why Open Source? (Score:3, Informative)
You know "any" is a pretty all-encompassing aspersion against the whole open source POS industry.
Check out the ones I know of (from a short review about 4 years ago):
Lane POS - http://l-ane.net/ [l-ane.net]
Banana POS - http://www.bananahead.com/pos/home.html [bananahead.com]
easypos http://easypos.sourceforge.net/ [sourceforge.net]
Can't remember any others. The point is these are all tried and tested with details of hardware on which they're implemented. I think Lane is in Canada(?) and sells the whole systems not just the FOSS but they standardise on Epson which you can get nearly anywhere.
This is off the shelf for a small business. Tying it into an OSS accounting package shouldn't be hard either.
You're totally right however that you need to look at hidden costs as well as ticket costs too.
There are commercial Linux POS options . . . (Score:3, Informative)
Re:Buy something off the shelf (Score:5, Informative)
I had a similar idea as the poster a year ago with my father's retail shop. Previously they printed prices on products and typed these prices into the register (an old, gloried calculator mind you). Needless to say, with rising prices and 3000+ products, the menu costs [wikipedia.org] were very high!
Having grown up on FOSS and thinking this would be a "fun" project, at first I seriously considered writing everything from scratch. I then realized how many moving pieces I had to deal with just from the register side: sales, discounts, sales tax, receipts, barcodes, prices, inventorying updating, holding receipts, canceling receipts, etc. Then consider all of the non-register functions: inventory management, ordering, vendor tracking, pricing, customer tracking, labeling, etc. Then consider all of the reports you want! If you're not careful, you'll end up writing your own SQL-like language to allow your boss a user-friendly way to figure out sales over given time periods or whatnot. Oh, don't forget financial integration: you'll want to have your costs and revenues automatically tracked, rolled into income taxes, and then nicely reported each fiscal year. I really could go on.
Sure, each piece is "simple." It's just the complexity associated with so many moving pieces that have to support transactions, security, and some easy way to backup. When your software makes a mistake, real money is on the line. Oh yeah, you'll have to do this on your free time by yourself.
It's not something you can do, I hate to say.
If you're like me, your next step is FOSS. I recall looking at SF last year and was very disappointed by what I saw. No system (not sure which ones) felt stable enough to bet my father's business on. It's ok when firefox crashes (and it does), but it's not ok when my dad can't take credit cards (did you plan that integration?) for even 15 minutes. Maybe things have changed in a year or I overlooked some amazing project. That's one of the great benefits of this community -- it will come out in the comments.
So, after all was said and done, I decided to just buy QuickBooks POS for dad. We bought Small Business Server for the server machine and run XP Pro on the register computer. The system came pre-configured with the hardware we needed -- the barcode scanner, label printer, receipt printer, and a nifty pole for customers. You can see the features on their website and decide if they fit for you. Dad uses their financial and tax software as well, and he seems to like how things "just work." Did it "cost" more than FOSS? Sure, we outlayed more cash up front. But I saved myself a bunch of time and headache, not to mention dad has an 800 number to call first (there is value to this!).
My advice, having implemented a POS system for a single-site small business: buy a pre-packaged solution. FOSS is great in some situations, but not yet for mine. It's cheaper than you think if you really need POS.
I don't work for Intuit, and I'm posting as AC for fear of blaspheming the TCO of FOSS on slashdot.
Re:Book on this topic (Score:2, Informative)
Infoshopkeeper (Score:2, Informative)
nolapro (Score:2, Informative)
Re:Book on this topic (Score:5, Informative)
My company develops and supports retail point of sale software for a large number of retail chains. In the interest of ensuring my job security I will not identify my employer, but I can offer some insight.
The first thing to do is check out JPOS [javapos.com], an open source mini-framework for controlling POS peripherals such as MICRs, sigcaps, pole displays, barcode scanners, MSRs, receipt printers, etc. This will only help if you are using Java, but there may be similar libraries for other languages. Regardless, playing around with JPOS may help you understand the hardware and how all the pieces fit together.
Please realize that even a small inventory application is a major undertaking. The software I work on has an inventory module, and it is insanely complex to meet the requirements of retail inventory. Hardware abstraction can be a pain too, as you need to code at a high level in your application but deal with low level crap that most devices throw at you. For example, scanning a barcode sounds simple and may be relatively easy for UPCs, but what about SKU or inventory tags that are nonstandard? You can program the scanners to pad zeros, truncate to a specific length, strip or retain check digits, etc. and there are so many pieces of hardware out there that behave slightly differently it will give you a headache.
If you decide to add credit card processing, my advice: don't. If you have to ask this question to Slashdot, you are not prepared to deal with PCI-DSS [pcisecuritystandards.org] compliance. It costs a lot of time and money to process cards securely and to prove to the payment processors that you can do it securely.
Re:Jeff Albertson (Score:4, Informative)
Just by googling a bit I've fount this page http://www.unisys.com.br/news/imprensa/release205.htm [unisys.com.br] (portuguese). Calypso Linux is a Linux based POS developed by UNISYS. It's used both by Carrefour and "Pão de Açúcar", two of the largests supermarket chains here at Brazil.
Re:Jeff Albertson (Score:3, Informative)
32 percent is actually low growth in that sector for Linux. Linux would have a much larger share of POS today if Microsoft had not pulled out all the stops a few years back when Linux threatened to make major gains.
"We began the year projecting 300-400% growth for Linux," says Greg Buzek, President of IHL Consulting Group. "But two large retail defections from planned rollouts of POS units greatly hampered the growth of the operating system. Musicland was just about ready to roll with Linux when they were purchased by Best Buy, a Windows NT shop. Best Buy changed those Linux plans. And Home Depot also was looking to roll with Linux at the POS, but those plans were nixed when the company made several management changes." [about.com]
So Microsoft succeeded in slowing Linux in the retail sector by that and other means. But by no means stopping it. Linux's success in the cell phone, umpc and embedded applications of all description plus IBM's support [ibm.com] will no doubt contribute to a resurgence of Linux growth in that sector.
Much Thanks (Score:2, Informative)
Secondly, thank you for the constructive criticisms.. In response to the "just buy something," that, unfortunately, isn't an option. The budget simply wouldn't allow it, or else the shop would already have it. As for employee training, there are only two: myself and the owner. It's really one of the reasons I want a man-in-the-middle solution (scanner to inventory tracking Linux system, Linux system to register): if the system has issues and no one can support it (you'd be amazed at the number of older computer nerds at a college town comic/games store. Or.. Not.), just pull it out and revert to the current glorified calculator. The invested work, though, is a recognizable problem. As for excess complexity, I'm really not looking to manage the entire POS experience. Most of that is in the owner's head. This is simply an inventory tracking solution, which may make it less useful, but keep it from becoming intractable. But the idea that the owner might reject it is thoroughly acceptable, for the reasons mentioned.
And as for the Jeff Albertson remarks, I'd be a fool to not get paid to do something I enjoy. I play games in the back room, make sure people don't steal, and defer all comic questions to the owner - who's in the five days I'm not. Which, naturally, is exactly what was in the verbal job description.
Agreed. The result will be awful. (Score:3, Informative)
Not only is a one-off do-it-yourself system a headache, what you're proposing slows things down at checkout.
You're proposing an inventory system that doesn't talk to the cash register. That's where things were in low-end retail systems about 10-15 years ago, and it was awful. You'd see a cash register, an inventory terminal, and a credit card terminal at the checkout, not talking to each other. Way too much duplicate data entry. Today, it's expected that a POS system will talk to the credit card system, the inventory system, the scanner, and the cash drawer.
You can buy all the components and the software to run them for well under $2000 from many vendors. A low-end system, Cash Register Express [semicron.com], has a downloadable demo version (200 transactions max). Try something like that to get a sense of what the existing products do. I'm not particularly recommending this one; it just happens to be something with a demo available.
Re:Book on this topic (Score:5, Informative)
For a small vendor like this, the question is not the certification, it is what happens if something goes wrong, and you have an employee who, say, steals credit card numbers. At this point a few things are going to happen:
1) Compliance will be assessed by Visa/Mastercard.
2) You will be bumped up to the top tier in compliance certification requirements.
3) If you are not compliant, you will be charged an additional "fine" by Visa/MC up to half a million dollars.
For a small vendor, this means that you really need to read, understand, and implement the standards. That is a substantial amount of work and a substantial price if you screw up.
The vendors *need* to take the PCI-DSS compliance issue very seriously regardless of whether self-certification is acceptable.
Re:CueCat! (Score:5, Informative)
If you do any sort of volume at all, do yourself a favor and spring for a real scanner. They start at $60, but you'll make the difference back in increased employee efficiency in no time.
CueCats are great if you want to scan a half dozen things for kicks. If you need to scan hundreds of items a day, a point-and-shoot scanner is a necessity.
Re:Jeff Albertson (Score:3, Informative)
Comment removed (Score:3, Informative)
Re:Buy something off the shelf (Score:3, Informative)
All chain grocery store POS systems are in-house written and typically don't even TOUCH the inventory. They all work on what we call a "dump" Where you scan the barcode and it does a lookup on the SKU, but doesn't subtrace the quantity from inventory, it just changes the price of the general ledger.
They do manual ordering and receiving which means that the POS doesn't tell them how much quantity they have on hand, but what dollar value they have instead.
With these methods, if you want to handle lottery tickets, deposits, splitting a 6pack to 6x 1 packs, etc.. you will just need to create a couple procedures for the cashiers to do things like.. Maybe put cheat sheets at each cashier station, and make it part of the training. You will then just have them type in the price of the lottery ticket charge, or credit, the price of the deposit charge or credit, etc. etc... Then you can use the automated system to do all the stuff that is "normal" and for all the special stuff you do it on a dump. (type in generic part and price).
You will never find a POS system that will track your inventory on the specialty items unless it was created for that type of system and has years of support already behind it. It just won't happen. And even regional grocery chains don't have each little special case done yet. They all use barcodes for standard stuff, but they all do manual stuff with all the special stuff. Walmart is probably the only ones doing a complete management system and its only because they have about 15 years and millions invested in a home brewed system.