Receiving, putaway, wave picking, pack and ship — the depth that used to require an enterprise contract, sized for one building, one team, and orders measured in hundreds. Run it for your own brand, or run it as a 3PL for a dozen client brands. Same system, either way.
Most warehouse software makes you pick a side. Merchant tools assume every order is yours. 3PL platforms assume you never ship your own. Tahona was built for both from the start, because the same building often does both — and because brands that outgrow their own floor tend to become someone else’s client, not someone else’s migration project.
A brand fulfilling from its own warehouse. Orders land from Shopify and Amazon, get allocated against real stock, group into waves, get picked, packed, and labelled — and the tracking number goes back to the channel without anyone copying it anywhere.
A small 3PL fulfilling for client brands. Each client owns its own inventory, orders, receipts, and sales channels. Stock is segregated per warehouse, client, and SKU — and a per-client usage report gives you the numbers you invoice from.
Every WMS claims the same feature list. These are the choices underneath it — the ones that are hard to retrofit and easy to check.
Your data lives in its own database — not in a shared table behind a tenant_id column. Real isolation, not a WHERE clause. It also means your data can be handed to you, or moved, as a unit.
One brand shipping its own orders, or a 3PL fulfilling for many client brands, out of the same install. Turning on client mode is a setting, not a different product and not a migration.
Wave picking, putaway with suggested locations, zones and bin locations, cycle counts, stock transfers. Real warehouse mechanics — not an order list with a “fulfilled” checkbox.
One codebase runs as multi-tenant SaaS or as a single-tenant on-premise install. If your operation needs the software to live on your own hardware, that isn’t a special edition.
Every record with a physical location carries a warehouse. Every order carries the channel it came from. Neither was bolted on later, so the second building and the second channel don’t break the first.
Scoped, per-workspace API keys and real REST endpoints — push orders in, read orders, inventory, and warehouses out. Build the integration nobody else was going to build for you.
Order import → allocate → wave → pick → pack → ship, with label printing at the end. Pick-to-ship, pick-pack-ship, or pack-ship — whichever shape your floor actually runs. Receiving and putaway feed the same stock the allocator reserves against, so the numbers agree.
Turn on clients and every inventory item, order, receipt, and sales channel belongs to one of them. Stock is tracked per warehouse, per client, per SKU — so two clients selling the same SKU never draw down each other’s units. Client codes show up on documents and in the API, and every screen with a list gets a client filter.
Channels, carriers, and printers are set up through guided wizards that test the connection before they save it — so you find out the token is wrong while you’re looking at the screen, not at 6am when orders didn’t import.
Tahona is built and running. It is deployed, the fulfillment chain works end to end, real Shopify orders have been imported and real carrier labels have been bought. What it does not have yet is a wall of customer logos — and we’d rather say that plainly than invent one.
So this is the honest offer: a small number of pilot operations, worked with directly. Hands-on setup, your locations and SKUs loaded for you, a direct line to the people building it, and real influence over what gets built next. Pilot operations keep preferred pricing when we launch.
Tell us about your operation — how many orders a day, how many buildings, which channels you sell on, and whether the stock is yours or your clients’. That’s enough for us to say honestly whether Tahona fits yet.
Write to us about the pilotScreens on this page are the real product, filled with demonstration data — the SKUs, client brands, and customer names are invented for the screenshots.