Things You Need To Know in Building Your Own POS System

I’ve written this guide to explain how you would build a POS (Point of Sale) System. If interested, then make sure you’re a tech savvy or… you should be willing and eager to learn without complaining and ranting about things that does not work on your end.

I haven’t mentioned yet in any of my previous blog posts, that I’m also a part-time POS Installer/Builder here in the Philippines. My recent client was a small Drug Store. I did the setup and configuration, and also did the data upload. The most tedious part of it was the data entry task. I need to enter every generic name and brand name of a drug and supply a corresponding barcode. I decided to make my own barcode, since most of the item’s package box does not have a barcode.

I will try my best to make this guide clear as possible and easy to follow. So read on.

If you have the resources, and decides to not to do this stuff yourself, then you could just hire a virtual assistant or a tech guy instead, to help you build the POS System. You could use Fiverr to search and hire your assistant and get help with your POS System.

Jump Links

Shortcut links to various section of this post:

What is a Point-of-Sale System (POS System)

For those who are looking to create their own POS System, you probably know what a POS system is. But to those who just got to this page, this section will briefly explain what a POS System is.

POS System is much like a Cash Register, but with the use of a computer and a computer program or software. A POS System Software (just like Unicenta) could be installed on a Windows or Linux based computer. Unicenta is a GNU GPL3 Licensed software and it is Open Source. This means that it is a Free Software but you can’t own it. Open Source means, the software codes are not encrypted so you could have the chance to look at it, study and modify them.

A single instance of POS System is called POS Terminal. A Terminal could have more than one peripherals attached to it, like a USB Barcode Scanner and Receipt Printer. For a more advance setup (depending on your needs), you could have a few more peripherals attached to it like; Automatic Cash Drawer, Pole Display, Kitchen Printer (for Restaurants), Barcode Printer (for printing barcode stickers), Digital Weighing Scale and etc.

The term Point of Sale means the time and location where a sales or transactions was completed. It’s the point where a customer have paid for an item or service, and where the Merchant shall prepare an Electronic Invoice. The merchant or the cashier issues/prints the receipt after the buyer pays the amount.

A POS Terminal is often seen in cashier’s/checkout section of supermarkets, groceries, cafe, bars, restaurant, department stores, spa, beauty salon, and other businesses.

Some POS software like the Unicenta has an integrated inventory tracking feature build with it. Other software (usually paid) has a Computerized Accounting System integrated with it.

What is Cloud based POS & LAN based Setup

Depending on your business needs or mode of operation, you could choose between two different type of setup. One that is cloud based, the other is LAN based.

Cloud-based POS

A Cloud-based POS system is a type of setup where the POS Software is hosted by a third-party company. This means the software is hosted on a server and you need internet connection to access the platform. The company hosting the software charges you for using their hosted platform. You could choose from monthly, quarterly or annual billing cycles.

With cloud based POS system, you don’t need to buy the latest model of your favorite PC brand or building your own PC. All you need is a machine that can run any Internet Browser apps (Mozilla, Safari, Chrome or Opera). An old PC that can meet and run the latest version of your favorite Browser, will do. You could also use your iPad or Tablet device for this, and take advantage of it’s touchscreen feature. Other cloud based POS runs on iOS or Android Apps, so you need to install the APP from Apple Apps Store or Google Play. With browser based cloud POS, you don’t need to install any POS software or App, all you need is an Internet Browser.

Another cheap hardware that you could use is called Single-board Computers. It can run ARM Linux based Distros and Android. Awesome, right?

A Single-board computer has all the components of an ordinary computer, only thing is… everything is build-in on a single-circuit board. CPU, RAM, GPU, Input/Output ports are built-in. Plus, the size of this hardware is tiny, Examples of this are; Banana Pi and the Raspberry Pi. You could buy the Raspberry Pi 2 Model B for under $40 over at Ebay.com

Cloud based POS Providers

There are handful of Cloud based POS System providers out there on the Internet. I’ve listed them below. Please take note however, that this does not necessarily mean an endorsement, but rather info.

List of Cloud based POS Providers

As of January, 2016, and based on my research, below are the list of providers.

  • Shopify POSwww.shopify.com/pos
  • NCR Silverwww.ncrsilver.com
  • Shopkeepwww.shopkeep.com
  • Squaresquareup.com
  • Breadcrumbbreadcrumb.com
  • Air POSwww.airpointofsale.com
  • uAcceptuaccept.com
  • Kroid POSkroid.net
  • POSEwww.getpose.com
  • SIRCLE POSwww.sirclepos.com
  • Rain POSwww.rainpos.com
  • Changechange.io
  • KassaPOSwww.kassapos.com
  • Instoreinstoredoes.com
  • Bluestore Livewww.bluefishretail.com
  • Tillifywww.tillify.com
  • GoFrugalwww.gofrugal.com/cloud-solution.html

LAN-based POS Setup

A LAN (Local Area Network) based setup is a type of setup where a centralized database server is built & configured to hold all the necessary records and settings for a POS system. This database server should be a dedicated machine, that is provisioned to only act as a database server for POS Terminals. A separate machine (the POS Terminal) is then configured to connect to the database server to access and write/record data or transactions. POS Terminal is where the POS software should be installed & configured. You could use a Free POS Software like Unicenta or a paid POS software.

This is the usual setup that you see at large supermarkets or department stores. LAN based setup is designed for multiple POS Terminals. All POS terminals are configured to access the same database server. Data read/write happens real-time, so you need a reliable and dedicated machine that will act as the Database Server. Some establishment use a redundant server for fail-over purposes. A good local network setup is also needed for this, Gigabit Networking is a must.

with this guide, I’ll be using Unicenta oPOS Community version. Unicenta is a free to use Point of sale software. It has an enterprise grade features like, integrated inventory tracking system and reporting, it can handle cloud-based or online remote database connection, touchscreen capable, automatic screen resolution scaling, multiple printer support, multiple users and user role management and a lot more. Visit their homepage to learn more, click here.

Standalone POS Setup

In addition to Cloud based and LAN based setup, another type you could deploy is a Standalone setup. With this setup, the POS Software and Database server is installed & configured on the same machine. Unicenta oPOS is the best and free way to do this.

This type of setup is very ideal for a single-terminal POS System. It’s good for a non-busy small business establishment like; Drugstore, Convenience Store, Coffee Shop, Pet Supply Store, and other small businesses.

If we’re talking about big Supermarkets and Department Stores, then I would recommend the LAN-based setup for multi-terminal POS System. Load up Unicenta oPOS and configure it to connect to your dedicated MySQL Database Server.

Pros and Cons

I’m a part-time POS installer/provider in my country (Philippines) for nearly two years now. Based on my own and client’s experience, I can say that the following are some advantages and disadvantages of having a LAN-based POS (Self-build) or Cloud based POS.

Note: When I say Provider is the hosting company or service provider for the Cloud POS System.

Cloud based POS: Pros

  • You don’t have to install/configure the software, especially when it’s a browser-based. For iOS and Android based Cloud POS, you still need to install the app though.

  • You can start using it right after you signup to the service.

  • You don’t have to troubleshoot or debug for issues, the provider should take care of this.

  • Upgrades & updates are seamlessly implemented by your provider. You don’t have to worry about it.

  • The system runs smoothly with known peripheral brands (barcode scanner, receipt printer, etc.)

  • Data corruption is zero to minimal, since your provider takes care of their redundant database servers for you.

  • Downtime is nearly zero (provider’s side), just like any Web Server that runs 24/7. But connectivity should still be affected on your side due to your ISP connection.

  • You could access the system from anywhere in the world where you have decent internet connection. This means, you can record a sale or any transaction from any location in the world.

  • 24/7 Customer Support from the provider’s team of experts.

Cloud based POS: Cons

  • You can’t use it or punch a sale when you’re disconnected from the Internet. Any transaction or activity won’t be able to record and send it to the database server if your POS Terminal is disconnected from the Internet.

  • You need to wait for an ETA (estimated time of accomplishment) when the provider deploys a patch for a bug. In case of a self-build POS system using Unicenta, you could contact their customer support team (if you’re a paying customer) for a temporary workaround while waiting for the bug patch.

  • A bit pricey compared to a self-build (LAN based of standalone) Unicenta based POS system. With the free version of Unicenta, you don’t pay a penny, not unless you ask for a paid support from Unicenta-skilled freelancers.

  • Depending on the provider’s terms of service, you may lose your data as a penalty for not paying your overdue balances. Some providers deletes your account, and that includes your data, if you don’t pay your service charges in due time.

Self-build POS System (LAN based or Standalone): Cons

IN this part of my post, I’ll be talking about some of the disadvantages and advantages I’ve encountered, while using the Free Unicenta oPOS version. For a little FYI, Unicenta also has a paid version, which entitles you to get a top-notch support from one of uniCenta’s expert developers.

The paid version is a yearly membership type of business model. You’ll get a different version of Unicenta, compared to the regular community version. Annual membership fee is offered at around $85. You’ll be given access to customer only forum, regular updates and fixes, and a restrictive plugins available only to paying members.

The Cons

  • With the free version of Unicenta, not all POS peripheral brands are supported. The software works only with few known models and brands. You actually need to browse through the forum and look for some workarounds just to make them work.

  • With the free version of Unicenta, you need to turn to the forum and ask for help then wait for any useful response.

  • You need to install the software first, then configure it to match your business operation, costing you more time and money especially when you hire some virtual assistant or freelancers to help you with the setup.

  • You need to get your hands dirty when your system needs some urgent maintenance or some outages. Not unless you hire someone to do the deeds for you. If you don’t have the skill to maintain a computer, then you’re dead. You must have a backup plan to employ in case your system bogs down, and while waiting for your tech guy.

  • Lack of training manuals and documents. You need to search/browse/read through their forum to find the right help articles. When I first use Unicenta, I search their forum for every info I need to know.

The Pros

  • If you’re a little tech savvy and wanted to learn stuffs yourself, building your own POS System saves you a lot of money. But only when you have the luxury of time and the eagerness to learn. If you have your own POS System, you don’t need to pay monthly bills for a hosted Cloud POS solution.

  • Spending some dollars, you could have a custom made plugins or additional functions for your POS System. You could hire Unicenta-skilled freelancers and Java programmers to do the coding for you. You can’t do that on a Cloud POS.

  • You have total control, you could expand your system without additional monthly bills. If you have any old PC laying around, you could convert it to Unicenta POS Terminal and create a LAN-based POS setup. With Cloud based, you actually need to upgrade your monthly plan to accomodate more client terminals.

  • Unicenta is free to use and it’s OpenSource. You could change the codes, add some functions, making your POS system a monster.

Building The Point of Sale System

Now comes the fun part, building the POS System.

It depends on what type of setup you wanted to employ. Whether it be a Cloud based or a Self-build POS (using Unicenta oPOS software), gotta need a barcode scanner and a receipt printer. This is for a basic setup, it really depends on your business or mode of operation.

The Basics

Basically what you need is a Computer, iOS or Android Tablets, some POS hardware that you basically need.

Things needed when building a Cloud Based POS System

If you opt to build a Cloud-based POS System, the following are the basic things you need.

  • iOS or Anroid based Tablets or any mobile devices, or PC with the latest Internet browser installed. Some Cloud POS provider offers a browser-based POS, so you can either use a Mobile device or a PC.
  • A working Local Area Network and an Internet connection
  • Receipt Printer (thermal or dot matrix printer)
  • An account/subscription from a Cloud based POS System provider

Things needed for building a Unicenta-based POS System (LAN based)

If you decide to use Unicenta in building your LAN-based POS System, the below list are the most basic things you’ll need.

  • A computer (old or new) running either a Linux OS or Windows, with at least 512MB of Memory and a network connectivity. To run the uniCenta Software.
  • Another computer to run as a dedicated headless server. This will act as your MySQL Database Server. You don’t need this when setting up a Standalone POS.

  • LCD Display or Touchscreen Display

  • Keyboard & Mouse

  • Unicenta oPOS software installed

  • Receipt printer (thermal or dot matrix printer)

  • A working LAN network setup & Internet connection

POS Hardware For Building a POS System

In addition to the basic POS System setup, you could attach more peripherals depending on your business needs. Here is a list of POS hardware that you could use for your chosen business, whether it be for a small business or big time operation.

Before sourcing the hardware for your POS System, first consider the type of business that you have. A restaurant POS system setup shall be different with a Clothing Store POS setup, if you get what I mean. With a restaurant POS, you need a kitchen printer, receipt printer, but not the barcode scanner. Restaurant menu doesn’t have barcodes right? But Clothing stores needs a barcode scanner to scan the labels, but it doesn’t need the kitchen printer.

Note: Kitchen printers are printers that print outs order to a water/oil proof paper, so kitchen crew would know what orders to do and serve.

Point-of-Sale Peripherals

  • Barcode Scanners (ie: Product Details Flexzion USB Laser Barcode Scanner)
  • Receipt Printers (ie: EPSON POS Receipt Printer TMU220D Black – USB)
  • Cash Drawers (ie: PowerPOS C-420 Cash Drawer)
  • Pole Display (ie: VFD LD220 Black Pole Display – USB)
  • Kitchen Printers (ie:)
  • Weighing Scales (ie: CAS SW-1-5 Food Service Scale)
  • Touch Screen Displays (ie: GSAN 15″ TouchScreen LCD Monitor)
  • Magnetic Card Readers (ie: OSAYDE MSR90 Credit Card Reader)

Sofware / Hardware

  • Android or iOS based Tablets or Mobile Phones
  • Any computer that at least has 512MB RAM, 1GB HDD Space, and latest available version of Java installed
  • Windows, Linux or Mac OS X as OS
  • MySQL Database Server Software

Building the Unicenta-based POS System

Now, this section of the post should walk you through the build/assemply process of a LAN-based POS Terminal using the free software called uniCenta.

If you opted to use this type of setup instead of the Cloud-based, you should be a techie type of person. But ofcourse this is not mandatory, even if you’re not techie, you could follow along with the guide as long as you’re eager to learn.

If you decide to use this type of setup instead of the Cloud-based, you should prep yourself for some techie stuffs. If you’re stucked with something, use Google to search for the topic and solution. It’s a bit daunting to do, but at least you’ll save a good amount of money if you build the system yourself.

Procedures

First thing you need to do is setup a computer and load your favorite Operating System (OS). You could use Linux (Linux Mint or Ubuntu) or Windows OS. If you’re a bit techie and want to learn how you would install the OS, especially Linux Mint or Ubuntu, just search the Internet for guides. Linux is a small footprint OS, you could install and run it on a 512MB-based Computer.

You really don’t need a hardcore PC setup, remember that you’re not playing Battle Field or Call of Duty here. You’ll be running a POS software, which only requires at least 512MB of memory.

In fact, you could also install and run the software from a mini-computer called Banana Pi. It’s a single-board computer where all PC components are integrated into a single board. GPU, RAM, CPU and I/O are built-in to the device. The device sells at $50 below.

You also don’t need a new PC setup, you could assemble your own from old computer parts laying around that got dusty in your attic. Just don’t forget that you at least need 512MB of RAM and a working local area connection (plus Internet).

Okay, now comes the action.

Here are the steps in building a Point of Sale System (Using uniCenta):

  • Step 1. Assemble a PC and install your chosen OS. You could use LinuxMint, Ubuntu or Windows XP.

  • Step 2. Download & install uniCenta oPOS. I’ve written a guide on how to do this. Checkout link below.

    Installing uniCenta oPOS

  • Step 3. Now depending on your business operation, attach addional devices to your POS terminal. You could add a barcode scanner, cash drawer and receipt printer. When attaching any device, you have to configure them for proper operation. Device configuration is a huge topic in Unicenta Forum. Just search the site for device specific guides.

    Here is a sample POS setup for a small business like Drug Store. This was my actual setup when I did a contract with a client. Basically, what the client need is to only track her sales and inventory, to avoid pilferage by her employee. She only needs to access the sales report and inventory tracking on a monthly basis. So to cut the chase short, the client only wants to keep track of her monthly gross & net sales with corresponding items sold. Gross sales is collected on a monthly basis, then my client checks out the reports for any descrepancy. We end up only attaching a brand new USB Barcode Scanner and used Thermal Receipt Printer (Epson TM-T88III). No cash drawer or pole display.

    The workflow for the POS setup is simple, customer walks in and buys an item, employee gets the item and barcode scan it, uniCenta POS detects the item and shows the selling price, employee tells customer the total price and gets payment from customer and punch it to the POS, then POS prints a 3 copy receipts. At this point, 1 sale was completed. Total sales and Items Sold was recorded to the POS.

    Another sample is a meat shop business, for this you must have a digital scale, barcode scanner, cash drawer and pole display is optional.

    For restaurants, you need at least two type of printers. 1 receipt printer for the cashier (or service crew), and 1 kitchen printer. Kitchen printer prints out the order taken by the cashier. The POS Terminal sends out a copy of an order to the specified kitchen printer. Kitchen crew gets the receipt and then prepares the order.

    If you need to accept credit/debit card as a payment, then you’ll need a magnetic card reader and a payment processor or gateway. A payment processor/gateway is a third-party company that handles the payment securely. These companies handles all the heavy lifting leaving your business worry free. All you need to do is setup a secure Local Area Network and Internet connection.

  • Step 4. Permit and Registration.

    Now, if you wanted to use the receipts printed by your POS as your Official Receipt (for governement auditing & taxation), you need to register your POS Terminal first. Depending on what country you’re in, requirements vary. In my country Philippines, you need to register your Terminal to the Bureau of Internal Revenue (BIR).

Additonal Tasks

There are additional task you need to do after you have setup your own POS system. You need to scan your product barcodes to get the item detail and encode it into the POS system. If you’re running a Grocery store, Pharmacy, etc, where you have multiple product variants, that would only mean that you are battling your way to scan a heap of products to get their info to the POS system. Not unless you could source this out and just buy a readily available data.

Barcode scanning is necessary to extract a product detail and encode it to the POS database. This is how you enter data to a POS System. You scan the barcode from an item’s packaging and uniCenta should detect the name. You then need to enter your selling price manually. This could be a tedious and daunting task, but if you know data manipulation with spreadsheet application like Excel, you could prepare a file and upload the data to uniCenta. With this method, you are encoding product info like selling price, in bulk mode. A guide on how to do this is not yet available in this site, but I will make one soon. Alternatively, you could also hire someone (contractor or freelancer) to do the task for you.

Cloud based POS Setup

Building a Cloud-baesd POS System or a single POS terminal is not that difficult.

All you need is a Cloud POS account and the necessary POS peripherals for your type of business.

For this guide, you don’t need to setup a PC or a full Desktop computer. What you need is an Internet connection and an iOS or Android based devices. Tablets are preferrable though.

This is not a step-by-step procedure, on how how to setup a Cloud based POS System. It’s merely an overview of the steps.

Procedures

  • Step 1. Signup for an Account.

    Before you can start using a Cloud POS, you need to signup for an account and choose an ideal monthly plan that should suit your needs, whether it be a small business or large company.

    I just got heard of Shopify POS, a platform owned and operated by Shopify, the same company that made hosted ecommerce solution popular. The platform is called Shopify Store.

    You just got lucky now, because Shopify is now offering a 14-day Free Trial and you could start selling products online for free.

  • Step 2. Grab an Apple iPad.

  • Step 3. Download the Shopify POS App from the App Store.

  • Step 4. Configure your POS devices.

    When using an Apple iPad with POS peripherals, make sure everything you buy should be wireless. Like the Star Micronics SP650II BTi Wireless Receipt Printer and the Socket Mobile 7Ci Wireless Barcode Scanner.

    The iPad is designed as a mobile device so no input/output ports was included, except for the headset and charging port.

    For support, you could ask the Shopify Customer Support team for help regarding configurations and issues with your devices.

  • Step 5. Set your POS settings using the Shopify POS App Dashboard.

    Modify the settings using the Dashboard and set any value you would want. It really depends on your mode of business.

    Some settings you would want to modify are; store name printed on the receipt, item price (buying pride and selling price with markup), item description, or employee accounts.

    Now make some test, make a dummy sale and print a receipt. Check everything, make sure your printer works and sales is recorded.

    When everything looks good, then that’s it! You have made yourself a cloud-based POS System.

    Take note of this though, Shopify POS is not the only provider outhere on the Internet. There are other more providers, in case you missed this Cloud POS provider list.

It’s a Wrap

So there you have it, those are the things you need to know about building your own POS System.

I’m adding another info here… You could also setup a Cloud-like setup for your Unicenta based POS System. You have to install and configure an online MySQL Database server, and you could have an access of it from any localtion where there is Internet. Just make sure you installed and configured a copy of Unicenta software on your target client machine.

Provider specific guides on how you would setup your Cloud-based POS are usually found in the Knowledgebase section and FAQ section of the Provider’s website. Also, if you have trouble setting up the system, you could phone their customer support hotline.

My other thoughts: If you’re looking to self-build a POS System using Unicenta, you don’t have to buy a new set of PC, an old one with a 512MB of memory, that runs smooth and stable should be sufficient. And if you just want to test drive Unicenta, you could attached a barcode scanner and an receipt printer to test out the system. This is the basic gear for a basic POS terminal. But there are businesses don’t use barcode scanner, instead they only use a Receipt Printer, with or without a** Cash Drawer**. An example is a “Beauty Salon”. This type of business could use a POS, with a printer and cash drawer attached to it, but no barcode scanner.

So every business have different business needs for a POS System, make sure you know what those are before setting up your Point of Sale System.

Chubbable

Hi, I'm Chubby! That's what my friends call me. I'm a tech savvy dude who is passionate in learning stuffs by himself. I post stuffs that I recently learned and also stuffs that I'm very knowledgeable of. I also post articles here to serve as my own reference and knowledge base archiving.