Slashdot Log In
Linux At the Point of Sale
Posted by
kdawson
on Sun Feb 24, 2008 04:05 PM
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
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Jeff Albertson (Score:4, Funny)
Re: (Score:3, Funny)
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.
Parent
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.
Parent
Re: (Score:3, Informative)
POS on linux is not at all new
Indeed, Linux grew 32 percent year-over-year, according to figures released by IHL Group. The research firm reckons Linux accounted for $475 million of the $5.56 billion market, putting it third overall with an 8.5 percent market share. [linuxdevices.com]
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," [about.com]
Book on this topic (Score:5, Informative)
Re:Book on this topic (Score:5, Funny)
Parent
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!"
Parent
Re:Book on this topic (Score:5, Informative)
Parent
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.
Parent
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.
Parent
Re: (Score:3, Insightful)
It is however likely to get him published on "Ask Slashdot". I long ago stopped believing that any of these "How do I..." questions had any relation to reality. Most are carefully crafted to give the Slashdot crown an opportunity to make posts about their usual obsessions. Almost all are effectively anonymous and have no way to confirm the "facts" , if any, of the
Re:Book on this topic (Score:5, Interesting)
Ian W.
Parent
Re:Book on this topic (Score:5, Funny)
Parent
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.
Parent
Your boss has responded (Score:5, Funny)
Re: (Score:3, Insightful)
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.
Parent
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.
Parent
Job (Score:5, Funny)
Wow, didn't see that coming from a /. reader ;)
I guess that settles it (Score:5, Funny)
RiversPOS (Score:3, 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.
Parent
CueCat! (Score:4, Funny)
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.
Parent
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.
Re: (Score:3)
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.
Parent
POS is a tough problem isn't it? (Score:3, Interesting)
I mean, all the pieces are easy, but it is hard to get right.
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.
Parent
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"
Parent
Re:Yeah, we know about sourceforge and freshmeat!! (Score:3, Insightful)
It also needs a rating/quality system that considers such items as age of open bugs, last update, etc.. Not to mention time of project still listed as alpha/beta/planning.
People start projects often fo
Librepos (Score:3, Informative)
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.
Linux isn't an option. (Score:4, Insightful)
I highly recommend getting a turnkey system. $2500 may seem like a lot of money, but that's all it costs to get a complete solution from Dell or another provider for Quickbooks POS. It will work 99% of the time; it's compatible with QuickBooks, and it includes everything you need. Plus, with ODBC, you can easily tie in your inventory levels with an e-commerce solution.
Think about this: if the system only lasts for two years, you have spent a little more than $100 a month or $3.40 a day on probably the biggest expense (besides COGS, rent, utilities) in a retail environment. How much time and effort would it take to get a Linux solution to be usable, and how much are you paid per hour? Hopefully more than $3.40.
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>
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
I could have been more clear (Score:3, Interesting)
For a tiny business with 2 cash registers, 1M records in a year is a *lot* more than one would likely expect. Generally at that point you may want to start thinking about the possibility of table partitioning, partial indexes, and the like. It also means that when you run complex reports, it might be a good idea to run them off a replica so you don't tie up the main server.
Otherwise you can introduce performa
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: (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
If I were your boss I'd be scared (Score:4, Insightful)
Barcode scanners are like keyboards (Score:4, Informative)
bar codes are not hard (Score:3, Informative)
Small Business ERP / Fulfilment isn't that hard .. (Score:4, Insightful)
I've done a few small to medium business ERP setups based entirely on OSS. Point is: OSS or not isn't really the question, since you want openness, accessible Data and zero-fuss flexibility.
Small business systems actually are quite flaky - unless you're shop is using a well-designed vertical market system tailored for your shops needs. If that is the case I'd be carefull about attempting to 'improve' anything. Look at where the work is - like data migration and merging of data sources. That's enough work to start with and can have your boss notice that custom ERP can speed up the business. Measured by that regular closed-source bases small-business solutions can be exceptionally crappy beyond imagination. I've seen 15+ employee shops running on software so crappy you wouldn't even believe it.
For a portable barcode terminal running on OSS/Linux, AML [amltd.com] should have you very much covered. That said, I'd personally recommend building the entire base system client-plattform independant, read: As an internal Web Solution with some small linux server tucked away somewhere and just using the PDA terminal for gathering.
If you plan well, the biggest trouble you'll have will be data-migration, syndication and integration, which actually is the fun part of ERP programming. Make sure that any client tools your boss is accustomed to use have zero-fuss in and outbound connectability, data-wise (CSV tables will do).
You want to plan your little project in such a way that it doesn't interfere with running business and that you and the people involved have time to test it. And you *do* want to test it thouroughly. If your boss discovers that your system has been omitting VAT and clipping it from the revenue at the end of a quarter, he'll have your ass and balls for breakfast. And for good reasons too.
Look into regular expressions and the powerfull data objects of the PL of your choice (Dictionaries in Python, Arrays in PHP and Hashes in Perl), they do wonders for this sort of job. I like to use OpenOffice for printing the bills - you can automate OOO within the CLI. I don't like the existing OSS ERP setups, because AFAICT they're more trouble than they are worth - I usually roll my own. You might want to do that too - maybe using some generic webkit or something (Zope, CakePHP, Django, Typo3, whatever
You also want to know your way about object modelling and entity relationship modelling. Don't even try this sort of thing without understanding the basics of ERM(!!). If you and the people involved aren't aware of, let's say, the difference between a product and the booking of a purchase of a product then you'll be in deep shit half way into the project the latest.
And do see to it that you understand *ALL* relevant business processes involved before you run your mouth with your boss. Could be that he very much likes to do things by hand at night just to slip the one or other sale past the IRS or something like that. If you don't know the details and can't say for sure that automating this or that would really improve business without any downsides be carefull. You can even run the shop into the ground if you boss doesn't think either and believes your freshly bred ERP pipe-dreams.
Good luck.
50 Cents from a professional web-centric business process automator and consultant.
There are commercial Linux POS options . . . (Score:3, Informative)
Re: (Score:3, Funny)
Doahh!
Try looking at your own links, beside for a comic shop, the software would have to be a chimera of an investment portfolio program, a POS program and a FDA 501K level inventory program in other words it don;t exists. I've been looking for an FDA 501K l
Re:iBookshelf would work (Score:5, Funny)
Sourceforge - put into cold storage
Parent