Get started
🚀
Getting started
Create your account, set up your team, and start tracking inventory across every device.
All plansAll platforms
Stockout is team-based: your team can have as many member accounts as you need — each teammate signs in with their own login and role, all sharing the same live inventory. Whoever signs up first creates the team and becomes its Owner with full access, then invites teammates who each get their own account. Every new team gets a 30-day free trial of the plan you choose.
Step-by-step
- Create your account. On the website, click Get started and enter your business name, email, and a password. Or choose Continue with Google to skip the confirmation email. You land in your new workspace as the Owner.
- Set up your first location. Stockout organizes everything by place, so you'll be prompted to create a location (e.g. “Main Warehouse”) with an optional city and country. You need at least one location before you can add inventory.
- Explore the dashboard. After creating a location you land on the home dashboard: total stock value plus quick-access tiles for Inventory, Kits, Equipment, and more.
- Add your first item. Open Inventory, tap the + button, and enter a name and quantity. Add a SKU, prices, and a low-stock threshold if you like, then save — it syncs to every device instantly. Already keep a spreadsheet? You can also import it from a CSV or Excel file instead of typing items in one by one.
- Install on your other devices. Get the Windows app from the Download page or the Android app from Google Play, then sign in with the same account. You can also just open the web app in any browser.
- Invite your team. Go to Settings → Team Members (Owner/Admin only), enter a teammate's email, and pick their role. They'll see your inventory as soon as they sign in.
- Reset a forgotten password. On any sign-in screen tap Forgot password, enter your email, and you'll get a 6-digit code. Enter the code plus a new password to sign back in.
Tips
- The first sign-up creates your team; everyone you invite afterward gets their own account under it — there's no separate “create a team” step.
- Plans scale by devices, not seats, so invite as many teammates as you need.
- On mobile you can uncheck “Keep me signed in” to require a fresh sign-in each launch.
🏠
The dashboard
Your home base for navigating every feature and seeing stock value at a glance.
All plansAll platforms
The dashboard is the screen you land on after signing in. It shows summary cards for your total stock value and unit counts, plus a grid of tiles that jump straight into each module. Tiles for features your plan doesn't include show a lock icon with an upgrade prompt.
Step-by-step
- Return home anytime. Tap or click the Stockout logo in the top-left from anywhere in the app to come back to the dashboard.
- Read the overview cards. The top shows Total Stock at Cost, Total Stock at Retail, and Total Units for your current location. Tap Hide overview to collapse them; the choice is remembered per device.
- Use the quick-access tiles. Each colored tile opens a feature — Inventory, Kits, Work Orders, Equipment, Checklists, Folders, Customers, Supplier Info, Printing, Locations, and more.
- Open the menu. The hamburger icon (top-right) opens a panel with your current location, Change Location, Settings, Account, and Team Members (Owners/Admins).
- Switch location. Choose Change Location in the menu to instantly refresh every count and list for another site.
Tips
- Overview totals reflect only your current location — switch to All Locations for a combined, read-only view.
- Locked tiles stay visible so you can see what a higher plan unlocks; tap one for details.
📍
Locations
Organize inventory across sites and switch between them in a tap.
Unlimited locationsAll platforms
Stockout is built around locations: every item, kit, piece of equipment, checklist, folder, and work order belongs to one. Each device has an active location, and switching it filters your whole view to that site. Suppliers and customers are shared team-wide, and label templates are shared across all locations.
Step-by-step
- Add a location. Open Locations and tap the + button (Owner/Admin). Enter a name, plus optional address, city, and country, then save.
- Edit a location. Tap the pencil on a location card, update the fields, and save. Changes sync everywhere.
- Switch the active location. Tap the 📍 location chip at the top (or Change Location in the menu) and pick a site from the picker.
- See everything combined. With more than one location, choose All Locations in the picker for a read-only aggregate of totals across every site.
- Delete a location. Tap the delete icon and confirm. This permanently removes all items, kits, equipment, and checklists at that location — and you can't delete your last one.
Tips
- All Locations is read-only by design — switch to a specific site to add or change anything.
- Only Owners and Admins can add, edit, or delete locations; everyone else can still switch between them.
- Deleting a location cascades to its inventory — back up first if you might need that data.
📥
Import from CSV or Excel
Bring in items, suppliers, customers, or equipment from a spreadsheet — you decide what each of your columns means.
IncludedOwner/Admin onlyAll platforms
Import brings a spreadsheet into Stockout: a CSV, TSV/TXT, or Excel (.xlsx/.xlsm) file of inventory items, suppliers, customers, or equipment. You choose the file, then decide what each of your columns means — Stockout suggests a field for each column from its header and remembers your choices for next time. Before anything is saved you see every row: what will be added, what will be updated (with the exact before → after changes), what needs fixing, and what's a duplicate. You choose what happens when a row matches something already in Stockout, and rows that can't be imported download as a CSV with the reason on each row, so you can fix them and import that file again. Afterwards, Undo this import removes what the import added and puts back what it changed, as long as nobody has changed those records since — on the device that ran it, for 7 days.
Open it from Settings → Data Management → Import Data and tap Import. A green NEW pill marks the row until you've opened it once on that device or browser. When your Inventory, Suppliers, Customers, or Equipment list is completely empty, an Import from a spreadsheet link appears there too. Only Owners and Admins can import — the same rule as Restore.
Step-by-step
- File — choose a file. Under “What are you importing?” pick Inventory Items, Suppliers, Customers, or Equipment. Items and equipment always go into the location you're in now (the screen says Importing into and names it), so switch locations first to import somewhere else; suppliers and customers are shared by all your locations. No spreadsheet yet? Download a template gives you a CSV with the right headers and two example rows. Tap Choose a file — in the web app you can also drag the file onto the drop box (“or drop it here”). For an Excel file, check the Sheet to import; for a text file, the separator and encoding are detected for you and can be changed under File settings. Under “Which row has your column names?” confirm the row Stockout picked, or choose No header row. Then tap Next: map columns.
- Map — tell Stockout what each column means. Every column gets a card with its header, a few sample values, and a field picker. Stockout suggests a field from the header and labels the card Matched (a confident match), Guessed (a looser match — check that it's right), Remembered (your choice from an earlier import on this device or browser), or Skipped. Change any card with its picker, or choose Skip this column; Reset drops your choices and suggests again from the headers. Items need a column mapped to Name or SKU; suppliers, customers, and equipment need Name. The defaults panel — “Fill in what the file doesn't have” — sets values for new records only: Category, Storage location, Low-stock threshold, and Unit for items, and Storage location for equipment. Its “Add skipped columns to …” switch copies the columns you skipped into a new record's Description (items, equipment) or Notes (customers). Then tap Next: review — the button shows how many rows are coming.
- Review — choose how matches are handled, then import. Stockout reads your current records fresh, then lays out every row. Under “When a row matches something already in Stockout” pick Add new, skip existing (the default and the safest — only new rows are added), Add new, update existing (matching records get your file's values; blank cells never erase), or Update existing only (nothing new is added; rows that match nothing are listed as Not found). When items are being updated and a column is mapped to Quantity, “Quantity for items already in Stockout” offers Keep current stock (the default), Replace with the file's quantity, or Add the file's quantity to current stock. Use the tiles — All rows, To add, To update, Need attention, Duplicates, Already in Stockout, Not found — to look through the rows; an update lists each change as “field: before → after”. Leave Back up my data first on, then tap the Import button, which names the count (for example “Import 5 equipment items”).
- Import — let it run. Progress shows how many rows are done out of the total; rows are saved in batches of 200. Cancel stops between batches: rows already saved stay saved, and the rest are marked as not imported. You can't leave the screen while it runs.
- Done — check the result. Tiles show Added, Updated, and Not imported, with a line underneath for rows already in Stockout and rows already up to date. From here you can View inventory (or suppliers, customers, or equipment), download the rows that weren't imported, Import another file, or Undo this import. In the Windows and Android apps the changes are saved on the device first — your team sees them after the next sync.
Supported files and limits
- File types: .csv, .tsv, .txt, .xlsx, and .xlsm. Stockout reads the file's content, not just its extension.
- Size: up to 10 MB and 10,000 rows per file. Split anything bigger into smaller files and import them one at a time.
- Columns: only the first 512 columns are read, and the first 200 columns with data can be mapped. A cell holds up to 32,767 characters; longer text is cut. Your column names can be on any of the first 10 rows.
- CSV, TSV, and TXT: the encoding (UTF-8, UTF-16, or Windows-1252) and the separator (comma, semicolon, tab, or pipe) are detected automatically; change either under File settings. A first line like
sep=; sets the separator and is skipped. Quoted fields can hold commas, quotes, and line breaks, the way Excel reads CSV, and blank lines are ignored.
- Excel: one sheet per import, picked under Sheet to import. Hidden rows are left out unless you turn on Include them. Stockout uses the result Excel saved for each formula — it doesn't calculate formulas or run macros — so if formula cells come in empty, open the file in Excel, save it, and import it again. Error cells such as #N/A count as empty, percent cells come in as percentages (an Excel 20% reads as 20%), text-formatted numbers keep their leading zeros (00123), and dates come in as text (yyyy-mm-dd). A merged cell inside one column is copied down to every row it covers; a merge across columns, such as a title banner, isn't copied.
- Numbers written as text: currency symbols and codes such as $, €, £, US$, and USD are removed and the number is kept as it is — there's no currency conversion. Thousands separators, negatives in parentheses like ($45.00), a trailing minus, and % signs are understood, and both 1,234.56 and 1.234,56 work; if a number could be read either way, a Number format switch appears with a live example. Placeholders such as -, n/a, none, and null count as empty. Values like 5 PCS, 1/2, 2 x 6, or 1.5E3 aren't numbers, so that row needs attention.
- Not supported: older .xls files, binary .xlsb files, password-protected workbooks, .ods and Apple Numbers files, and web pages saved as spreadsheets — save them as .xlsx or CSV first. Google Sheets and other online spreadsheets aren't connected: download the sheet as .csv or .xlsx, then import that file.
- Drag-and-drop works in the web app only; in the Windows and Android apps, use Choose a file.
What each type can import
- Inventory Items: Name, SKU, Category, Quantity, Cost price, Retail price, Low-stock threshold, Near-capacity threshold, Max capacity, Description, Storage location, and Unit. Each row needs a Name or a SKU; with a SKU but no name, the SKU is used as the name.
- Suppliers: Name, Ordering portal URL, Contact name, Contact phone, Contact email, and Contact role. Each row needs a Name.
- Customers: Name, Contact name, Phone, Email, Address, and Notes. Each row needs a Name.
- Equipment: Name, Total quantity, Description, and Storage location. Each row needs a Name, and Total quantity must be a whole number.
- SKU: several columns can feed it (for example SKU, UPC, and EAN), and one cell can hold several codes separated by commas, semicolons, or line breaks. Every code will scan, and codes are never shortened.
- Unit: a unit sets how the item is tracked — weight (kg, g, mg, lb, oz, t), length (m, cm, mm, km, ft, in, yd, mi), or volume (L, mL, gal, fl oz, pt, qt, cup) — and common spellings like lbs, pounds, inches, or gallons work too. Leave it blank, or use a count word such as ea, pcs, box, or case, to count units. A unit Stockout doesn't track falls back to counted units, with a warning. Counted items hold whole units, so a fractional quantity is rounded.
- Thresholds: Low-stock threshold and Near-capacity threshold take a number or a percentage of max capacity, such as 20%. A percentage needs a Max capacity on the item, or you'll see a warning.
- Supplier contacts: each supplier row can carry one contact. A new supplier always gets it; an existing supplier gets it as an extra contact unless one of its contacts already has the same email (or, failing that, the same name or phone number). Import never edits or removes existing contacts, and a role on its own adds no contact. Several columns can feed Ordering portal URL, one link per line.
- Customer Address: street, city, state, ZIP, and country columns can all feed it; they're joined with commas.
- One column per field everywhere else: only SKU, Ordering portal URL, and Customer Address take several columns. Picking a field that another column already has moves it to the new column.
- Column names: Stockout recognizes common headers — Qty, On hand, UPC, Part #, Bin, Vendor, Unit cost, and many more — ignoring case, punctuation, and accents. A Storage location column is a shelf or bin label, not a Stockout location.
How rows are matched
- Items with a SKU in that row are matched by SKU only, never by name: the row matches an item if any of its codes equals any of that item's SKUs, ignoring case. Two rows named “Hex Bolt” with SKUs HB-40 and HB-50 become two different items.
- Items without a SKU, and all suppliers, customers, and equipment, are matched by exact name. Case and extra spaces don't matter; there's no fuzzy or “close enough” matching.
- Items and equipment are compared only with records in the location you're importing into. The same SKU at another location doesn't match, so that row is added as a new item here.
- If a row could match more than one record, Stockout doesn't guess — the row needs attention and says which records it matches.
- Duplicates inside your file: the first row wins, and later rows with the same SKU, name, or record are marked Duplicate with the row they repeat.
Updates, blank cells, and quantity
- Blank cells never erase. An update changes only the fields that have a value in that row of your file. Those mapped fields — name, category, prices, thresholds, description, storage location, customer details, and so on — get the file's value.
- SKUs and portal links are added, never removed. New codes from the file join the item's SKUs, and new ordering-portal URLs join the supplier's links.
- Quantity follows the choice on the Review step: Keep current stock never touches it, Replace with the file's quantity sets it, and Add the file's quantity to current stock adds to it. The review shows each change as before → after. Equipment Total quantity is replaced by the file's number.
- The unit (and how the item is tracked) changes only when the row has a unit.
- Updates stay put. An update never moves a record to another location, and the defaults panel and “Add skipped columns to …” apply to new records only.
- Unchanged rows aren't written. A row whose values already match shows “Already up to date.”
- New records get Stockout's defaults for anything missing: quantity 0, prices 0, and the low-stock threshold from the defaults panel (prefilled from Settings). If Auto-Remove at Zero is on in Settings, a new item needs a quantity of at least 1.
- Stock movements: a new item with stock gets a starting stock movement, and a quantity change on update writes one too.
- Import never deletes records — including records that aren't in your file. If someone else changes or deletes a record while the import runs, that row is skipped rather than overwritten; import again to apply it.
The backup option
- Back up my data first is on by default and saves a restore-ready .json backup before anything is written: to your Downloads folder on Windows, through the share sheet on Android, and as a download in the web app.
- A backup restores changed details. It can't remove records the import adds, because Restore only merges. To take an import back, use Undo this import.
- If the backup can't be saved, Stockout tells you and asks whether to import anyway.
Rows that can't be imported
- Rows that need attention, duplicates, and rows marked Not found aren't imported. On the Review step, Download the … rows to fix saves them as a CSV: your original columns plus “Row in your file” and “Stockout: why this row was skipped”. The Done step offers the same file for every row that wasn't imported.
- Fix the rows in that file and import it again — the two extra columns are ignored automatically. SKUs with leading zeros or long numbers are written so Excel keeps them.
- Common reasons: a value that isn't a number, a number that's too large, a negative price, threshold, or capacity, a percentage outside 0–100, an equipment total that isn't a whole number, a row with no name (for items, no name or SKU), and a row that looks like a totals row (a first cell such as Total or Subtotal). A negative item quantity is allowed, with a warning.
- There's no per-row skip on the review screen. To leave a row out, take it out of your file.
Tips
- Column choices are remembered on each device or browser, up to 500 column-to-field pairs, and don't sync. They're saved when you reach the Done step.
- In the Windows and Android apps, Review syncs first, for up to 20 seconds. If that can't finish, you're warned that some rows might be added twice and asked whether to import anyway — so these apps can import without a connection and sync later.
- The web app saves straight to the cloud. If the connection drops, the import stops and Retry the rest carries on without re-adding rows that already landed.
- If you try to sign out of the Windows or Android app before imported changes reach the cloud, Stockout warns you that signing out deletes them from that device.
- If the app or page closed mid-import, the File step tells you how far it got. Nothing resumes on its own — import the same file again with Add new, skip existing to finish it.
- Leaving during the File, Map, or Review step asks first, because your file and column choices will be lost.
- A new import replaces the undo for your last one; the Review step tells you when that will happen.
What import doesn't do
- It's a one-time file import. There's no live link to Google Sheets, Excel Online, or any other spreadsheet, no import from a URL, no scheduled or automatic imports, and no importing through the public API.
- It covers items, suppliers, customers, and equipment only — not kits, checklists, work orders, folders, labels, locations, photos, or stock history. There's no Supplier column for linking items to suppliers; link them in the item editor.
- One file fills one location. A Location column doesn't send rows to different sites — if a column looks like your location names, Stockout tells you everything imports into the current one.
- It never deletes or archives records that are missing from your file, and blank cells never clear a value.
- No fuzzy matching, no currency conversion, no date fields, and no checks on email, phone, or URL formats — they're stored as text.
- Stockout doesn't export to CSV or Excel; its data export is the JSON backup.
- Users and Viewers can't import or undo.
Troubleshooting
- This file is larger than 10 MB. Split it into smaller files and import them one at a time.
- This file has more than 10,000 rows. Split it into smaller files and import them one at a time.
- This is an older Excel (.xls) file or a password-protected workbook. Open it in Excel and save it as .xlsx (without a password) or as CSV.
- Binary Excel workbooks (.xlsb) aren't supported. Open it in Excel and save it as .xlsx or CSV.
- This file is a web page, not a spreadsheet. Open it in Excel and save it as .xlsx or CSV.
- Stockout can import .csv, .tsv, .txt, .xlsx and .xlsm files. Save or export the file in one of those formats.
- This file couldn't be read. It may be damaged or still downloading. Let the download finish and try again. .ods and Apple Numbers files show this too — save them as .xlsx or CSV.
- This file is open in another program. Close it there and try again. (Windows)
- There are no rows below the header row. Under “Which row has your column names?” pick the row that holds your column names, or choose No header row.
- This sheet has no data. Pick another sheet. Choose it under Sheet to import.
- Items and equipment are imported into one location. Pick a location first, then import. You're in All Locations; switch to the site you want to import into.
- Drop one file at a time. (web app) Import several files one after another.
- Map a column to Name or SKU to continue. or Map a column to Name to continue. Set the picker on the column that holds your names (or, for items, your codes).
- SKU "…" was shortened by Excel. Format the column as Text in Excel and export again. Excel turned a long code into scientific notation, so the row is held back rather than imported with the wrong SKU.
- … records are already called "…". Add a SKU or rename one to say which. The row matches more than one record by name, so Stockout won't guess.
- Couldn't check your current items. Check your connection and try again. (web app; the message names what you're importing) Tap Try again; importing stays off until the check works.
- Stockout couldn't check for records added on other devices since your last sync, so some rows might be added twice. (Windows, Android) Get back online if you can. Otherwise Import asks “Import anyway?”, and rows that match records added on other devices would be added again.
- Nothing can be imported yet. Download the rows to fix, correct them and import the file again.
- Everything in this file is already in Stockout. With Add new, skip existing, matching rows are left as is. To update them, choose Add new, update existing.
- Changed by someone else during the import, so it was skipped. Import again to apply it.
↩️
Undo an import
Take back your latest import: remove what it added and put back what it changed.
IncludedOwner/Admin onlyAll platforms
Undo this import removes what an import added and puts back what it changed, as long as nobody has changed those records since. Anything changed after the import that has reached Stockout — stock sold or counted, details edited — stays as it is. Undo covers only your latest import, only on the device or browser that ran it, for 7 days at most — starting another import, signing out, or switching to another organization ends it sooner. The record of what the import changed is kept on that device and never synced.
Step-by-step
- Find Undo. Right after an import, use the Undo this import card on the Done step. Later, go to Settings → Data Management → Undo last import — the row right under Import Data, showing the file name and when it was imported — and tap Undo. The row only appears while an undo is available.
- Be in the right location. To undo an items or equipment import, switch to the location it went into; until you do, the row names that location and the button is off. Undo never works in All Locations.
- Let other devices sync first. If your team uses other devices, give them time to sync — a change that hasn't reached Stockout yet is invisible to Undo and can be overwritten. The Windows and Android apps sync before undoing; if that can't finish, you're warned and can choose Undo anyway or Cancel.
- Confirm. “Undo this import?” lists how many records will be deleted and how many will get their earlier details back. Tap Undo import. This can't be reversed.
- Read the result. Tiles show Removed, Restored, and Left as is. Every record left as is is listed with its reason, and Download the … rows left as is saves that list as a CSV for reference — it isn't a file to import. If the undo was cancelled or interrupted, Finish undoing carries on.
What Undo removes
- Records the import added are removed the same way a delete in Stockout removes them — but only while each one is still exactly as the import left it.
- An added record is kept (“Left as is”) if it was edited or moved to another location since the import, or used since: an item with stock changes, kits, work orders, supplier links, or folders; equipment that was checked out, checked in, or put in a folder; a supplier linked to items or put in a folder; a customer used in a work order or put in a folder.
- A contact the import added to a supplier is removed while it's unchanged.
What Undo puts back
- The earlier value of each field the import changed, field by field — but only while that field still holds the import's value. A field edited since stays as it is.
- Linked fields go back together or not at all: a unit only together with the stock, prices, and thresholds measured in it, and a threshold only together with its % setting.
- Values come back exactly as they were stored, with no rounding, and SKUs keep their original form.
- Quantity goes back only if the stock hasn't changed since the import. A sale or count after the import is never undone — the result shows the stock now and what it was before the import.
- A restored quantity, or a removed item's stock, gets a balancing stock movement. The import's own movements stay in history, so the two cancel out.
- Equipment totals aren't put back below what's checked out now.
Limits
- Only the latest import, only on the device or browser that ran it, for 7 days. Starting another import, signing out, or switching to another organization ends it. Another device, another browser, a private window, or cleared site data has no Undo for that import.
- Owners and Admins only.
- Undo never brings back a record deleted after the import, never overwrites sales, counts, or edits made after the import that have reached Stockout, and never undoes older imports or changes made in the normal editors. There's no undo of an undo.
- Undo doesn't erase anything permanently; the import's stock movements stay in history.
- A field edited after the import and then set back to exactly the import's value looks untouched, so Undo restores it.
- A partly finished or cancelled import can be undone too — Undo covers whatever part reached Stockout.
- In the web app, only one tab can import or undo at a time, and a browser without IndexedDB or the Web Locks API can't keep an undo record, so the Done step says Undo isn't available.
Undo or restore a backup?
- The backup Import offers before it writes anything restores changed details, but it can't remove records the import added, because Restore only merges. Undo removes them.
- After Undo is no longer available, restoring that backup still puts changed details back; it doesn't remove added records.
Troubleshooting
- This import can no longer be undone. Undo is kept only for your latest import, on the device that ran it. Undo lives only on the device or browser that ran the import — not on another device, another browser, or a private window, and not after site data is cleared — and only for the latest import, for 7 days.
- Undo isn't available for this import: Stockout couldn't save a record of its changes on this device. Shown on the Done step when the record Undo needs couldn't be kept.
- Stockout is importing or undoing in another tab. Finish there first. (web app)
- Switch to … to undo it. Switch to the location the items or equipment were imported into.
Track inventory
📦
Inventory & items
Add and track items with live stock statuses and flexible thresholds.
All plansAll platforms
The Inventory module is your item catalog with quantity tracking, stock alerts, and per-location storage. Every item shows a live status — Out, Low, In Stock, Near Capacity, or Max Capacity — based on the thresholds you set. Items can be counted as plain units or measured (weight, length, volume).
Step-by-step
- Open Inventory. Tap the Inventory tile on the dashboard.
- Scan the status overview. Five stat tiles show Total Products, Low, Out, Near Capacity, and Max Capacity. Tap any tile to filter the list to that status.
- Add an item. Tap the + button. In the form, enter name, SKU, quantity, cost/retail prices, storage location, max capacity, thresholds, and notes, then save.
- Understand the five statuses. Out (0 units), Low (at/under the low-stock threshold), In Stock (normal), Near Capacity (at/above the near-capacity threshold), and Max Capacity (at/above the maximum).
- Set thresholds. “Low Stock At” and “Near Capacity At” can each be a fixed number or a percentage of Max Capacity. Set Near Capacity to 0 to turn it off.
- Adjust stock. Use the +/− on a card for single units, or the three-dot menu → Adjust for a bulk add/remove with a live preview.
- Edit or delete. Use the three-dot menu to edit any field, or delete an item (delete can't be undone).
Tips
- Status priority is Out → Low → Near Capacity → Max Capacity → In Stock; each item shows one.
- Percentage thresholds need a Max Capacity set, otherwise they never trigger.
- Turn on Auto-Remove at Zero in Settings to automatically delete items that hit 0.
- Not sure what number to use? See the guide on reorder points and safety stock.
- You can also add items, or update existing ones, from a CSV or Excel file — see Import from CSV or Excel (Owners and Admins).
- Teammates' changes refresh automatically, and your place in the list stays put.
🔎
Search, filter & organize
Find anything fast with search, the filter sheet, bookmarks, and pagination.
All plansAll platforms
Every list in Stockout — Inventory, Kits, Equipment, Customers, Work Orders, and more — shares the same controls. Search, filters, and bookmarks are instant and device-local, so there's nothing to set up.
Step-by-step
- Search. Type in the search box at the top of any list to filter results live (case-insensitive, partial matches included).
- Filter & sort. Tap the funnel icon to open the Filter & Sort sheet — narrow by category, status, location, and more, and choose a sort order. The funnel turns green when a filter is active.
- All vs. ★ Bookmarked. Toggle the All / ★ tabs to show everything or only your starred items.
- Bookmark. Tap the star on any card to save it to your device's favorites.
- Page through results. Lists of 25+ show a pager (First « 1 2 3 » Last) at the bottom; the active page is highlighted.
Tips
- Bookmarks are per-device and don't sync — each phone, tablet, or computer keeps its own favorites.
- Changing your search or filters returns you to page 1; a background sync won't lose your page.
🧰
Kits & bundles
Bundle items into kits and build, unmake, or sell them with automatic stock tracking.
All plansAll platforms
Kits group several inventory items into one package — a workstation bundle, safety kit, or starter pack. Building a kit deducts the component stock; unmaking returns it; selling a built kit ships it out without touching the recipe. Kits are location-specific and synced across all your devices.
Step-by-step
- Open Kits. Tap the Kits tile. Each kit shows how many you can build from current stock.
- Create a kit. Tap +, name the kit, add an optional storage location, then set the quantity of each component item. Review and save.
- Make (build). On a kit card, tap the +/− button, keep Make selected, enter how many to build, and apply. Component stock drops and the Built count rises. If stock is short, you're told the most you can build.
- Unmake. Choose Unmake on the adjust sheet to reduce the Built count and return all component stock.
- Sell / ship. Choose Remove/Sold to reduce the Built count without returning components. You can add extra one-time items that go out with the kit.
- Edit or delete. Edit the name, components, or built count from the info sheet; deleting a kit never affects component stock.
Tips
- The “can build N” figure is the minimum across all components at current stock.
- Use the Built field in the form only to set a starting count — use +/− to actually build.
- Remove/Sold is one-way: once a built kit ships, its components don't come back.
📁
Folders
Group anything into custom collections without moving or copying it.
All plansAll platforms
Folders are location-scoped collections that reference items, kits, equipment, checklists, labels, suppliers, customers, and work orders. Think of them as digital bins — removing an entry or deleting a folder never deletes the underlying thing.
Step-by-step
- Create a folder. On the Folders page, tap +, name it, and confirm.
- Add entries. Open the folder, tap +, and use the type tabs (Items, Kits, Equipment, Checklists, Labels, Suppliers, Work Orders, Customers) to search and add. A checkmark shows what's in.
- Act right from the folder. Adjust item quantities, make/sell kits, check equipment in/out, run a checklist, or print a label — all without leaving the folder.
- Filter inside a folder. Use the funnel to narrow by type or reorder entries; only types that have entries appear.
- Remove vs. delete. The 📁✕ icon removes an entry from the folder only; the trash icon deletes the underlying item everywhere.
Tips
- Folders are per-location — switch locations to see that site's folders.
- You can view plan-gated entries already in a folder, but adding new ones of a gated type needs the matching plan.
- Entries whose original was deleted are skipped automatically.
Run operations
🛠️
Equipment check-in/out
Track shared gear as it's signed out and returned, with automatic timestamps.
IncludedAll platforms
The Equipment Log manages shared company gear — tools, machinery, devices — that people sign out and return. The app records who has what, how many, and when, and derives the available count from the log so it's always accurate.
Step-by-step
- Open the Equipment Log. Tap the Equipment tile. You start on the Equipment tab listing gear at your current location.
- Add equipment. Tap +, enter a name, the total you own, an optional storage location, and notes.
- Check out. Tap the check-out button, enter the employee's name and quantity, and confirm. The date/time is captured automatically and the sheet stays open for quick repeats.
- Check in. Tap check-in and pick the holder from the searchable list — their outstanding quantity auto-fills. Confirm to return it.
- Review history. The Activity Log tab shows every check-out and check-in, newest first, paginated.
Tips
- Equipment is separate from inventory and kits — it never affects stock counts.
- The status dot shows green (all available), orange (some out), or red (all out).
- Search is by equipment name, not by who's holding it.
- You can also import equipment into your current location from a CSV or Excel file — see Import from CSV or Excel (Owners and Admins).
✅
Checklists
Build reusable routines and run them, logging who did what and when.
IncludedAll platforms
Checklists are routines you create once and run many times — opening/closing procedures, safety checks, and so on. They don't affect stock; each completed run is logged with the employee's name, progress, and completion time.
Step-by-step
- Create a checklist. Tap +, add a name and optional description, then add item rows. Save.
- Run it. Tap Use Checklist, enter the employee's name, tap each item to tick it off (a live counter shows progress), then tap Complete.
- Log incomplete runs. If items are unchecked, confirm to log anyway — it's recorded with an amber “incomplete” badge.
- Review history. The Activity Log tab lists every run, newest first, with name, progress, and timestamp.
- Edit or delete. Change the name, description, or items anytime; deleting removes the checklist and its history.
Tips
- Checklists are location-scoped — each site has its own set.
- The Activity Log is append-only history; past runs are never edited.
🧾
Work orders
Run jobs for customers, pull materials from stock, and track profitability.
IncludedAll platforms
Work orders are location-scoped jobs. Each tracks planned vs. actual materials, deducting stock as you fulfill them, and a job-costing card shows planned cost, retail value, quoted price, and profit. Orders are auto-numbered (WO-1001…) and can be linked to a customer.
Step-by-step
- Create an order. Tap the Work Orders tile, then +. Add a title (required), and optionally a customer, priority, assignee, dates, quoted price, and notes.
- Add materials. In the order, tap Add, search your items, and add them. Each line shows planned, used, and remaining quantities plus line cost.
- Use (fulfill) materials. Tap Use on a line to deduct the remaining planned quantity from stock; a stock movement is logged with the WO number.
- Adjust or remove. Use −/+ to change planned quantities (never below what's used), or the trash icon to remove a line and optionally return its used stock.
- Change status. Move the order Open → In Progress → On Hold → Completed (or Cancelled). Completing offers to fulfill all remaining materials at once.
- Read the costing card. See planned material cost, retail value, quoted price, and profit (green if positive) — profit is based on actual used cost.
Tips
- Material cost/price are snapshotted when added, so later price changes don't shift a job's totals.
- Use the Overdue only filter to surface late jobs.
- Cancelling or deleting an order with used materials lets you return that stock.
👥
Customers
Keep an org-wide directory of the clients you work for and link them to jobs.
IncludedAll platforms
Customers is an organization-wide directory (shared across all locations) of the people and businesses you do work for. Each record holds a name, contact person, phone, email, address, and notes, and can be attached to work orders.
Step-by-step
- Open Customers. Tap the Customers tile to see one card per customer.
- Add a customer. Tap the + button, fill in the name (required) and any contact details, then save.
- View & contact. Tap a card to open the profile, where Call and Email buttons use your device's phone/mail apps.
- Edit or delete. Edit updates every linked work order; deleting keeps the name saved on existing orders but removes the live link.
- Link to a work order. When creating or editing a work order, pick the customer from the dropdown.
Tips
- Only the customer name is required — fill in the rest later.
- Filter by “Has phone/email/address” to spot records that need completing.
- You can also import customers from a CSV or Excel file — see Import from CSV or Excel (Owners and Admins).
🚚
Suppliers
A shared vendor directory with contacts and one-tap reorder links.
IncludedAll platforms
Suppliers is an organization-wide vendor directory shared across every location. Each supplier has a name, one or more ordering-portal URLs, and a list of contacts. Link items to the suppliers that carry them so you always know where to reorder.
Step-by-step
- Open Supplier Info. Tap the Supplier Info tile on the dashboard.
- Add a supplier. Tap +, enter the name, and add ordering-portal URLs (one per line or comma-separated — no need to type “https://”). Save.
- Add contacts. Open a supplier and tap + to add a contact with a name, role, phone, and email.
- Link items to a supplier. In the item editor, tap Sourced from and check the suppliers that carry that item. The item shows how many it's linked to.
- Reorder. On a supplier's page, tap an ordering-portal link to open it in your browser and place an order.
Tips
- Suppliers are org-wide, so every location sees and can reorder from them.
- Item-to-supplier links are kept even if a downgrade temporarily hides the feature.
- Filter by “Has contacts” or “Has portal” to find incomplete entries.
- You can also import suppliers from a CSV or Excel file, with ordering-portal links and one contact per row — see Import from CSV or Excel (Owners and Admins). Linking items to suppliers still happens in the item editor.
Tools
🖨️
Label printing
Design reusable label templates with QR codes and barcodes, then export to print.
All plansAll platforms
The Printing section lets you design a label template once and reuse it across your inventory. Templates can stack item fields, custom text, and auto-generated QR codes or barcodes, and are shared team-wide. Labels export as PNG files ready to print or share.
Step-by-step
- Open Printing. Tap the Printing tile to see your saved templates.
- Create a template. Tap +, name it, and set the width and height in inches (e.g. 2.5 × 1.5).
- Add fields. Tap field chips — Name, SKU, Category, Cost, Retail, Quantity, Location, Custom text, QR code, or Barcode — and they stack in order with a live preview.
- Style each line. Set size (S–XL), bold, and alignment; toggle a prefix label (e.g. “SKU:”); and choose which field a QR/barcode encodes.
- Save & print. Save the template (it syncs to the whole team), then tap Print, pick an item/kit/equipment, and export the filled-in label as a PNG.
Tips
- Encode the SKU in a QR or barcode for fast scanning during receiving and stock checks.
- Custom text is great for fixed labels like “FRAGILE”.
- Templates are shared team-wide in real time; bookmarks (favorites) stay local to your device.
📷
Barcode scanning
Scan with your Android camera or an external reader to find and adjust stock.
All plans
Stockout scans two ways: the device camera on Android, and a USB/Bluetooth reader on Windows and the web. A scan looks items up by SKU and can add or remove stock in one tap, with a live history of every scan.
Step-by-step
- Open Quick Scan. Tap the Scan tile. Choose the add (green) or remove (red) mode and set a per-scan quantity.
- Scan with a reader. In Scanner mode, focus the input box and scan — the reader types the code and Enter applies it. Works on Windows, Android, and the web.
- Scan with the camera (Android). Switch to Camera mode, grant permission, and aim at the code; the app buzzes, applies the scan, and closes.
- Handle unknown codes. If nothing matches, choose to create a new item (SKU pre-filled) or attach the code to an existing item.
- Scan a SKU while editing. In the item editor, tap the barcode icon by the SKU field to add one or more SKUs to that item.
Tips
- An item can hold multiple SKUs, so several barcodes can point to the same product.
- External readers must be in keyboard-wedge (HID) mode — they type the code like a keyboard.
- Scan history is local to your session; clearing it doesn't change your data.
💾
Backup & data
Export and restore a portable backup, load sample data, or clear a location.
Backup/Restore: all plansReset/Clear: all plans (admin)
Stockout gives you full control of your data from Settings → Data Management. A backup is a single JSON file that's interchangeable between the app and the web, restore merges without deleting anything, and sample data loads a full demo catalog to explore.
Step-by-step
- Back up. Settings → Data Management → Backup. You get a timestamped
.json with all items, kits, equipment, checklists, suppliers, customers, folders, work orders, and label templates (activity logs are not included).
- Restore. Restore (admin only), pick a backup file, and confirm. Records are merged by ID — new ones added, existing ones updated, nothing deleted.
- Load sample data. Reset (admin only), type
RESET to confirm. Your current location is replaced with a full sample dataset — great for testing.
- Clear a location. Clear (admin only), type
CLEAR to confirm. This permanently deletes items, kits, equipment, checklists, work orders, and folders at your location, plus all team-wide label templates.
Tips
- Backups are plain JSON — a file made on mobile restores on the web and vice-versa.
- A backup restores into the account that created it. The file records your account, and Restore only accepts a matching one — so a backup from a different Stockout account (or from a version before this was added) can't be imported. Your own data restores across Windows, Android, and the web as usual.
- Restore is a merge, so it's safe to import a partial backup.
- Restoring a backup isn't the same as importing a spreadsheet. Restore reads only a Stockout backup (.json) from your own account and merges it back by ID. To bring in a CSV or Excel file of items, suppliers, customers, or equipment, use Import Data at the top of Data Management: you map your columns, and rows are matched to existing records by SKU or name. See Import from CSV or Excel.
- A backup can't take back an import. Restore only merges, so it can't remove records an import added — use Undo this import for that.
- Backup, Restore, Reset, and Clear all sync to the whole team — coordinate before running them.
Developers
🔌
Public API
Mint an API key and pull your team’s data as JSON — or wire Stockout into Zapier, Make, and n8n.
All plansKeys: admin onlyAll platforms
Stockout has a read-only HTTP API that hands your own data back as JSON — items, kits, equipment, checklists, folders, suppliers, customers, work orders, label templates, and the stock-movement ledger, 24 collections in all. You mint an API key in Settings → Developers → API Keys, send it as a bearer token, and get the same snake_case fields the backup file uses. It is the same door Zapier, Make, and n8n come through: point their generic HTTP action at a Stockout URL. Included on every plan. See the full API reference for base URLs, parameters, field lists, and worked examples.
Step-by-step
- Open API keys. Menu → Settings → Developers → API Keys (Owners and Admins only). Works in the Windows app, the Android app, and the web app.
- Create a key. Tap Create Key, give it a name that says where it will be used, and save.
- Copy it now. The full key is shown once and never again — paste it straight into your integration. Afterwards you only ever see its short prefix.
- Make a request. Send the key as an
Authorization: Bearer header to any collection URL, for example /v1/items. Every response is JSON.
- Revoke a key. Tap Revoke next to a key to kill it immediately. Revoking cannot be undone; create a new key to carry on.
Tips
- A key reads your whole team’s data at every location — treat it like a password, keep it on a server, and never put it in a web page or a mobile app.
- Keys start with
sto_live_. Only the first 13 characters and the last-used time are ever shown again.
- Create one key per integration so you can revoke just that one. A team can hold 25 active keys at a time.
- The API is read-only — it can never change your stock. Creating and updating records is a later phase.
- Each key is allowed 60 requests a minute and 10,000 a day; the API needs an active plan, so it stops working if the subscription lapses.
Account & platform
🔑
Team members & roles
Invite teammates and control exactly what each person can do.
All plansAll platforms
Each team has multiple member accounts and exactly one Owner. Owners and Admins invite teammates and assign each a role — Owner, Admin, User, or Viewer — that controls their access. Permissions are enforced on the server, not just hidden in the app. See the Roles & Permissions page for the full capability table.
Step-by-step
- Open Team Members. Menu → Settings → Team Members (visible to Owners and Admins only).
- Invite a teammate. Enter their email, pick a role (Admin, User, or Viewer), and send. They join automatically when they sign in with that email.
- Change a role. Tap the Role button next to a member and choose a new one; it applies at their next sign-in.
- Remove or revoke. Remove a member to cut off access immediately, or revoke a pending invite before it's accepted.
Tips
- Viewer = full read access, no changes — ideal for auditors or managers.
- User does day-to-day inventory work; Admin also manages teammates, locations, devices, and destructive actions.
- Only the Owner can delete the team; an Owner should transfer ownership before leaving.
⚙️
Settings & alerts
Tune defaults, appearance, date format, and low-stock / capacity notifications.
IncludedAll platforms
The Settings page personalizes how Stockout looks and behaves — default item values, currency, date format, appearance, and notifications. Low-stock and capacity alerts (mobile push and email) are a Team-plan feature.
Step-by-step
- Open Settings. Menu → Settings. You'll find Account, Inventory, Display & Appearance, Notifications, Data Management, and About.
- Set inventory defaults. Choose a default low-stock threshold, currency symbol, and default category for new items, and toggle Auto-Remove at Zero.
- Pick a date format. Choose MM/DD/YYYY, DD/MM/YYYY, or YYYY/MM/DD — it applies everywhere, including exports and file names.
- Turn on mobile alerts (Android). Toggle Low Stock, Out of Stock, Near Capacity, and Full Capacity alerts independently.
- Set up email alerts. Enter one or more recipient emails (comma-separated) and toggle the alert types you want. Alerts only send when a recipient is set and the toggle is on.
- Manage About. Set your company name, view your app version, Check for Updates, or Contact support.
Tips
- Mobile and email alerts are independent — enable either or both per alert type.
- Percentage thresholds need a Max Capacity on the item to work.
- The native app has a Dark Mode toggle; the web app follows your browser/system theme.
💳
Plans & billing
Pick a plan, manage devices, and handle billing yourself.
30-day free trial
Stockout is priced by devices, not seats: $12 per device per month, and your device count is the maximum number of devices that can be signed in at the same time — not how many are actively in use. Each app signs in on its own, so the Android app, the Windows app, and the web app each take one slot while signed in. The minimum is two so you can stay signed in on your phone and on your desktop or browser at the same time without signing out to switch. Signing out frees a slot immediately; a device unseen for 30 days releases its slot automatically. There are no feature tiers — unlimited items and locations, alerts, checklists, kits, folders, labels, equipment, work orders, suppliers, customers, analytics, and backup & restore are all included for every customer. Add or remove devices any time from the Pricing page; billing prorates. Annual billing is $120 per device per year, which works out to $10 per device per month.
Step-by-step
- Start your trial. Sign up and use your selected plan's features free for 30 days. Choose your plan and monthly or annual billing on the Pricing page.
- Subscribe. When the trial ends, Stripe Checkout opens in your browser — pay by card or Google Pay. Stockout never sees your full card details.
- Manage your devices. Settings → Devices lists every signed-in device with its last activity; remove one to free a slot. Devices idle 30 days free their slot automatically.
- Add devices. On the Pricing page (signed in), use the “Need more devices?” stepper to add device slots at $3 each per month.
- Manage billing. Open the Stripe customer portal from your account to change payment method, switch monthly/annual, apply promo codes, upgrade, or cancel.
Tips
- Reinstalling on the same device counts as a new device — the old slot frees after 30 idle days.
- On the Android (Play Store) build, manage your plan on the website rather than in-app.
- Roles (Owner/Admin/User/Viewer) are available to every customer — nothing is plan-gated.