TradeOS
The complete business system for retail and trade.
The problem
Most trade businesses run on spreadsheets, WhatsApp threads, and disconnected tools — losing orders, missing deliveries, and burning staff time on admin that should take seconds.
The solution
TradeOS brings inventory, sales orders, delivery logistics, staff management, and a customer storefront into one connected platform — built for the way trade businesses actually work.
Features
Every part of the business, connected. Here's how it works.
Everything below is the real interface — the same screens, chrome and colours a client sees when they log in, across all four surfaces: the back office, your own shop, the showroom till and the driver’s phone. Click through it. These are working demos, not screenshots.
Component-Based Inventory
Model products as assemblies. Stock is held at the component level and availability is derived from the scarcest part — so a sofa short of legs stops being sellable everywhere at once, including on your website. Nobody types a stock figure in by hand.
Back officeInventory
Free to sell is derived from components — never typed in by hand.
Sellable value
£6,342
Active SKUs
3
Blocked by a component
1
| SKU | Product | On hand | Free to sell | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LSF-003 | Lagan 3-Seater Sofa▲ | 2 | 2 | ||||||||||||
Component breakdown — Lagan 3-Seater Sofa
Drop the limiting component to 0 — the product goes out of stock everywhere at once, including the storefront. | |||||||||||||||
| MRN-DT-L | Mourne Dining Table (Large)▼ | 3 | 3 | ||||||||||||
| CWY-BF-K | Causeway Bed Frame (King)▼ | 3 | 3 | ||||||||||||
The shop can’t sell what you can’t build. Free to sell is derived from the scarcest component, so a sofa drops out of the storefront the moment its legs run out — no oversold order to refund and apologise for a week later.
Sales Order Management
Quote to completion in one pipeline. Walk-ins, trade accounts and orders paid on your website all land in the same list, and every transition is stamped with who made it and when — so a disputed order has a history, not an argument.
Back officeSO-1042
Mrs T. Reynolds · placed on the storefront at 23:14
Storefront order. Paid online out of hours — no one keyed it in.
Total
£1,299.00
Payment
paid
Delivery date
26/05/2026
Margin
38.4%
| Product | Qty | Unit price | Line total |
|---|---|---|---|
Lagan 3-Seater Sofa LSF-003 | 1 | £1,299.00 | £1,299.00 |
| Order total | £1,299.00 | ||
Order history · every change stamped with who and when
quote → confirmed· Stripe webhook
Payment captured £1,299.00 · stock reserved automatically
The website keeps selling after the showroom shuts. A storefront order takes payment through Stripe, reserves its own stock and arrives in the same pipeline as a walk-in — nobody rekeys it in the morning, and nothing is sold twice overnight.
Delivery Manifests & Driver App
Build the day's runs, assign a van, and watch stops close as they happen. The driver app keeps working with no signal and syncs when it returns; every drop captures a photo and a signature onto the order, and the customer gets a live tracking link.
Back office + driver appVan 1 · Friday 23 May
Belfast & Lisburn run · 3 stops
Run progress
1 of 3 stops
| # | Customer | Postcode | Status |
|---|---|---|---|
| 1 | Mrs T. Reynolds SO-1042 | BT6 8DN | DeliveredSigned T. Reynolds · photo on file |
| 2 | Mr A. Patel SO-1043 | BT27 4QE | En route |
| 3 | Ms C. Doherty SO-1045 | BT9 6XT | Pending |
Proof of delivery lands on the order itself — no photos lost in a WhatsApp thread.
Mr A. Patel
SO-1043
Address
22 Mill Lane
Lisburn BT27 4QE
Delivery notes
Trade entrance — ring buzzer
Items
- 1×Mourne Dining Table (Large)
- 4×Mourne Dining Chair
Fewer failed drops, fewer “where is my sofa” calls. The customer gets a tracking link on dispatch; the driver captures a photo and a signature that attach to the order itself. A disputed delivery is settled with evidence instead of memory.
Branded Storefront
Your own domain, your colours, your logo — with bundle deals, live stock counts, sale badges and Stripe checkout. Orders arrive in the back office already paid and with stock reserved. There is no second e-commerce platform to reconcile.
Your own domainBundle deals
Bundles and honest stock counts lift the average order. Bundle rails, sale badges and “only 2 left” are all driven by the real figures behind the counter — not a countdown widget that resets when you reload the page.
AI Room Match (Pro)
Customers upload a photo of their room; the AI reads the space — size, light, existing colours and style — then surfaces products from your live catalogue that suit it, each with a one-line reason. It cuts indecision on high-value items and pushes people towards stock you actually hold. Pro tier.
Your own domainFind what fits your room
Upload a photo — we’ll suggest pieces from our range that suit the space.
Drop a photo here — or try one of ours:
Turns a browsing visitor into a whole-room basket. The customer uploads a photo, the model reads the space against your live catalogue and proposes pieces with reasons attached. One tap adds the lot.
Staff & Scheduling
Role-based access, rotas, clock in and out, leave and payroll export — from the sales floor to the warehouse to the vans. Hours feed the labour cost your margin reports work from, and pay rates sit in a separate manager-only table so staff can see their time without seeing everyone's wages.
Back officeTime clock
Hours worked feed the labour line in the margin report.
Sam H.
Every action taken while clocked in is attributed to this session.
Clock in
Rates are stored separately and only managers can read them — staff see hours, not pay.
Recent sessions
| Thu 22 May | 8h 15m |
| Wed 21 May | 7h 50m |
| Tue 20 May | 8h 00m |
You find out which jobs actually made money. Clocked hours feed the labour line the margin report divides revenue against, and every order change carries the name and session of whoever made it.
Reporting & Cash Recovery
Sales by staff, margin by order and inventory valuation over any date range — plus cash recovery, which ranks stock that has stopped moving on 90-day velocity, proposes a markdown, and reprices it straight onto the storefront with the old price struck through and a Sale badge on the card.
Back officeSales by staff
Confirmed and completed orders, by the person who created them.
| Staff member | Orders | Revenue | Avg. order |
|---|---|---|---|
| Sarah J. | 18 | £21,450.00 | £1,191.67 |
| Sam H. | 14 | £16,820.00 | £1,201.43 |
| Lewis K. | 9 | £10,290.00 | £1,143.33 |
| Total | 41 | £48,560.00 | £1,184.39 |
Cash recovery
Stock that has stopped moving, and what it would take to shift it.
Items flagged
2
Tied up in stale stock
£4,889
Cash to recover
£3,582
| Product | Free | Last sale | Suggested | To recover | |
|---|---|---|---|---|---|
Hygge Dining Chair (Grey) DIN-CHA-GRY 60+ days since last sale | 8 | 67d ago | −20% £159 | £1,274 | |
Lagan Sofa (Black) LSF-001-BLK 90+ days since last sale | 3 | 94d ago | −30% £769 | £2,308 |
Velocity is units sold in the last 90 days ÷ 90. Applying a markdown writes the new price and keeps the old one as the struck-through compare-at figure on the shop.
Dead stock is repriced and back on the shop the same afternoon. Cash recovery ranks what has stopped selling, proposes a markdown on the velocity ladder, and applying it reprices the product — Sale badge and struck-through price live on the storefront, no export or second shop admin involved.
In-store Till (POS add-on)
A wall-mounted touch till on a bundled tablet: chip-and-PIN through Stripe Terminal, thermal receipt, and the same orders, stock and reports as everything else — so a showroom sale immediately changes what the website will let a customer buy. Paired by device, unlocked by a 4-digit PIN, priced on the server. Per-site add-on for Growth and Pro.
Showroom tillCart
0 items
Tap a product to add it.
Wall-mounted tablet · chip & PIN via Stripe Terminal
One stock figure across the counter and the website. A showroom sale draws down the same free-to-sell number the shop reads from, and the price is resolved on the server from the SKU — a tampered tablet cannot discount itself a sofa.
The Cockpit
One screen for the state of the business: revenue and margin over any range, the order pipeline by stage, stock value, hours clocked, and an inbox of the things that cost money if nobody looks at them today — delivery change requests, website enquiries, leave to approve. Built on materialised views, so it loads instantly on a phone in a van.
Back officeCockpit
The page everyone opens first.
Revenue
£42,180
+18%
Gross margin
34.2%
+2.1pp
Stock value
£128k
−£3.2k
Hours worked
742h
clocked
Revenue — last 30 days
Orders by status
Recent activity
- 08:42Sarah J. confirmed SO-1042
- 08:38Tom B. delivered SO-1041
- 08:31Lewis K. created PO-2026-044
- 08:15System flagged at-risk Mourne Recliner stock
- 07:56Aoife M. reported defect REC-021
The things that quietly cost you money have somewhere to appear. Website enquiries, delivery change requests and at-risk stock land in one inbox on the first page you open, rather than in three separate places nobody checks on a Friday.
Purchase Orders & Goods In
Raise orders against suppliers, track them from draft to delivered, and book in what actually turned up — partial deliveries included, because containers arrive short. Received components immediately raise free-to-sell, so the products they were holding up go back on sale on your website without anyone touching the shop.
Back officePO-2026-041
Belfast Frame Co · expected 02 Jun 2026
Order total
£7,480
Lines
3
Units ordered
220
Units received
0
| Component | Ordered | Received | Unit |
|---|---|---|---|
Oak frame — 3-seater CMP-OAK-3S | 20 | 0 / 20 | £240.00 |
Feather cushion CMP-FCN-01 | 120 | 0 / 120 | £18.00 |
Chrome leg CMP-LEG-CH | 80 | 0 / 80 | £6.50 |
Stock goes back on sale the moment the container is booked in. Receiving components recalculates free-to-sell, so the products those parts were blocking return to the storefront automatically — no second job editing the shop, and no selling window lost to admin.
Container Shipments & Customs
Consolidate several purchase orders into one container, hold its TSS reference and UKIM eligibility, and keep the movement log from booking to cleared to delivered. Built for GB-to-NI trade under the Windsor Framework, where the paperwork is real and most retail systems pretend it isn't.
Back officeSHIP-2026-018
Belfast Port · 40ft container · 3 POs consolidated
TSS reference
TSS-89234-A
UKIM eligible
Yes
Customs value
£12,150
POs linked
3
Customs movement log
Booked with carrier
14 May 2026
In transit GB → NI
21 May 2026
Customs declaration
23 May 2026
Cleared (Windsor Framework)
24 May 2026
Delivered to warehouse
25 May 2026
Linked purchase orders
| PO-2026-041 | Belfast Frame Co | £6,020 |
| PO-2026-043 | Antrim Upholstery | £4,280 |
| PO-2026-044 | Ulster Foam | £1,850 |
GB-to-NI paperwork lives with the stock it belongs to. TSS reference, UKIM eligibility and the movement log sit on the shipment, linked to the purchase orders inside it — so landed cost carries through to the margin on every order those components end up in.
API Access & Your Own AI
Ask ChatGPT how many sofas you can actually build today, or which orders are promised this week and still sitting in the warehouse, and get an answer from your real figures. Your data is available to any tool you already use — an assistant, a spreadsheet, a website you host elsewhere — through a read-only key you create and revoke yourself. Read-only on purpose: an assistant reading your data also reads what customers typed into it, so a key that cannot write cannot be talked into cancelling an order.
Anywhere you likeHow many Lagan 3-seaters can I actually build right now?
Three. You have 6 oak frames and 9 cushion sets, but only 3 sets of chrome legs — so legs are the limit. The other components are not short.
Live stock, derived from components
Try another question
Answered from your own live data through a read-only key you create and revoke yourself. Works with ChatGPT, Claude, a spreadsheet, or anything else you already use.
Ask your own AI about your own business. The figures it answers from are the live ones — free-to-sell derived from components, orders with their promised dates — not a monthly export that was already stale when it was made. And because your data reads out to any tool you like, you are never locked in by not being able to get it.
Defects & Vendor Claims
Damage gets reported where it is found — in the van, on the showroom floor, at goods-in — with photos attached to the record rather than stranded in someone's phone. Escalate to a vendor claim and the Pro-tier assistant drafts the letter from that evidence, so the money actually gets claimed back off the supplier.
Back officeQuality control
3 active defects across 2 suppliers
DEF-101
Lagan 3-Seater
LSF-003
📷
3 photos attached — captured where the damage was found
Notes
Frame split during delivery; visible crack on rear support strut.
Damage gets claimed back instead of written off. The photos attach to the defect where it was found, and escalating drafts the vendor claim letter from that evidence — the step that usually never happens is the one that costs you the money.
Who it’s for
- Independent furniture retailers and showrooms
- Flooring, door, and window suppliers
- Trade kitchen and bathroom showrooms
- Any bulky-goods business with a delivery fleet
- Multi-location retailers needing one connected system
TradeOS — Deep Dive
TradeOS is a fully integrated business management platform built from the ground up for retail and trade businesses dealing in high-value or bulky goods.
Why we built it
TradeOS started with a year spent working inside a furniture retailer, and was shaped by conversations with other trade businesses about what they actually needed. The same problem kept coming up: businesses growing fast but held back by disconnected software and manual processes. Spreadsheets for stock, WhatsApp for delivery coordination, a separate e-commerce platform, and a standalone accounting package — none of them talking to each other.
That is why the awkward parts are in here. Component-based stock, proof of delivery that stands up in a dispute, GB-to-NI customs paperwork, a driver app that works with no signal — those are not features anyone puts on a roadmap from a desk. They are the things that go wrong on a Tuesday.
TradeOS replaces the patchwork with one connected system.
Four screens, one database
Most of the value comes from the fact that these are not four products bolted together. They read and write the same records.
- The back office — orders, inventory, manifests, purchase orders, reports, staff, expenses. Runs on your own subdomain.
- Your shop — a customer-facing storefront on your domain, with your logo and colours.
- The till — a wall-mounted touch POS for the showroom floor.
- The driver app — a phone app for the van that works with no signal.
Sell a sofa on the till and the website has one fewer within the second. Mark a delivery done in the van and the order closes in the office. There is no nightly sync, no CSV export, and no reconciliation step where the numbers quietly drift apart.
What makes it different
Component-based inventory
Most retail systems track stock at the product level. TradeOS tracks it at the component level. A king-size bed frame, a specific fabric and a set of legs each have their own stock position. When you sell a product, the system knows which components are consumed and updates availability across every product that shares those parts.
Free-to-sell is derived — it is the quantity of the scarcest component, computed on read rather than typed in by anyone. That single rule is what makes it safe to put the same figure in front of a customer on the website. No more "we thought we had stock".
Delivery-first design
The delivery manifest is a first-class feature, not an afterthought. Staff build runs, assign drivers and track stop-by-stop completion from a purpose-built mobile app designed for a van, not a desk. It is offline-first: actions queue on the device and replay when signal returns, so a delivery in a rural blackspot is not a delivery you find out about at six o'clock.
Every drop captures a photograph and a signature, and both attach to the order. A disputed delivery gets settled with evidence rather than someone's memory of a Tuesday.
Sales order workflow built for trade
The order flow is designed around how trade businesses actually work: quote → confirmed → dispatched → delivered → complete. Walk-in customers can be captured instantly without pre-existing records. Trade accounts have full address books, credit limits and order history. Storefront orders flow in automatically, already paid.
Every transition writes an event with the person, the timestamp and what changed — and the same is true for anything touching money, stock or staff hours.
Selling more from the website
The storefront is not a brochure. It is wired into the same stock and pricing the counter uses, which unlocks a few things a bolt-on shop cannot do honestly.
- Bundles. Group products into a room set at a set price with the saving shown. The highest-leverage upsell surface on the shop, and it draws stock from the same component pool.
- Real scarcity. "Only 2 left" is the actual free-to-sell figure, not a countdown that resets on reload. Products go out of stock the moment their components do, so you never take money for something you cannot ship.
- Cash recovery. The system ranks stock that has stopped moving on 90-day sales velocity and proposes a markdown — 10%, 20% or 30% depending on how long it has sat. Applying it reprices the product, keeps the old price as the struck-through compare-at figure and puts a Sale badge on the card. Dead stock is back in front of customers the same afternoon.
- AI Room Match (Pro). A customer uploads a photo of their room; the model reads the space against your live catalogue and recommends pieces with a reason for each. It turns a browsing visit into a whole-room basket, and it can only recommend things you actually hold.
- Cart nudges (Pro). Abandoned-basket recovery emails, with subject-line variation.
Getting the stock in
Everything above depends on stock existing, so the inbound side is a first-class part of the system rather than a note in a spreadsheet.
Purchase orders run from draft to submitted to in transit to received, and receiving is partial by default — containers arrive short, and a system that only accepts all-or-nothing gets worked around within a fortnight. Booking components in recalculates free-to-sell, which puts the products those parts were blocking straight back on the website. Nobody edits the shop.
Container shipments and customs matter more here than most software admits. A Northern Irish retailer bringing goods from GB is doing customs paperwork on stock it already owns. TradeOS consolidates several purchase orders into one shipment, holds the TSS reference and UKIM eligibility, and keeps the movement log from booked to cleared to delivered — so "where is it, and what did it cost to land" has a single answer. Landed cost then carries through to the cost-at-time-of-sale figure on every order those components end up in.
Defects and vendor claims close the loop on damage. Bulky goods get broken, and the money is usually lost at the paperwork stage rather than the breakage stage — a driver photographs a split frame, it sits in a phone gallery, and the supplier is never billed. Reports are raised where the damage is found, with photos attached to the record. Escalating to a vendor claim drafts the letter from that evidence, which is the difference between a claim being made and a claim being meant to be made.
Your data, and getting at it
Every tenant can issue read-only API keys from Settings and read their own products, live stock, orders and customers over HTTPS. Point a spreadsheet at it, feed a shop you host somewhere else, or let an AI assistant answer questions about your own business.
Read-only is a deliberate choice rather than an unfinished one. An assistant reading your data is also reading text other people wrote into it — a customer's delivery note, an enquiry from your website — and text like that can contain instructions. A key that cannot write cannot be talked into cancelling an order by something a stranger typed into a form. Where a specific write is genuinely needed, we would rather scope a key to exactly that than hand over everything.
The documentation is public, at /docs/api and /docs/import, because the
first thing that reads it is usually somebody's AI assistant — and docs behind a
login get answered from guesswork instead.
It also settles a fair question about lock-in: your data leaves the same way it arrived, as CSV or over the API, without asking us and without a fee.
Staff, hours and margin
Scheduling, clock in and out, leave requests and payroll export cover the full team from showroom sales to warehouse to drivers. Role-based access means each person sees what they need and nothing more.
The commercial point is that clocked hours feed the labour cost your margin reports divide revenue against. Cost of goods is snapshotted onto each order line at the moment of sale, so a report run next year still reflects what that job actually cost — not what the component costs today.
Security and tenant isolation
Isolation between tenants is enforced in the database, not in application code. Every tenant-owned table carries a tenant ID and has row-level security switched on, with policies that read the tenant from the signed session token. An application bug cannot leak another business's data, because the application is not the thing holding the line.
The rest follows the same principle of putting the check where it cannot be skipped:
- Card data never touches our servers. Payments go through Stripe's hosted elements and Stripe Terminal.
- Prices are resolved server-side from the product record — on the website and on the till. A tampered client cannot discount itself a sofa.
- The till is locked down. It authenticates with a paired-device cookie plus a four-digit operator PIN, throttled with escalating backoff and a hard lockout on repeated failures. There is no address bar to navigate away from.
- Pay rates are separated into a manager-only table, so staff can see their own hours without seeing everyone's wages.
- Custom domains are verified by DNS TXT record before they go live, so nobody can point a domain at someone else's shop.
- Everything touching money, stock or hours is audited with the actor, the timestamp and the change.
Multi-tenant platform
Built for businesses with multiple showrooms, warehouses or brands from day one. Each location operates independently while management sees the full picture, and the whole platform runs as one codebase — so every tenant gets each improvement at the same time, rather than waiting on a bespoke build.
The storefront is configurable where it matters — logo, colours, typography, hero, collections, footer, email templates and domain — and deliberately not configurable where it would break things. There is no custom CSS or HTML injection, and the checkout flow is fixed. That is what keeps the shop fast, accessible and safe to upgrade underneath you.
Before you ask
The questions people actually put to us, including the awkward ones.
Do I have to give up my existing website?
What does switching actually involve, and how long am I offline?
What will it really cost me a month?
Subscription — £79
Our platform fee, 0.4% — £160
Stripe, 1.5% + 20p per order — £610
Total leaving your account — £849
Of that, £239 is us and £610 is Stripe. The Stripe part is what taking a card costs and you pay something like it on any platform — Shopify, Wix, your own site — so the only figure worth comparing between suppliers is the £239. We show it separately because quoting £79 and letting you discover the rest is exactly the sort of thing this page exists to stop.
Payments taken anywhere else, including on a website you already run, carry no platform fee to us at all — just your own processor's. Card rates vary by card type, and overseas and commercial cards cost more than the standard UK rate above. The POS add-on is priced per site; ask and we will quote it for your setup rather than have you guess.
What happens if it breaks on a Saturday afternoon?
Can I get my data back out if I leave?
You are one person. What happens to my business if something happens to you?
What protects you is that your data never stops being yours. Customers, products, orders, stock, expenses and payroll all export as CSV from inside the app, and the same data reads over the API with a key you hold — at any time, without asking us, with no fee and no notice period. Those are ordinary formats any other system can take. So the worst case is that you have to move, not that you lose anything.
We would rather say that plainly than offer something that sounds better and helps less.
Who else is using it?
What we would say instead: do not take our word for any of it. The demo is the actual system with sample data loaded, not a slideshow — open it, confirm an order, build a delivery run, mark something damaged. That tells you more than a testimonial from a stranger would.
We are looking for a small number of founding customers, and the terms reflect the risk you are taking on a new supplier: your price fixed for as long as you stay, direct access to the person who builds it rather than a support queue, and real influence over what gets built next. If being first is a problem for you, that is fair — come back when we have names to give you.
Who built this, and do they know the trade?
It also means you are dealing with the person who writes the software. That cuts both ways, and the answers above about support and continuity say which parts are the downside.
Can I offer interest-free credit on a £2,000 sofa?
Does it talk to my accountant’s software?
I have two shops. Can I move stock between them?
How do refunds and returns work?
Simple, transparent pricing
One base price per location. Scale your users and locations as you grow — pay more only when your business does.
Starter
Everything you need to run a single showroom or warehouse.
1 location · 5 staff · up to 500 orders/mo
+0.4% platform fee on top of Stripe's standard 1.5% + 20p
- Full order management
- Component-based inventory
- Delivery manifests + driver app
- Branded customer storefront
- Staff scheduling & timekeeping
- CSV import (customers, products, orders)
- Email support
Growth
For expanding businesses adding locations and headcount.
Up to 3 locations · 10 staff per location included
- + £29/mo per extra location
- + £9/mo per extra staff member
+0.3% platform fee on top of Stripe's standard 1.5% + 20p
- Everything in Starter
- Custom storefront domain
- Purchase orders & shipments
- Cash recovery module
- Enquiries CRM
- Priority support
Pro
For multi-site operations that need dedicated support.
Unlimited locations · 15 staff per location included
- + £19/mo per extra location
- + £7/mo per extra staff member
+0.2% platform fee on top of Stripe's standard 1.5% + 20p
- Everything in Growth
- AI Room Match — recommends products from your catalogue based on the customer's room photo
- AI Container Loadmaster — 3D bin-packing for inbound shipments
- AI Vendor Claim Assistant — auto-drafted damage reports from photos
- AI Cart Nudges — abandoned-cart recovery emails with subject-line variation
- Custom terminology per tenant (delivery vs. fit vs. install, etc.)
- Dedicated onboarding session
- SLA-backed support (4-hour response, Mon–Fri)
POS add-on · Growth & Pro
Add an in-store till for any site
Bundled tablet, mounting stand, Stripe Reader S700 (chip-and-PIN), and thermal receipt printer — pre-configured, paired, and ready to plug in. Sales write straight into the same orders, stock and reports as the rest of the platform.
- • Hardware ships pre-paired to your shop
- • 6 months of support included
- • Stripe Terminal fees pass through at cost
- • No long-term hardware lock-in
From £799 one-off+ £29/mo per till
Talk to us about POS →All plans include a minimum 12-month term. Transaction percentage applies to payments processed through Stripe Connect. Need something bespoke? Get in touch.
Request a quote — TradeOS
Tell us about your business and we'll put together a tailored proposal.