TabShop Server
Self-hosted • Local • No subscription • No cloud

Your data. Your server. Your network.

TabShop Server runs your business's stock, invoices and orders on your own hardware – no subscription, no hidden fees and no sensitive business data sent to a foreign cloud. You run it, you own it.

The TabShop Server dashboard running on your own server.
The TabShop Server dashboard running on your own server.

TabShop Server at a glance

What it is Self-hosted back office for stock, invoices, customers, suppliers and purchase orders of small shops (café, restaurant, bakery, boutique, corner store).
Where it runs On your own hardware in your own network: Raspberry Pi, old PC, NAS, Docker or a small VPS.
Cost €0 licence. No subscription, no fee per user, terminal or invoice, no hidden fees.
Privacy All data stays on your server. No cloud, no sharing with third parties, no foreign provider seeing your sales data.
Technology Single Go binary with web UI and REST API, SQLite file as database, Docker image available.
Till TabShop Android app as an offline-capable till, connected to the server by QR code.
Languages English, German, Spanish, Thai
Licence Elastic License 2.0 (source-available)
The most important thing

You run it. You own it.

Most point-of-sale and inventory tools today are rented software: monthly fees, price hikes at the vendor's whim, and your sales data on servers you have never seen. TabShop Server turns that around.

Your data

Invoices, customers, suppliers and prices live in one SQLite file on your hardware. Back it up, copy it, take it with you at any time – no vendor lock-in.

Your server

A Raspberry Pi behind the counter is enough. The till only talks to your server in your own network – and keeps working offline when the internet goes down.

No subscription

No monthly fees, no per-user or per-terminal pricing, no hidden payments. You only pay for hardware and electricity.

No cloud, no foreign servers. Sensitive business data is not shared with a foreign cloud.
Features

Everything a small shop needs in the back office

From the till to the supplier order: one system, one login, one server.

Live dashboard

Sales, profit, average invoice value, stock value and stock health at a glance, with auto-refresh.

Products & stock

Categories, prices, cost prices, product pictures, search and paging – built for large catalogues too.

Invoices with PDF

Every checkout from your terminals syncs here: searchable, with PDF invoices to print or send.

Customers & loyalty points

A simple customer list with contact details and loyalty points.

Suppliers & restocks

Book deliveries, add to stock and keep the cost price as a weighted average automatically.

Purchase orders

Reorder suggestions, orders emailed to suppliers and partial deliveries booked against the order.

AI shop assistant

Your always-on back-office assistant: email it a question or an order and the answer comes right back – stock, reports, purchase orders, backups and more.

Taxes & discounts

Define your own tax rates and discounts once and use them on every product and sale.

Terminals via QR code

Connect every till or tablet with a QR code – it carries server address and credentials, nothing to type.

Team accounts with roles

Admin, manager, editor and viewer: staff only see and change what they should.

Multilingual

User interface in English, German, Spanish and Thai.

REST API

Every function is available through a REST API – used by the app and browser, open for your own integrations.

Demo data included

A fresh install starts with a sample menu so you can try everything straight away.

Overview

Live dashboard: how is the business doing today?

Open your browser and see at once what sold and what it earns – without exporting data to someone else's analytics tool.

  • Sales over time and profit
  • Average invoice value
  • Stock value and stock health
  • Sales by category, automatic refresh
Dashboard with sales, profit, stock value and categories.
Dashboard with sales, profit, stock value and categories.
Inventory

Products & stock under control

Maintain your range with categories, prices, taxes, discounts and pictures. Every sale from the till books the stock out automatically.

  • Upload your own product pictures or start from bundled examples
  • Search and paging for large catalogues
  • Minimum stock, fixed order quantity and preferred supplier per product
  • Your own tax rates and discounts, defined once and used everywhere
Product list with stock, prices and categories.
Product list with stock, prices and categories.

Editing a product

All settings of a product in one place: price, cost price, tax, discount, picture and reorder rules.

Product form with prices, taxes and reorder settings.
Product form with prices, taxes and reorder settings.
Sales

Invoices & customers – all stored at home

Every completed sale from your terminals is synced to the server. Find it again with search and create a PDF invoice when needed.

  • Searchable invoice list with status and payment type
  • PDF invoices stored on your server
  • Customer list with contact details and loyalty points
Invoice list with search and PDF download.
Invoice list with search and PDF download.

PDF invoice

Clean invoices with your taxes and discounts – generated on your server, not by a third party.

Example of a PDF invoice.
Example of a PDF invoice.

Customers & loyalty points

Keep track of regulars and reward them with loyalty points. Customer data never leaves your network.

Customer list with contact details and loyalty points.
Customer list with contact details and loyalty points.
Purchasing

From supplier to shelf: reordering without spreadsheets

Count → decide what to buy → order → receive. TabShop Server guides you through the whole cycle.

Purchase order overview with the status of each order.
Purchase order overview with the status of each order.

Suppliers & restocks

Manage your suppliers with lead time and minimum order quantity and book every delivery with quantity, unit cost and delivery-note reference.

  • Stock rises automatically and the cost price is kept as a weighted average (10 pcs at 2.00 + 30 pcs at 4.00 = 40 pcs at 3.50)
  • Unknown barcode? The product is created on the spot
  • All or nothing: if one line is invalid, nothing is changed
Booking a restock and the supplier list.
Booking a restock and the supplier list.

Reorder suggestions

Products below minimum stock are listed with a suggested quantity – calculated from the minimum stock, expected sales during the supplier lead time (average of the last 30 days) and goods already on order. One click creates draft orders, one per supplier.

Reorder suggestions with suggested quantities.
Reorder suggestions with suggested quantities.

Send purchase orders by email

Send the order straight from the server to your supplier – through your own mailbox. Recipient, CC, subject and message are editable and the order lines are added automatically. The SMTP password is stored AES-GCM encrypted.

Status flow: draft → sent → partially received → received (or cancelled). You see who sent it, when and to which address.

Sending a purchase order to the supplier by email.
Sending a purchase order to the supplier by email.

Receiving against the order

Book full or partial deliveries. Good quantities go into stock, damaged goods are recorded but not added, and quantities that never arrive are kept as shortage.

Booking a partial delivery against a purchase order.
Booking a partial delivery against a purchase order.
AI assistant

Your own back-office assistant: always on duty, reachable by email

Sam – the assistant’s default name, you choose your own – takes your orders and questions by email and answers immediately. No login, no app, no waiting: you write the way you would write to a member of staff.

Right in the browser: the chat on the landing page

As an admin you are greeted by a chat tile on the landing page. Just ask, for example “How were my sales this week?” – the answer appears as a clean chat conversation, without any tool details. If no AI model is set up yet, a tile takes you straight to the settings.

The chat tile on the landing page with a question and its answer.
The chat tile on the landing page with a question and its answer.

Write what you want to know or get done

A plain email to the shop mailbox is enough, for example “Give me a profit and sales report for today”. The assistant plans the necessary steps itself and uses the functions of your TabShop Server to carry them out.

The request: an ordinary email.
The request: an ordinary email.

The answer comes straight back

A few seconds later the answer is in your inbox – with real figures from your shop. Revenue, profit, invoices, tax and the best sellers of the day are all there.

The assistant’s reply with the daily report.
The assistant’s reply with the daily report.

Every request is on record

Admins get an “AI agent” entry in the menu: every request is stored with the sender, the full conversation, the tokens used and the model. You can also ask the assistant directly in the browser there.

All conversations with channel, model and token usage.
All conversations with channel, model and token usage.

What the assistant does for you

  • Check stock levels and tell you whether a restock is necessary
  • Create purchase orders and send them to the supplier by email
  • Generate revenue and sales reports
  • Run a backup
  • Create, change and delete products, suppliers, customers, taxes and discounts
  • Add or change scheduled tasks

Safe by design

  • Only email from the addresses of registered admin users is answered; all other mail is ignored before the assistant is even triggered
  • Mail that your mail server flags as forged (SPF, DKIM, DMARC), auto-replies and mailing lists trigger nothing
  • The assistant acts on your order right away, so say exactly what it should do
  • You use your own account at OpenAI, Anthropic or Google; only the request and the shop data needed to answer it go to that vendor, everything else stays on your server
Point of sale

The till: Android app, offline-capable, connected by QR code

The TabShop Android app turns any phone or tablet into a fast till. It checks out customers without internet and syncs as soon as your server is reachable again.

  1. Set your server address in Settings
  2. Add a terminal under Terminals
  3. Scan the QR code with the app – done, nothing to type
Terminal with a QR code to connect the till app.
Terminal with a QR code to connect the till app.

Checking out on a tablet

Fast operation at the counter, even when Wi-Fi or the internet drops out.

The TabShop till app on a tablet.
The TabShop till app on a tablet.
Team & security

Roles and permissions for your team

Everyone gets their own account. Permissions are checked on the server on every request.

  • Admin – everything, including users and settings
  • Manager – full access to stock, purchasing and suppliers
  • Editor – records restocks and receives goods
  • Viewer – read only
User management with roles.
User management with roles.

Settings & languages

Configure the server address, email sending and more in one place. The interface is available in English, German, Spanish and Thai.

Choosing the interface language in the settings.
Choosing the interface language in the settings.
Roadmap

Next up: more automation

Planned are low-stock alerts, daily/weekly summaries, stock counts and simple reports. planned

Architecture

How it works: simple and entirely on your premises

 Android tablet / phone                 TabShop Server
 (TabShop app, offline checkout)  --->  Go backend + web backoffice
        sync when online                SQLite file + uploads folder
        (your own network)              (your own hardware)
  • A single Go program serves the web UI and the REST API used by the app and the browser.
  • All data lives in one SQLite file plus an upload/ folder for pictures and PDFs. Back up those two and you have backed up your business.
  • No external database or cloud service needed – the data never leaves your infrastructure.
  • Cookie-session login with per-role permission checks on every endpoint.
TabShop Server Typical cloud POS
Where is the data? On your hardware On the vendor's servers
Monthly cost €0 Subscription per terminal / user
Internet outage Till keeps working offline Often limited
Moving your data Copy one file Export on request, if at all
Vendor price changes Not possible – you run it yourself Any time
Get started

Self-host it in a few minutes

  1. Run it – mounting a folder for your database and uploads:
    docker run -p 80:80 -e PORT=80 -e ADMIN_USER=admin -e ADMIN_PWD=change-me \
      -v /path/to/data:/tabshop wolfgangb33r/tabshop-server:latest
  2. Open http://localhost and sign in with the admin account.
  3. Add a terminal, scan the QR code with the TabShop app and start selling.
Without Docker, go run . is enough. For real-world use put a reverse proxy with TLS (nginx, Caddy, Traefik) in front and do not expose the port to the public internet – so everything stays inside your network.

Frequently asked questions

What is TabShop Server?

TabShop Server is the back office for small shops: stock, products, invoices, customers, suppliers and purchase orders. It runs as a single Go program on your own hardware (for example a Raspberry Pi, an old PC or a server) and is used together with the TabShop Android app as the till.

How much does TabShop Server cost?

TabShop Server is free to self-host with no subscription: no monthly licence fee and no fee per user, terminal or invoice. You only pay for your own hardware and electricity.

Is my data sent to a cloud?

No. All data lives in one SQLite file and an uploads folder on your own server. There is no cloud connection, no telemetry of your sales data and no third-party service involved. Only if you configure email are purchase orders sent to your suppliers through your own SMTP server. The optional AI assistant uses your own account at an AI vendor (OpenAI, Anthropic or Google): only if you set it up are its requests and the shop data needed to answer them sent to that vendor.

Does the till work without internet?

Yes. The TabShop Android app checks out customers offline and syncs completed invoices to your server when it is reachable again. The server itself only needs your local network.

What hardware do I need?

A Raspberry Pi is enough for a small shop. Alternatively the server runs on an old PC, a NAS with Docker or a small VPS. No external database server is needed.

How do I back up my data?

Back up the SQLite file and the upload folder (plus the matching .key file if you configured email). That backs up your whole business and lets you move it to other hardware at any time.

Which licence does TabShop Server use?

The source code is source-available under the Elastic License 2.0 (ELv2).

How do I install TabShop Server?

The easiest way is Docker: start the image from Docker Hub with a data folder and the ADMIN_USER and ADMIN_PWD variables, then sign in with your browser. Alternatively use "go run ." without Docker.

Disclaimer

Responsibility and liability

TabShop Server is provided as is, without warranty of any kind. You run the software yourself and you alone are responsible for making sure that its use in your business complies with the laws and regulations that apply to you, for example on taxes, invoicing, cash register requirements, record retention and data protection.

The author of TabShop Server accepts no responsibility or liability for any financial loss, lost profits, data loss, legal claims or other damages arising from the use of the software. This includes responsibility for backups, for securing your server and for the correctness of your invoices and bookings.

Your shop. Your data. Your rules.

No subscription, no cloud, no surprises. Start today with your own TabShop Server.