How to Make This Work
Been thinking about this for a while ... here’s some thoughts:
1) Install Magento on the webserver (or have existing store already), configure it for ecommerce, etc.
2) Install Magento on a local server in your store. This can be done with some sort of pre-packaged LAMP/WAMP package integrated with Magento or whatever. This local installation will have a few modifcations (described below) and might be called MagentoPOS.
3) Set up the local installation to use the remote database. This will create 1 inventory, customer list, etc.
4) Set up a simple script on the remote server to back up the database on the remote server every night at, say, 2am.
5) Have a simple script installed with MagentoPOS on the local server to download the backed up database every night at, say, 3:30am.
6) One of the modifications on MagentoPOS would be the ability to switch databases via a drop-down box somewhere in the admin area. Then, if the connection to the remote server was lost (i.e. Internet goes down), you can switch to the local database that was backed up for relatively updated inventory and pricing.
7) MagentoPOS would come with 2 themes: one with bug buttons suitable for a touchscreen, and one with smaller buttons (for use if the store does not use touchscreens). Also, the first field in checkout would be for the product number, so that when one scans the barcode, the correct data is input. (Scan the barcode, then search the product database for the product is kinda what I have in mind).
This would be fairly easy to do. Two problems I see right away are: (A) if using the backed up database, synchronizing the data once the remote server is back online could be a problem, and (B) using the “search” function to find products in the database would be notoriously slow if the customer has purchased a lot of items.
We are willing to help with this sort of project ...

1MunchyMonster posted Mon, May 19, 2008
How bout instead of duplicating the database you use a simple “caching” system. As an order is rung up on the POS system a series of commands are created to duplicate the sale on the websystem through a POS interface (I’m thinking something like GET, POST, or even just remote SQL calls). When the order is finalized the system attempts to connect to the website and “post” the commands that were collected for the sale. If a successfull connection is made the sale is “posted” and the POS and the Web are in sync. If a connection can not be made to the Website the request is “cached” and the POS system begins attempting to send the cached transactions on a regular timer. Eventually the website comes back online and the POS and Web re-sync with each other automagically. I’m not naive enough to think it will all just work, but the idea bears consideration.
MunchyMonster
2Chris Nudd posted Mon, May 19, 2008
I have been integrating, selling, developing POS systems for over 17 years. You don’t want to build one from scratch. The best solution is to take the most powerful one out there and integrate with Magento. Just started working to switch my site over to magento. I’m a bit worried about trasferring, I’ve been in the top five google searches for POS for years, but makes me nervous. We distribute Dynamics RMS which is an established inexpensive powerhouse POS system. There is already a thread on integrating. We distribute that companies Mobile POS software, its pretty slick.
Regards,
Chris Nudd
P.O.S. Directhttp://www.magentocommerce.com/boards/viewthread/3193
3the_ordinary posted Tue, May 20, 2008
I’d like to see a system that’s open and certainly isn’t restricted to a Windows platform (not saying that RMS is ... I have no idea really). To me, and I’m sure others, something browser-based would be fantastic.
The cached system sounds great, in theory. How would what I termed “MagentoPOS” know what items you’re looking up, etc.?
4MunchyMonster posted Wed, May 21, 2008
Like I said I haven’t had time to really figure it all out. It would seem like you are going to need a copy of the products locally (at least names, skus, and price info, if not actual stock levels, etc.) as a backup system when you lose the web connection. My imagined storefront using a POS has a “natural” inventory control (if it isn’t on the shelf you aren’t going to sell it), so we don’t need to have up to the second inventory updates we can wait for the system to send the cached commands and pull our inventory reports from the Magento Admin.
I agree with Chris that integrating with an existing POS would be my preferred mode, but on the other hand I don’t really need a full fledged POS system. I just need a quick way to throw items that are already on my website into a “cart” and collect payment for it. I don’t need reporting or anything like that, if I leverage Magento. But I do require a web connection and that won’t always be available. That’s why I suggested a way to “cache” transactions.
I don’t have a solution, yet, so I’m open to ideas. If Chris can point us to a good LIGHTWEIGHT POS that can be integrated with Magento I would be happy to give it a shot.
MunchyMonster
5the_ordinary posted Wed, May 21, 2008
Lightweight POS?
Ever looked at PHPPointOfSale?? http://www.phppointofsale.com
6MunchyMonster posted Thu, May 22, 2008
@Chris
So I’m going to admit to a certain amount of naivete… You are the guy with close to 2 decades of POS experience here. When you are asked to suggest a POS system there must be a list of features that 95% of your clients share in common. For example, one guy might want the ability to handle rentals, while another wants the ability to handle layaways, but everyone wants the ability to choose from a list of in stock items and create and order, everyone wants to be able to process credit cards, etc. Can you think of a core set of functionality that would satisfy 90% of your customers? Or are your clients divergent enough that each really is a customized solution?
I just looked up the Microsoft RMS system that was suggested in the thread that you mentioned. That package has WAY too much functionality. If that is the type of thing most people are thinking when the say POS I’m going to have to find a new name for what I want. I’m looking for a glorified cash register. I want it to integrate with Magento so I can simply compare what I sell in the store to what I sell online. I will eventually connect Magento to my order fulfillment pipeline (we do the manufacture, but we still need to plan the appropriate amount of raw materials for the orders) and would like my in store orders to flow through without a seperate pipe to pick them up. No before you say that I’m asking for the impossible and that I’m contradicting myself by saying I want a “glorified cash register”