Run the front officev4.1.0

Vendra

A till and stock ledger that cannot oversell, even when two tills sell the last unit.

For retail shops, cafés and market stalls. Often replaces Square POS, Lightspeed Retail or Erply.

Single license $59 · Extended license $129 · paid once, yours for good

Try the live demoNo sign-up. The demo resets itself, so click anything.

What it does

Never sells below zero

Overselling is stopped in the database itself. Two cashiers selling the last unit at once cannot both succeed.

Every stock change on record

Sales, purchases, returns and adjustments post to an append-only ledger with cost, reference and who did it. One click rebuilds every count and flags a mismatch.

Profit on recorded cost

Weighted-average cost updates on every purchase, in whole-number maths. Freight, duty and fees on a delivery go into what each item cost.

A fast till screen

Product grid with category tabs, barcode scanning, split payments, and hold and resume. A tablet can show the customer the basket, the total and the change.

Count while you keep selling

Scan or type a shelf and post the differences with a reason. A sale during the count is never lost or counted twice.

Scan to adjust stock

Choose add or take off and a reason, then scan. A breakage, a find or a return is on the ledger in one scan.

Scan deliveries in

Each scan adds one to that product's line on the delivery. Each line shows its margin at the cost you enter.

Works with Restock and Loyalora

Every sale and refund updates your own Restock. A member's sale earns Loyalora points. The till never waits on either.

Recipes and bundles

Sell a latte from cups, shots and milk, or a gift box from what is in it. The parts come off the shelf.

Barcode labels

Print price labels on A4 or US Letter sheets or a label printer. Items that came without a barcode get a label too.

Receipts and the day's close

Email the customer a receipt through your own SMTP, off until you switch it on. Closing the drawer can email you the Z-report.

Your own agent, over MCP

Connect your own agent over MCP and the API. It can check stock, pull a sales report and record a sale through the same checkout.

Also: returns, register sessions, reports by cashier, camera scanning, customer and supplier exports, roles, 2FA and backups.

Is it right for you?

What Vendra deliberately doesn’t do.

  • One shop per installation (single stock ledger, single drawer).
  • Vendra records card tender; it does not process cards.
  • No e-commerce or website stock sync.
  • Emailed receipts and the day-close email need your own SMTP details, and both ship switched off; without SMTP the receipt is still printable and viewable on screen.
  • Barcode hardware: keyboard-wedge USB scanners work as typed input; no driver-level integration.
  • The till needs its server: if the connection drops, a sale cannot complete until it returns; the cart stays on screen until the page is reloaded.
  • No fiscal module. Vendra records sales, stock and tenders; it is not a fiscal cash register and does not report to any tax authority. It has no certified security device, no fiscal signature and no connection to any tax authority. Many countries have rules for tills that take payments, including Germany, Austria, France, Italy, Spain, Portugal, Poland, Sweden, Norway, Croatia and Greece. Where rules like these apply to your business, Vendra on its own does not meet them. Check what applies to you with your tax adviser or tax authority before you use Vendra as your till.

What renting costs instead

Square POSSquare Plus $49/mo per location (Square Premium $149/mo; free $0 tier exists; all paid per transaction)

2 months of Square POS costs what Vendra costs once.

Read Sep 3, 2026 · source
Lightspeed RetailX-Series Basic $89 USD/mo billed annually, $109 USD/mo billed monthly; Core $149 annually, $179 monthly; Plus $289 annually, $339 monthly. Each per location with 1 register included; the Annually switch is labeled 'save up to 18%'

1 month of Lightspeed Retail costs what Vendra costs once.

Read Sep 26, 2026 · source
ErplyGiftshop & Grocery $59/store/month month-to-month ($49/store annually) with 1 user and 1 POS terminal; Multichannel $199/store ($179 annually); NetSuite "From $1800"; Franchise & Chain "From $3500"

1 month of Erply costs what Vendra costs once.

Read Sep 3, 2026 · source

The full comparison: every rival, what each does better, and who should stay with them →

Replacing one of these? Square POS alternative · Lightspeed Retail alternative · Erply alternative · Hike POS alternative · KORONA POS alternative · Shopify POS alternative

Release history

Own It 4.1Client installations and your other toolsOct 4, 2026

For Vendra, 4.1 makes two changes that every app gets. What’s new in 4.1 →

Own It 4.0It updates and backs itself upSep 29, 2026

For Vendra, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →

Own It 3.3Stock moves at the scannerSep 27, 2026

3.3 puts stock corrections at the scanner: choose add or take off and a reason, then scan, and a breakage, a find or a return goes on the ledger in one scan. What’s new in 3.3 →

Own It 3.2The shop floor, connectedSep 26, 2026

3.2 connected Vendra to the rest of the shop: every sale and refund updates your own Restock, a member's sale earns Loyalora points, and the till never waits on either.

Own It 3.1It writes to the people you serveAug 20, 2026

The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…

Own It 3.0Works for your AI, not just for youAug 9, 2026

An MCP endpoint lets an agent list products, check stock, pull a sales report and record a sale — through the same checkout the till runs, so stock still cannot…

Own It 2.0API, 2FA, backups, dark modeAug 6, 2026

Vendra 2.0 adds the 2.0 owner layer.

What’s in the zip

The tree as the zip ships it — the working leftovers the packager deletes are not listed

  • .htaccess
  • API.md
  • Dockerfile
  • QUICKSTART.txt
  • assets/
  • bin/
  • config.php
  • config.sample.php
  • controllers/
  • deploy/
  • import-maps/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/Suite.php: a real module, the first 24 of 403 lines

Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.

<?php
/**
 * Suite.php — the Retail Suite link (3.2.0): Vendra, the till, talks to the other two apps a shop
 * may run on its own server, through their documented REST APIs and nothing else.
 *
 *   Restock   — every sale (and every refund) replaces that day's units per SKU in Restock's sales
 *               history (`POST /api/sales-history` with "replace": true, so a resend counts once), and
 *               the on-hand figure for those SKUs goes to `POST /api/stock-levels`. Restock's reorder
 *               list then follows the till instead of a weekly CSV ritual.
 *   Loyalora  — a sale rung up for a customer who is a member earns points by what was spent
 *               (`POST /api/customers/{id}/earn`, amount in cents, the sale code as the reference);
 *               the till shows the balance when the customer is picked, and can enroll them.
 *
 * Rules this file keeps:
 *   - The sale is already committed when anything here runs. Nothing here can fail, undo or delay
 *     a sale beyond one short timeout: every call is caught, logged in `suite_log`, and forgotten.
 *   - An app that did not answer is not asked again for COOLDOWN seconds, so a dead server costs a
 *     busy Saturday till one timeout, not one per sale.
 *   - Members are matched by email address only. A customer with no email is never guessed at.
 *   - The till never sets a points figure; Loyalora's program decides, as its API insists.
 */
declare(strict_types=1);

final class Suite

Runs on: 2-minute web installer, plain PHP 8.1+ with MySQL (or SQLite for a trial), no Composer or build step — Docker image included. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.

Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- vendra <your license key>

Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run

Which license do I need?

It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.

Single license$59
One (1) domain or subdomain · One business, running it on one site.
  • Install it on one domain or subdomain you own or operate
  • Change the source however you like for that installation
  • Run your own business on it commercially, client work included
  • Re-download the current build any time from your buyer portal
  • A second site, or an installation you hand to a client as theirs, needs the Extended license
  • No reselling, redistributing or sublicensing the source
  • Not for offering it to other people as a hosted service
Buy the Single license, $59
Extended license$129
Unlimited sites you own or operate, plus up to 10 client installations (white-label included) · Agencies, and anyone running it on more than one site.
  • Everything the Single license grants
  • Install it on as many domains as you own or operate — no cap on the number
  • Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
  • White-label: remove or replace the product name and logo in the screens of client installations
  • Still no reselling or redistributing the source itself
  • Running it as a multi-tenant service others sign up for needs a SaaS agreement
Buy the Extended license, $129

Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.

After you buy

Updates

The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.

Help

Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers

If it isn’t right

Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms

If we disappear

It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.

Questions

Does it process card payments online?
No — it records cash/card tender and change; it doesn't process cards online.
Can I run multiple stores?
No — one shop per installation: one stock ledger, one set of registers. A second shop runs as a second installation on its own domain or subdomain, which the Extended license covers.
Does barcode scanning need special drivers?
No — keyboard-wedge USB scanners just work.
MySQL or SQLite?
Either — MySQL for shared hosting, SQLite for a local trial.
What do I need to run it?
PHP 8.1 or newer (tested on 8.3) with PDO and MySQL/MariaDB or SQLite, on an Apache/LiteSpeed shared host (mod_rewrite) or Nginx/VPS.
Can it email receipts?
Yes — to the customer on request and the Z-report to you at day-close, both through your own SMTP details and both off until you enable them. With no SMTP configured, receipts still print and display exactly as before.
Is Vendra a subscription?
You buy it once and own that copy. There is no subscription, no per-user fee and nothing that renews — the license tier decides how many sites you may run it on, not how many people use it. Point-of-sale software is usually rented per till per month; nothing here counts tills.
Our POS charges per terminal and takes a card fee. What changes?
The per-terminal charge goes, because the license governs sites rather than devices. The card fee is between you and your payment provider either way — no payment passes through us. It refuses an oversell at the database, even when two tills ring up the last unit at the same instant; it is not a payment processor.
What exactly do I get for the money?
The download is the complete PHP source with the database schema. Read it, change it, keep it. If we vanished tomorrow the copy on your server keeps working, because nothing in it phones home to us.
Can I get the sales and stock out?
Yes: Sales → Download CSV gives every sale line for any date range, with the cost captured at the sale; Products → Stock CSV gives stock, average cost and stock value; the audit trail also exports as CSV and the whole database backs up as JSON or SQLite.
Better together
Retail Suite: Vendra, Restock, Tokora, Warrantora and Loyalora
POS with inventory, reorder forecasting, and a queue/token display — the front of a shop, self-hosted.
5 tools for$209
$355 separatelySave $146

Covered in these guides

Also covered in: The restaurant ops stack, bought once: the food-safety diary, the menu into the till, and the review you ask for · What's new in Own It 3.1 · SQLite or MySQL? SQLite's Own Authors Say You Probably Need Less Than You Think · Your POS Charges You Twice — And Square's Free Tier Means Most Shops Should Not Pay Either · What's new in Own It 3.0 · From spreadsheet to system: when a business tool pays for itself.

More about Vendra

Self-hosted POS and inventory that will not sell below zero recorded stock, even when two tills sell the last unit at the same moment.

The problem it solves

Retail shops, cafés, and market stalls need stock counts they can trust and profit numbers built from recorded cost — but cheap POS scripts fall apart on exactly that: counts drift, overselling happens, and margin reports become fiction because cost isn't tracked properly.

  • Stock counts that drift from what's actually on the shelf
  • Overselling the last unit when two cashiers ring up at once
  • Profit reports built on a guessed cost of goods

Every feature

  • Email the customer their receipt. A receipt can go to the customer by email — through your own SMTP, off until you switch it on, and the printed or on-screen receipt keeps working with no SMTP at all.
  • The day-close report, in your inbox. Closing the drawer can email you the Z-report — takings by tender, the counted difference, the day's numbers — so the record exists outside the till the moment the day ends.
  • Oversell-proof checkout. Overselling is enforced at the database level, even when two cashiers sell the last unit at the same instant.
  • Append-only stock ledger. Every stock change — sales, purchases, returns, adjustments — posts to an auditable movement ledger with cost, reference, and who did it.
  • One-click ledger verification. Rebuild every stock count from the ledger and flag any mismatch.
  • Weighted-average costing. Drift-free integer-math costing updates on every purchase, so profit reports use the cost you actually recorded.
  • Barcode-ready POS screen. Fast product grid with category tabs, keyboard-wedge barcode scanning, split payments, and hold & resume sales.
  • Full store operations. Purchases and receiving, returns, register sessions with Z-report, and reports by product and cashier.
  • Installable mobile app (PWA). Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is not stored offline on the device; what you see is read live.
  • Works with Restock and Loyalora. Connect your own Restock and every sale and refund updates its sales history and shelf counts, so the reorder list follows the till. Connect Loyalora and a member's sale earns points by what was spent, with the balance shown at the till.
  • The till never waits on them. The sale is recorded first; an app that is down costs one short wait, and anything that did not arrive is listed in a log.
  • Count your stock, while you keep selling. Scan or type a shelf, post the differences with a reason; a sale during the count is never lost or counted twice.
  • Real margins, freight included. Spread a delivery's freight, duty and fees into what each item cost you.
  • Barcode labels. Print price labels on A4 or US Letter sheets or a label printer, even for items that came without a barcode.
  • Recipes and bundles. Sell a latte from cups, shots and milk, or a gift box from what is in it; the parts come off the shelf.
  • A screen for the customer. A tablet shows the basket, the total and the change as you ring it up.
  • Scan to adjust stock. Choose add or take off and a reason, then scan: a breakage, a find or a return goes on the ledger in one scan, and stock never goes below zero unless you allow it.
  • Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
  • Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
  • Switch from Square. Upload Square's item library and customer directory. A switch report checks every row with Vendra's own rules before one Import button brings them across, and importing the same file again adds nothing.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Vendra, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0.2 — the installer opens on every host. For Vendra, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.

Release notes in full

  • Own It 4.1: client installations and your other tools. For Vendra, 4.1 makes two changes that every app gets. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Vendra to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0: it updates and backs itself up. For Vendra, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself. It also switches you over from Square: the item library and the customer directory.
  • Own It 3.3: stock moves at the scanner. 3.3 puts stock corrections at the scanner: choose add or take off and a reason, then scan, and a breakage, a find or a return goes on the ledger in one scan. Stock never goes below zero unless you allow it.
  • Own It 3.2: the shop floor, connected. 3.2 connected Vendra to the rest of the shop: every sale and refund updates your own Restock, a member's sale earns Loyalora points, and the till never waits on either. On the floor it brought stock counts while you keep selling, barcode labels, recipes and bundles, a screen for the customer, and real margins with freight included. Receiving stock became scan-to-receive, with the margin shown before you receive.
  • Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. What this app gained is listed at the top of this section.
  • Own It 3.0: works for your AI, not just for you. An MCP endpoint lets an agent list products, check stock, pull a sales report and record a sale — through the same checkout the till runs, so stock still cannot oversell and a sale still needs an open register. The POS gains camera barcode scanning straight from the browser.
  • Own It 2.0: API, 2FA, backups, dark mode. Vendra 2.0 adds the 2.0 owner layer. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.

Browse self-hosted: Front-office software · Retail & shop software · Restaurant & café software · Charity, club & association software · Event & venue software · Hotel & hospitality software

Vendra$59 once
Demo Buy