The operating system for wholesale distribution
Hi it’s Maria at Bella — can we get 2 cases of romas, 5 milk, and a couple cucumbers for today? thanks!
- became a line
- needs you
Point at a line on the right and the words that produced it light up over here. It is what makes a parse checkable in three seconds instead of read twice, and it is the one thing in this picture no competitor does.
Delivery
Today · Tue 21 Jul
Total · zero-rated
$163.00
Every order your customers send you, already priced.
Maria texted that at 4:12 this morning. Supligo read it, matched every line to your catalogue, priced it at what Bella pays, and flagged the one line it wasn’t sure about. You press Accept. Nothing is ordered until you do.
No commission · Your customers order free · Your prices stay yours
She didn’t have to change anything.
That is the whole point. Restaurants drop suppliers who make them learn a new way to order. So Supligo takes the order however it already arrives — and all three of these land in the same queue, priced the same way, waiting for the same Accept.
Her message
She texts you the way she always has. You paste it in as you read it — nicknames, “a couple”, no punctuation, all of it — and it comes back as an order.
Your ordering address
Give customers an address like orders@yourcompany.ca. What arrives there becomes an order in the queue on its own. Nobody signs up for anything.
Your storefront
For the ones who’d rather tap: a site in your name and your colours, with their prices on it. Not a marketplace — they are never shown another supplier.
Short at 05:40, not at the door.
Your packer is filling Bella’s order and there is one case of romas left, not two. He taps Short. Supligo ranks three substitutes against what that kitchen actually buys and puts the question on Maria’s own order page, with the price difference on it.
She answers 1. The order changes before the truck is loaded, the pick list updates, and the invoice is right the first time. Found at the door instead, the same case is a credit note, a phone call and a chef who remembers.
The three are ranked, not listed, and that is the only reason ranking is in the product: acceptance of a substitute rises from about two thirds to about three quarters when it matches the dominant attribute or something the customer already buys. A random swap off the shelf gets refused and phoned about.
One case of Roma Tomatoes is short this morning. Which would you like?
- 1Beefsteak Tomatoes · +$1.60
- 2Cherry Tomatoes · +$5.00
- 3Send the one case only · −$26.00
The hour you actually run the business.
You have been on the concrete at the Ontario Food Terminal since four, and you know what moved. You put the new prices in once — old, new, and what it does to your margin — then send today’s list to eighty-four customers, in your name, in one action.
The price you publish is the price the invoice charges. There is no second copy of the number sitting in a Word document, going stale, waiting to start an argument at month end.
Open, preview, apply, sent: 5.1 s on a phone, timed. The budget was two minutes.
| Item | Pack | Was | Now | Change | Margin |
|---|---|---|---|---|---|
| Romaine Hearts | 12 ct case | 21.10 | 23.40 | +2.30 | 18.2% |
| Hass Avocados | 48 ct case | 54.00 | 58.00 | +4.00 | 12.4% |
| Yukon Gold Potatoes | 50 lb bag | 22.00 | 20.75 | −1.25 | 15.1% |
| Green Leaf Lettuce | 24 ct case | 19.50 | 18.40 | −1.10 | 6.1% |
Below your floorGreen Leaf Lettuce, on 2 price lists. Send anyway, or put it back.
What your customer sees, from the driver’s phone.
Truck 2 leaves at 6:25. Every stop on it gets one message — on the way, arriving around 10:40 — with a link that opens with no login and no password. At the door the driver takes a photo. Whoever receives it ticks off what came in, thirty seconds on their own phone, and anything short is on your screen with the photograph before the truck is back on the road.
The driver’s phone does not need a signal. A whole route can be run out of a basement cooler and sent the moment he is back on the road — eight stops, nothing lost, no double delivery. No system we have found in this segment ships one at all.
Sent 06:25 · email, in your name
Toronto Fresh Produce is on the way — arriving around 10:40. Track it: tfp.ca/t/9K4M
Delivered 10:38
Photo at the back door · signed K. Osei
IMG 10:38:04 · 43.6441, −79.4028 · ±6 m · truck 2 · stop 4
Receiving check · 8 of 9 · 1 case milk raised

One order, from 04:12 to the invoice, closing to the cent.
The invoice is not what was ordered — it is what came off the truck, weighed and signed for. It is out three minutes after the door closes, while the chef still remembers taking it in. Check the arithmetic. It is the same order you have been reading down this page.
In Ontario the tax is one line. In Québec it is two, going to two governments on two different returns, so we store both rather than working them back out of a total afterwards. A credit note carries its own tax. Over-ship four cases on a three-case line and the invoice bills four, because pretending otherwise is how a stock count stops meaning anything.
Bella Restaurant Inc. · INV-2026-0418 · Tue 21 Jul

Net margin here is one to four percent.
One wrong invoice to a restaurant is not a rounding error — it is the relationship, and he will remember it next February when someone else calls him. That is the whole reason this part of the product is boring, strict, and tested to the cent.
The following Tuesday · 04:09
Next Tuesday it doesn’t ask.
You set that cucumber line to two cases and accepted it. The same phrase arrives a week later, spelled differently, and there is no question to answer.
Every correction teaches the system for your business and for that one customer — Marco’s “small toms”, Gianni’s “the usual box”, the fact that Bella’s couple is two cases and the café down the road means two pieces. It compounds all year. A competitor installing a fresh system next spring starts from nothing, and cannot buy this.
04:12
“…and a couple cucumbers”
English Cucumbers · 2 Check the unit
04:09
“…and a couple cukes”
English Cucumbers · 2 cases · $36.00 No question asked
Measured, not claimed
Four numbers we are willing to be held to.
These come out of our own test suite, run against the real product, and they are re-measured every time the code changes. Where a number would be dishonest, we say so instead.
0.994
seconds
The system’s share of turning a twelve-line message with two unsure lines into a placed order — keyboard only, no mouse touched. The budget was fifteen seconds.
5.1
seconds
Opening the price screen, previewing the changes, applying them and sending today’s list — on a phone, standing up. The budget was two minutes.
< 30
seconds
For whoever opens the back door to tick off a delivery on their own phone and raise the one case that was short, with a photograph. Timed on a phone, and it is a pass-or-fail line in the tests rather than a target we aim at.
8
stops, no signal
A full route completed offline and flushed on reconnect — eight deliveries recorded server-side, none of them twice. Asserted on every run of the tests, not on a good day.
0.994 s is measured, not marketing. A twelve-line message with two unsure lines, keyboard only, from paste to a placed order — the software’s share of the job. That is the fastest of three timed runs; the other two were 1.27 s and 1.42 s, and we would rather print all three. The remainder of the fifteen-second budget belongs to the person checking the work, which is the way round it should be.
What a browser cannot time is how long a person takes. That number is recorded inside the product from real suppliers and shown back to you as a rolling median — including the weeks it looks bad.
Honestly
You’ve been sold software before.
So here is the list, in three columns, and the third one is what tells you whether to trust the first two. It is kept current. When something moves, it moves here first.
Running
- Capture from a pasted message, or an email to your own ordering address
- The review queue and its gate — an unanswered line cannot be confirmed
- Learning: a correction teaches the matcher for you and for that customer
- Per-customer price lists, and today’s published list
- The order desk and the whole state machine, actor by actor
- Pick lists, catch-weight, short-ship and the credit that writes itself
- Vehicles, routes and the driver’s day — on a phone, offline
- Proof of delivery with photo, time and place
- The no-login tracking link and the receiving tick-off
- Invoices, statements, credit notes, and who owes you money
- Your customers’ data separated at the database, not by good intentions
Under test
- The line-match accuracy number, on a real supplier’s own year of orders
- The median seconds-per-review, recorded inside the product and published even when it is bad
- A full day in one warehouse, start to finish, before a second is signed
Not yet
- WhatsApp as a live inbound channel — today you paste it in
- Sending the shortage question out by email — today it lands on their order page and their bell
- Photographing a handwritten price docket, or reading a list out loud
- Taking payment — you invoice your customers exactly as you do now
- French
Who pays, and who keeps the customers
How we make money, in three lines.
A monthly fee, from you
One price for your business, set with the first suppliers. Your customers order free, and they always will.
Never a percentage
No commission on a sale, no fee per order, and no payment rail taking a slice on the way past. You invoice your customers exactly as you do today.
Your list stays yours
No marketplace, no shared buyer account spanning suppliers, no advertising sold against your catalogue. Your customers’ prices and orders are separated in the database and enforced on every query, so a bug in a screen still cannot leak them.
In pilot
There is no quote here yet, and we are not going to invent one.
We are choosing our first Toronto distributors now. When one of them is ready to put his name and his business on this page, his words go in this space. Until then it stays empty, which tells you something too.
If you would rather be the name than read one, that is the better end of the deal: the first suppliers set the price and get the roadmap.
Bring your catalogue. Put one real Tuesday through it.
Import your products and your price lists, invite one customer, and take a real order from a real message. That is the only test that means anything, and it takes an afternoon.
Canada · Produce, meat & seafood, dairy, bakery, dry goods, beverage, packaging