I have a brick and mortar store, wherein I currently use Square Register (SR) for my POS, Quickbooks Enterprise (QB) for my general ledger and inventory management, and will be launching my Magento (community edition) store imminently.
I am going away from SR soon, because, while I've always found the credit card processing extremely convenient and fairly priced, the POS features themselves are not robust enough for my business.
Just to paint a picture for you, mine is a small operation, and I do virtually all of the business and inventory tasks personally, while my partner and our single employee do most of the selling. I check new products into QB, then SR, and then I import them into my currently-in-development Magento store (which I'm personally responsible for building). Very manual, but very inexpensive.
Currently, I manually take my daily sales from SR and aggregate them as invoices in QB. This is not glamorous, but it's doable. It gives me a more or less perpetual inventory, which I really like. If I get a bit behind entering invoices from SR, there's really no issue, because I'm only selling in one store and, if the stuff isn't on the shelf, it won't be oversold, regardless of how many QB thinks I have. My probably ill-conceived plan for inventory after I launch my website in the next two weeks or so is the following:
Create an invoice for in-store sales immediately after closing for the day. This will push changes in inventory quantities due to selling through SR to QB on a once-daily basis.
Immediately following step 1, edit quantities on hand in Magento for the products effected by the SR sales from step 1.
Create an invoice for Magento sales in QB the next morning, using a set cut-off time to establish a "close of business", so to speak. In other words, since my online store generally will never close, I'll simply invoice sales for times in the range [8:00am, 8:00am) or some similar timeframe. At this point, my store is not yet open. QB has an accurate count as of 8am, and Magento will continue to have an accurate count until I sell something in my store that day.*
Repeat ad nauseam.
Obviously, there must be a better way. I'd like to have an automated (or largely automated) process that will not only release me from my daily manual entries, but do it all continuously, so that I can have an inventory that's correct at least, say, every five minutes instead of once per day for a two hour period. One of my primary objectives is significantly reducing the chances of accidentally selling out-of-stock online.
I've considered creating my own solution someday. I am not a programmer, a web developer or a database architect any more than a homeowner with a hammer and saw is a carpenter, but I recreationally study data modeling and Java programming, and I suspect I could write something if I had time. Unfortunately, I need it sooner than later.
The writing is on the wall regarding getting a more robust POS and connecting these three disjoint systems together somehow. Specifically, I need advice selecting an integration method/software compatible with Quickbooks Enterprise and Magento, along with a POS to complete the package. I'd prefer a desktop style, locally installed, touch-screen compatible POS. I need it to run a barcode scanner, cash drawer, receipt printer, and (ideally) a barcode printer. Nothing elaborate.
* In case you're wondering, I don't currently push inventory quantities to SR, because I sell in non-integer quantities, and SR doesn't support this. A workaround is to sell in least common denominator, but that will lead to prices for the standard unit not being exactly what I advertise due to rounding, unless I either advertise the price per least common denominator (confusing and frustrating my customers), or make all of my prices evenly divisible by eight. Not to mention that syncing inventory would require converting it first, because I'm not going to track my inventory in QB or Magento in that oddball unit. Just FYI.
Thanks for taking the time to read this, and thank you for your suggestions.