Slashdot Log In
Linux At the Point of Sale
Posted by
kdawson
on Sunday February 24, @04:05PM
from the pos-that-refreshes dept.
from the pos-that-refreshes dept.
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?"
Related Stories
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading ... Please wait.

Book on this topic (Score:5, Informative)
Re:Book on this topic (Score:5, Funny)
Re:Book on this topic (Score:5, Insightful)
The fact that the first response to "John Locke" was Lost [wikipedia.org] and not Second Treatise on Civil Government [wikipedia.org] or An Essay Concerning Human Understanding [wikipedia.org] really shouldn't surprise me nearly as much as it does.
In the words of the great philosophers The Human Ton and Handy, "Come on, people! Read a book!"
Re:Book on this topic (Score:5, 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.
Re:Book on this topic (Score:5, Interesting)
Ian W.
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.
Your boss has responded (Score:5, Funny)
Re:Your boss has responded (Score:5, Insightful)
Not only that, but if any programming is involved, now the manager is doubly-screwed when this employee finally moves out of his parent's house and quits his comic book shop job. If there's a problem with the system, or some added functionality needed, now he's got to find someone who's both a programmer and willing to work for minimum wage.
Re:Your boss has responded (Score:5, Insightful)
You guys always think of the client's interests, but you seem to forget that the client's interests fall into five areas -- not spending money, not spending time, not spending effort, not learning anything new, and still getting lots of work out of the vendor. That's business.
The trick with any lock-in style effort is to balance the client's interests with the vendor's interests in order to achieve a relationship that grows both businesses, ultimately giving each side more money with less effort down the road.
There's nothing wrong with supplying a solution that requires a compatent and trained individual to maintain it. And there's nothing wrong with the original vendor being in the significantly better position to do so. In can actually be a great thing for the client when you consider the extra work that a vendor can do when the vendor knows it's a long-term commitment.
In my company, we call it "aligned interests". It's the "you lose, we lose; you win, we win" philosophy that ultimately penalizes everyone should either party quit at any stage, and rewards everyone each time either party continues forward.
It's also called being proud of and empassioned in your work.
What you guys keep suggesting, by favouring the client in every stage, is more of a "you lose, we lose; you win, we lose" scenario because when everything pans out perfectly for the client, and the solution works, and their business grows, the original vendor is undoubtedly replaced by someone cheaper -- or no one at all.
Long-term business just doesn't work that way. The business world isn't the cosumer world where you sell a product, and hope to never pseak with the customer again -- because customer service and technical support are expensive to supply -- and hope the product breaks just after the warranty period -- so the customer comes and buys another.
The idea of "aligned interests" is that the client and the vendor both want the same thing and both benefit from that thing. The client wants a solution that lasts forever. The vendor needs to want that too. The client wants to get the best quality parts. The vendow needs to want that too. Otherwise you get today's consumer computers -- cheap parts, low-quality components, crap customer service, worse techincal support, and really easy to purchase a new one. The companies tend to start with the letters "D", "G", "A", or "H". And of course that's the case, they spend less money, charge more, and profit more. The only people who get screwed are the customers -- who've come to expect the products to be crap, but don't realize why.
In the business world, you can't throw out your iPod and get a new one when it breaks. In the business world you can't sell an iPod and replace it when it breaks. In the business world, you have to take the broken iPod and not only replace the device, but also replace the data stored on the device. Your clients are not consumers -- they don't consume your product/service. In the business world, the solution that you provide to your clients needs to be reliable enough for your client to base his business on -- if that solution is integral to their business, obviously.
Job (Score:5, Funny)
Wow, didn't see that coming from a /. reader ;)
I guess that settles it (Score:5, Funny)
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.
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.
Buy something off the shelf (Score:5, Insightful)
In this case, I don't see the need for a religious OS war. Just buy a decent an popular tool, no matter what the OS is.
Excellent advice, but let me add... (Score:5, Interesting)
I wasted a lot of time on that system, and should have just bought an off-the shelf product. But.
In actual point of fact, the data mined by using the scanner was useless. The reason for this is simple: the manager of a small store who spends a good part of their lives inside will already know what needs to be done, whats selling and whats not. There is little insight gained from the data you gather.
And.
It degrades the customer experience in subtle ways. First off, it makes the transaction just a little bit slower. This irritates customers. Next, it adds a level of distraction to the employees whey they have to pay attention to so fine a level of technical detail; the added 'cognitive load' of using and keeping the system up to date fatigues them and makes them more system oriented and less customer oriented.
In short: this sort of fine level of tracking is net negative to a small retail business.
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.
The pieces are all there. (Score:5, Interesting)
The pieces to implement any sort of reasonable retail POS setup using FOSS are all available.
There are two things that it sounds like you're going to have problems with though:
The last time I looked into this specific problem the nicest looking piece of software for my requirements was L'âne [l-ane.net], but you'll want to actually do the research yourself (try searching on Freshmeat [freshmeat.net] and Sourceforge [sourceforge.net] at minimum).
Yeah, we know about sourceforge and freshmeat!!!!! (Score:5, Interesting)
Really, the noise-ratio of SourceForge is amazing, given that everyone and their mother can upload projects. When someone posts in slashdot is to know things that have *worked* and are working currently for other people. Sure, there are thousands of books about dating on amazon, but if you wanted one, you would go ask some people (not in slashdot of course
If you are going to recommend to look on SF or FM, then please consider just looking at the next story on slashdot... you really do not add anything useful to the conversation.
And to the parent, sorry it is nothing personal, but most of the posts I read at the time of my reply are among the same lines. I am also interested in the original question, but as I said before, I am looking for *experiences* from another people using such software rather than only a list of all the "Yet_Another_P0S I_started_for_school_homework.sf.net"
Not much of a problem (Score:5, Interesting)
That is where the works... integrating with the rest of the business software.
I have written an html/cgi Point-Of-Sale for my wife's hot sauce retail shop [sammcgees.com]. Works excellent and is integrated with a custom and much larger web store builder, order manager, and inventory control. This is the hard part and consists of several thousands of lines of perl code.
As far as bar code reading you just use a wedge or y cable and it acts just like keyboard input. A little javascript to ensure which form field is the active/default field and you are away. Input can come from a bar code scan or keyboard input for those items which are not bar coded.
Same mechanisms on vendor order receive for inventory maintenance.
STOP (Score:5, Insightful)
Don't do it.
For you it is "kicking around", a fun project, a proof of concept. For your boss it is a tool, essential for his business, that has to work flawlessly.
Now ask yourself a few questions:
Besides, realize that POS software is the least exciting thing you could work on. If it is not your job, forget it. If you want to tinker with linux and learn things, do something fun.
Remember: you are not the first [jwz.org].
</paternalist advice>
Why Open Source? (Score:5, Insightful)
There are plenty of businesses who are quite satisfied with solutions from Intuit or Microsoft that are very affordable, easy to use, and much more "out of the box" than any open product.
And if your owner is already using QuickBooks or Small Business Accounting, then a POS solution can tie directly into it.
Remember that your employer is going to pay either way. Either by paying you to piece together a solution for him or by paying for off-the-shelf software. You would be doing a disservice to your employer to only recommend one side of the fence.
Re:Jeff Albertson (Score:5, Interesting)
Quite. Konzum, the largest Croatian supermarket chain, runs all POSs on Red Hat.
The owner of the chain saved millions on Windows licences alone.
I don't like the store, but I was mightily impressed when I first saw the Red Hat login screen on their POS.
I considered it quite uncommonly sensible business practice, at least for Croatian standards.
Re:iBookshelf would work (Score:5, Funny)
Sourceforge - put into cold storage