Restock
Reorder points, days of stock and suggested orders per product, from your own sales history.
For small retailers, wholesalers and online sellers. Often replaces Prediko, Sortly or Zoho Inventory.
Single license $89 · Extended license $179 · paid once, yours for good
What it does
Each product gets a reorder point and days of stock left. A suggested order reaches your target cover, with its cost.
Connect Vendra, or any till over the API. Every sale updates the day's units and the shelf count.
Add a selling price and every suggestion and purchase order shows its margin. Your prices never appear on what the supplier receives.
Every order marked sent and received is timed. See what each supplier really takes, and apply it in one click.
Set a minimum order and a case size, and suggestions round up to them.
Moving average, a recent-weighted average that reacts faster, or last year's same period for seasonal stock. The formula is on the page.
Add an event with a percentage. The days it covers are in the reorder point and the suggestion.
Overstock lists what sits beyond your cover, the cash it holds, and what has stopped selling.
Record lots on receiving, and see what the current sell rate will not clear before it expires.
A kit's sales count as demand on its parts, so the parts are reordered in time. The kit never is.
Raise one order per supplier from what needs reordering. It leaves as a PDF or a supplier, QuickBooks or generic CSV.
Connect your own agent over MCP and the API. It reads Restock's own forecast rather than computing a second one.
Also: sales-history CSV import, sales that lower stock, a reorder report, roles, 2FA and backups.
What Restock deliberately doesn’t do.
- Forecasts are transparent estimates from your own sales history (moving average, recent-weighted, or the same period last year) — the math is shown, not a black box, and they stay estimates.
- One company per installation; your team shares it with roles.
- No supplier API or shop-platform connectors — sales and stock arrive by CSV, by the REST API, from a till such as Vendra, or from your own AI agent over MCP; purchase orders leave as a file (supplier / QuickBooks / generic CSV presets, or a PDF).
- Restock plans the buying; it does not pay for it (no invoices, payments or ledger).
What renting costs instead
2 months of Prediko costs what Restock costs once.
Read Sep 3, 2026 · source2 months of Sortly costs what Restock costs once.
Read Sep 3, 2026 · source4 months of Zoho Inventory costs what Restock costs once.
Read Sep 26, 2026 · sourceThe full comparison: every rival, what each does better, and who should stay with them →
Replacing one of these? Prediko alternative · Sortly alternative · Zoho Inventory alternative · Cogsy alternative · Inventory Planner (by Sage) alternative
Release history
For Restock, 4.1 makes two changes that every app gets. What’s new in 4.1 →
For Restock, 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 →
3.3 makes the purchase order a buying decision, not just a record: add a selling price and every suggested order and purchase order shows its margin, line by line and… What’s new in 3.3 →
3.2 tied Restock to the till and to your suppliers: stock follows every sale from Vendra or any till over the API, each supplier's real lead time is measured from your…
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…
Restock speaks MCP with five tools — and none of them computes demand: the server-side forecast decides reorder points, so an agent reports what Restock already…
Restock 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
- LICENSE.txt
- QUICKSTART.txt
- README.md
- assets/
- bin/
- config.sample.php
- controllers/
- deploy/
- index.php
- install/
- manifest.json
- offline.html
- router.php
- src/
- sw.js
- tests/
- views/
src/Importer.php: a real module, the first 24 of 313 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 /** * Importer.php — CSV import for products and sales history. * * Treats every upload as adversarial input: * - Columns are mapped BY HEADER NAME (never by position) with common aliases. * - Every string is clipped to its VARCHAR width, every integer clamped to ±2e9 — * a 500-char SKU or 15-digit quantity lands truncated, never as a MySQL strict-mode 500. * - Malformed rows are skipped with a per-line reason; the caller shows "imported N, * skipped M" with the first reasons. * - Hard caps: MAX_BYTES on the upload, MAX_ROWS on parsed lines (stream-parsed with * fgetcsv — a huge file never loads into memory). * * Own It 2.0: both importers take $dryRun. In dry-run mode every row is parsed, validated and * classified EXACTLY as it would be on a real import — including the unknown-SKU lookup and the * insert-vs-update decision — but no row is written. The confirm step then replays the same * file for real, so the report cannot promise something the import refuses. This is the * apps's CsvImport dry-run contract, honored by Restock's own (richer) importer rather than * by replacing it: the aliases, per-line reasons, clamping and SKU upsert here all predate and * exceed the shared module, so swapping it out would have been a downgrade. */ declare(strict_types=1); final class Importer
Runs on: Two-minute web installer; PHP 8.1+ with MySQL or SQLite, standard shared-hosting compatible; CLI demo seeder 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 -- restock <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.
- 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
- 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
Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.
After you buy
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.
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
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
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
Is the forecasting math a black box?
How do I get my sales data in?
Does it handle new products with no sales history?
Will this run on shared hosting?
Does it model seasonality or promotions?
Can my supplier or bookkeeper import the PO?
Is Restock a subscription?
Inventory-planning services charge per SKU or per month. What changes?
What exactly do I get for the money?
Can I get the suggestions and history out?
Covered in these guides
More about Restock
Import your sales history and get reorder points, days-of-stock, and suggested order quantities per SKU.
The problem it solves
Every small retailer, wholesaler, and e-commerce operator answers the same question every week: what do I need to reorder, and how much? Most answer it by eyeballing shelves or maintaining a fragile spreadsheet of averages someone built years ago.
Get it wrong one way and you stock out of your best seller mid-season; get it wrong the other way and your cash sits on a shelf as dead stock. Cloud inventory-planning SaaS solves this for a recurring monthly subscription, forever, with your sales data living in someone else's pipeline.
Every feature
- Purchase-order CSVs a recipient can import. Three named layouts on every PO — supplier, QuickBooks, generic — each with documented columns, so the file lands in their system instead of being re-typed. The default export stays byte-identical to before.
- Reorder point calculation. Compute reorder point as average daily demand times lead time plus safety stock, per SKU.
- Days-of-stock and demand trend. See days of stock left at the current sell rate, with a 30-day comparison to spot demand trending up or down.
- Suggested order quantities. Get a suggested order quantity to reach your target days of cover, with estimated cost.
- Sales-history CSV import. Import sales history matched by header name in any order, with malformed rows skipped and reported line-by-line.
- Reorder report. See everything at or near its reorder point, most urgent first, exported to a clean supplier-ready CSV.
- Self-hosted, one-time purchase. Runs on PHP 8.1+ with MySQL or SQLite on standard shared hosting, with no subscription or per-SKU meter.
- 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.
- Stock that follows the till. Connect Vendra (or any till, over the API) and every sale updates the day's units and the shelf count, so days of cover are always current.
- Or let sales lower stock. One setting and every sales import takes the units sold off stock; re-sending a day never counts it twice.
- Your suppliers' real lead times. Every order marked sent and received is timed; see what each supplier really takes beside what you plan with, and apply it in one click.
- Order the way your supplier sells. Set a minimum order and a case size, and suggestions round up to them; the page shows what you needed beside what to order.
- A forecast model per product. Moving average, a recent-weighted average that reacts faster, or the same period last year for seasonal stock, with the formula on the page.
- Plan for promotions and seasons. Add an event with a percentage, and the days it covers are in the reorder point and the suggestion.
- Kits and bundles. A kit's sales count as demand on its parts, so the parts are reordered in time; the kit never is.
- See the cash on the shelf. Overstock lists what sits beyond your cover, the cash it holds, and what has stopped selling.
- Batches and expiry dates. Record lots on receiving and see what the current sell rate will not clear before it expires.
- Know your margin before you order. Add a selling price and every suggested order and purchase order shows its margin, line by line and for the whole order. Your prices never appear on what the supplier receives.
- 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.
- Own It 4.0.1 — fixes and an up-to-date manual. For Restock, 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 Restock, 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 Restock, 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 Restock 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 Restock, 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.
- Own It 3.3: the margin before you order. 3.3 makes the purchase order a buying decision, not just a record: add a selling price and every suggested order and purchase order shows its margin, line by line and for the whole order. Your prices never appear on what the supplier receives.
- Own It 3.2: planning the way your shop runs. 3.2 tied Restock to the till and to your suppliers: stock follows every sale from Vendra or any till over the API, each supplier's real lead time is measured from your own orders, and suggestions round up to their minimum order and case size. It also brought a forecast model per product, promotions and seasons in the plan, kits, the cash sitting on the shelf, and batches with expiry dates.
- 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. Restock speaks MCP with five tools — and none of them computes demand: the server-side forecast decides reorder points, so an agent reports what Restock already believes rather than inventing a second opinion. Stock adjustments go through the same guarded writer as the form and the REST API.
- Own It 2.0: API, 2FA, backups, dark mode. Restock 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: Field, stock & service software · Retail & shop software · Warehouse & logistics software · Garage & vehicle-service software