Odoo Point of Sale
Browser-based POS that is part of Odoo, linked to inventory and accounting. It can keep ringing sales offline once a session is open and syncs when connected. The server runs Odoo on PostgreSQL, so give it enough RAM.
Tills should keep selling when the internet drops. The server they report to should never drop. Host your POS back office, sync API and eTIMS integration on a VPS with root access, so every shop pushes sales to one place and owners can check takings from their phone.
Four cores absorb the burst when several branches reconnect and sync at once, and 320 GB of SSD stores years of line items. Its 16 GB of RAM handles MySQL-based POS and Odoo alike.
Order VPS V3In a supermarket or hardware shop, a till cannot stop because the internet did. That is why most serious POS setups in Kenya are offline-first: each till sells against a local copy of prices and stock, then pushes sales to a central server when the line returns. The server is where price changes, stock levels, cashier shifts and daily reports come together.
Keeping that central server on a desktop in the back office is common and fragile. A power cut, a failed hard disk or a router reboot cuts off every other branch, and the owner cannot check yesterday's takings from home. A VPS keeps the back office reachable from every shop and from the owner's phone, while the tills carry on locally.
POS back-ends are mostly database work: many small writes during trading, a burst of sync traffic when a branch reconnects, then heavy reports at closing. With root access you can tune MySQL or PostgreSQL for that pattern, expose a sync API over HTTPS, put tills on a private VPN, and run the integration that sends invoice data to KRA's eTIMS. We provide the server, operating system and login; your POS vendor or developer installs the software, and our support team is free to help with server questions.
A price change entered at head office never reaches the branch, so cashiers keep selling at the old price for days. With one always-online server, every till pulls the same price list and stock file as soon as it connects.
If the computer under the manager's desk holds the master database, a blown power supply or ransomware infection stops reporting and stock control for every shop. Moving it off-site removes that single point of failure.
Sales made while a till or server is offline still need to reach KRA. When the central server is off at night or during outages, the backlog grows. A hosted server that stays online clears queued invoices as soon as tills reconnect.
Shop owners travelling to suppliers or between branches want takings, voids and stock alerts on their phone. A back office on a VPS with HTTPS lets them log in from anywhere without opening the shop network to the internet.
Some POS systems use the server as a shared database, others as a sync and reporting hub. Both run well on a VPS.
Browser-based POS that is part of Odoo, linked to inventory and accounting. It can keep ringing sales offline once a session is open and syncs when connected. The server runs Odoo on PostgreSQL, so give it enough RAM.
A free Java desktop POS for retail and hospitality. Multiple tills can share one central MySQL database, which you can host on a VPS and reach over a VPN rather than exposing the database port.
A community fork of uniCenta with retail and restaurant features, also Java on MySQL. Branches can point at a shared database on the VPS for central stock and reporting.
An open-source Java POS built for restaurants and bars, with kitchen tickets and table management. It ships with an embedded database but can use MySQL or PostgreSQL on a central server for multi-terminal setups.
Many Kenyan retailers run a POS built by a local developer: a Laravel or Node.js API, a browser or Android till that stores sales locally, and a sync endpoint. These need a database, queue workers and a public HTTPS address.
Count every till or checkout lane that syncs with the server, across all your shops.
A starting point only: real load depends on how many line items you ring per hour, how often tills sync and how heavy your closing reports are, and Odoo needs more RAM than Java POS systems.
0 of 8 done. Tick them off as you go.
KRA expects tax invoices to be issued through eTIMS, and businesses with their own POS or ERP can integrate system to system. Hosting that integration on an always-online server, rather than a till or office PC, keeps invoice data flowing even when one shop loses power.
Customers pay to your Till or Paybill number, and Safaricom's Daraja API can notify your server of each payment at a callback URL. A VPS with HTTPS gives the POS a place to receive those confirmations and match them to sales.
Tills on a UPS can keep selling through an outage, but a server in the same building goes dark with everything else. An off-site server waits for each branch to reconnect, whatever happens at any single location.
Plans from KES 2,000 a month, paid by M-Pesa or card.
Size your server