0%
Opening the case file
byHoratio/Case studies/004 · Wholesale

Wholesale order management software: rebuilt without writing an application.

A UK wholesale plant nursery where quoting meant a fifteen-minute juggle between a website and a spreadsheet, and where an order was a folder on a shared drive. Fixed with no bespoke software at all — by choosing the right tools, connecting them properly, and running them alongside the old way until the old way was not needed.

Case study004 · Quoting & order operations
SectorWholesale horticulture, UK
Catalogue~10,000 product lines
RoleBusiness strategist, inside the business
Implementation3–4 months, no bespoke build
Quoting 15 min → 2–3 minSelling time returned 675 hrs / yearCourier entry 6–7 min → noneRevenue £1m → £3.2mMargin 5% → 17.6%Office headcount 3, unchangedCost of standing still £107k / year Quoting 15 min → 2–3 minSelling time returned 675 hrs / yearCourier entry 6–7 min → noneRevenue £1m → £3.2mMargin 5% → 17.6%Office headcount 3, unchangedCost of standing still £107k / year

The short answer

  • Wholesale quoting and order management rarely needs a bespoke application. It needs the whole catalogue priced in one place, an off-the-shelf CRM tailored into order management, and the two connected so nothing is typed twice.
  • Building a quote went from about 15 minutes to 2–3 minutes, on the call — roughly 675 hours of selling time returned a year across about 3,250 quotes.
  • Booking couriers went from an office person typing every consignment by hand at 6–7 minutes each to nothing, saving around 300 office hours a year.
  • Those two measured line items alone come to about 975 hours, or £14,600 a year at the wages actually paid. Standing still would have cost roughly £107,000 a year.
  • The business went from £1m to £3.2m and 4 people to 15 — but every hire went outside. The office stayed at three.

This one is different from the other case studies here. It was not a project delivered from outside a business — it was two years spent inside one, doing the jobs before rebuilding them. The rebuild itself took three to four months, and none of it was custom software. It was the right tools, configured properly, and connected.

What does fifteen minutes for one price actually cost?

A wholesale customer does not ask for one plant. They ask for a list — species, sizes, quantities — and they want a number before they get off the phone. Answering meant working the list twice: once against the website to see what was available, again against a spreadsheet to find what each line should cost. Then writing it up and emailing it. About fifteen minutes per quote, with the customer either waiting or being rung back — and if they changed a size, most of it happened again from the top.

The time was the smallest part of it. A quote that takes fifteen minutes gets rationed: customers get rung back instead of answered, small enquiries stop feeling worth doing, and a salesperson spends the day on clerical work instead of on the phone selling.

The second cost was worse. Every price came out of a spreadsheet or out of somebody's memory. Across roughly ten thousand product lines no salesperson can hold that — so what a customer was charged depended on who picked up the phone, what they remembered, and how badly they wanted to close. Underpricing was not a risk; it was a certainty. And at the far end of the chain, a quote the customer accepted and paid for had to be re-entered by hand, line by line.

Underneath all of it, nothing was tracked. No record of what had been quoted, to whom, for how much, or whether anyone had followed it up — beyond whatever each salesperson kept by hand about their own leads. No pipeline, no conversion rate, no list of quotes going cold, and no way to know whether a quiet month was a demand problem or a follow-up problem.

15–20leads a day in the busy season. At fifteen minutes each that is nearly five hours of pure quoting before anybody answers a telephone — so some enquiries were never quoted at all.

What was the actual unlock?

Not a piece of software. A piece of advice: put every product line on the website, with its price.

Once the whole catalogue existed in one place and was priced, it stopped being a shop window and became the single source of truth. Those prices are the rules, and they were embedded into the quoting system — so a quote is priced from the catalogue rather than from whatever the person building it happens to remember.

That protects two things at once. A salesperson no longer needs to know what ten thousand product lines cost, which is not a reasonable thing to ask of anyone; and just as importantly, they cannot underprice. A price rise reaches every quote the moment it reaches the website, instead of waiting to reach every salesperson's memory — and the difference between what a strong day and a weak day charges for the same plant simply disappears. That is where the margin moved.

Nothing was built — everything was chosen

Three things went into this business: a quoting method, a CRM, and an order management system. Not one of them was written from scratch.

  • The website was already there — a WooCommerce store — and once it held every product line at its price it became the thing everything else could quote from.
  • The quoting method was a plug-in: the right one, found and configured, so a salesperson prices straight off that catalogue inside the order system's back end.
  • Pipedrive came in as the CRM and was then tailored and built out until it ran the orders too — which is not what it is sold as, but is what it turned out to be very good at.
  • Dispatch was pulled in the same way. The external courier portals the business already books through are fed from Pipedrive, so a job going out is booked from the order rather than typed into a courier's website by somebody reading off a screen.
  • The connecting was done with Zapier and Make, plus custom code wherever those could not reach far enough — the only code written anywhere in this project, and it is glue rather than product.
No bespoke application — existing products, connected until they behave as one systemWooCommercethe catalogue, every line pricedalready in placePipedrivequotes · customers · ordersintroduced, then tailored into order managementCourier portalsdispatch, booked from the orderexternal, fed by Pipedrivelive pricesthe orderThe connection layerZapier · Make · custom code integrationstasks raised · customers emailed · nothing typed twicePaidthe order flow populates itself
The stack. No bespoke application: an existing WooCommerce catalogue, Pipedrive brought in and tailored into order management, the courier portals fed from it, and a connection layer of Zapier, Make and custom integration code holding it together.

Connected, the three products behave as one system: a price on the website becomes a quote, a quote becomes a customer record, a paid quote becomes an order, and the order moves through fulfilment — without anyone carrying information from one screen to another. Quotation follow-ups send themselves.

What did that remove?

Beforeone price, on the phone — about fifteen minutesCustomerasks a priceSearch thewebsiteby handCross-check thespreadsheet10,000 linesWrite thequoteEmailitthe customer changes their mind — start the whole thing againAftertwo to three minutes of a person, then nobody touches it againCustomerasks a priceQuote builtin the systempriced off the websiteSaved tothe CRMFollow-upsentPaidOrdercreatedautomatic — nobody re-types anythinga change is a product line swapped and re-submitted, not a rebuild
The quote, before and after. A person is involved for the first two steps; the rest of the chain runs on its own.

Two to three minutes rather than fifteen, and an amendment is a line swapped and resubmitted rather than the whole quote rebuilt. But the larger saving is further down: the double entry is gone. A paid quote used to be retyped into the order system by hand — every line, every price, every customer detail, with all the transcription errors that implies. Now it is the same record moving forward.

Doing the arithmetic

StepFigure
Quiet period8–10 leads a day
Busy season15–20 leads a day
Averaged across the year≈ 13 a day
Over roughly 250 working days≈ 3,250 quotes
Time saved on each — 15 min down to 2–3 min≈ 12 minutes
Selling time returned, every year≈ 675 hours

That is the better part of half a full-time role, handed back to the people whose job is to be on the phone rather than in a spreadsheet — and it is only the quoting half. It is also the conservative number: it counts only the minutes saved on quotes that were being written anyway. It does not count the enquiries that never got quoted at all in the busiest weeks of the year, and those were not admin hours lost — they were revenue.

Out of folders, out of the owner's head

The quoting problem was the visible one. The order side was the one that would have stopped the business growing, because there was no order system at all. An order was a folder in Documents, on a shared drive, across the laptops. That is not a system; it is a filing habit, and it works only while the number of orders is small enough for people to remember which folder holds what.

Everything the folders did not hold — what a particular customer pays, what is really in stock as opposed to what the list says, who gets the good material when there is not enough, what went wrong last time, the order things go out in — lived in one person's memory. That works at four people. At fifteen it means every day queues behind one man, and the business cannot be away from him.

BeforePricesStockWho gets whatOrder historyDispatch orderExceptionsTheownerAfterPricesStockWho gets whatOrder historyDispatch orderExceptionsThesystemThe ownerdecisions only
Every question used to route through the owner. Now the answers live in the system, and he is consulted for decisions rather than for facts.

Getting it out of his head was mostly not a technical job. It was sitting in the seat, watching which questions actually got asked, and writing the answers down somewhere the rest of the team could reach them — then making the system the place those answers live, so they stay current without anybody maintaining a document.

How was it put in without a bad week?

There was no need to invent an order management system; there are good ones already built. The work was finding out which, proving it on this business's real orders, and getting it in without stopping the business for a day. So: research what exists, shortlist, and test the candidates against the way this nursery actually works rather than against a feature list. Then put the chosen one in while the old way carried on running — the same orders going through both, so nothing was at risk and the new system could be judged on real work rather than on a demo. Only once it had earned it was the old way stopped.

No downtime — the old way kept running until the new one had earned itThe old wayfolders in Documents, across shared drivesThe new systemresearched, tested, then run for realthe old way stoppedboth running — nothing at risk, and time to test it properlyResearch and select › test › run both › retire the old way
The old way was never switched off and hoped for. It ran until the new system had proved itself on the same orders.

This matters more than it sounds. Most operational software fails at the changeover, not at the feature list. A business that cannot afford a bad week will not risk one — so it stays on the folders and the spreadsheet forever. Running both removes the risk that stops most firms ever starting.

Why start at quoting and work downstream?

The order the work was taken in was not arbitrary. Start with what feeds the business — the quote — then follow the same job downstream, stage by stage, to the point it is delivered and closed. Five roles touch a job on the way through: sales, order processors, procurement, the nursery team and logistics. Each has its own pipeline, and each sees their own stages and nothing else.

What feeds the operationThrough to fulfilmentSalesLead inQualifiedQuotedFollow upInvoice sentCustomer paidProcurementNew orderSourcingGrowers confirmedDelivery confirmedReady to processNurseryMake boxesMake palletsLoad cagesReady for dispatchLogisticsSchedule deliveryBox bookedPallet bookedVan bookedOrder deliveredEvery stage is a task done, or a task waitingand each user fills in the data fields that stage needs · tasks raised and customers emailed automatically throughout
The pipelines, condensed. Each role's stages, in order, on one system — with each person seeing only their own. The real pipelines carry more stages than are shown here; the full set is the business's own operational detail and stays with them.

Every stage is either a task that has been completed or a task waiting to be done. That is the whole grammar of the system, and it is why nobody has to be told what happens next. As a person moves a job along their pipeline they fill in the data fields that stage needs, so the record arrives at the next role already carrying what that role is about to ask for. Tasks and customer emails are automated the whole way along, so service stops depending on how busy the office happens to be that day.

Fixing the front of the chain first is what makes the rest possible: everything downstream works from a clean, priced, unambiguous order rather than something typed out twice. And every seat was done before it was rebuilt, which is what stops a system being an outsider's idea of the work. A rebuild designed from a whiteboard solves the problems that are easy to describe; a rebuild designed from the seat solves the ones that are actually costing money.

The binder, and the courier portal

The single heaviest piece of admin in the business was not the quoting. It was getting a day's dispatch into the couriers' platforms. The office printed a written list of the day's jobs, put the invoices in a binder, and handed it to the outside team. The team worked down the list, and then the binder came back to a desk — where an office person typed every single consignment into the courier's platform by hand. Order details, addresses, box and pallet counts, one entry at a time, at roughly six or seven minutes each.

On a busy dispatch dayBeforeAfter
Pallets going out30–4030–40
Manual entry into the courier platform6–7 min eachSeconds, automatic
Office time spent on it≈ 3–4½ hoursNone

The order management system went onto the outside team's phones. They open the app and see the day's workload immediately — no list, no binder, nothing printed. They record the number of boxes and pallets against the order as they make them up, move it to ready for dispatch, and the connection into the courier portals uploads the consignment in seconds. It happens at the moment the goods are handled, by the person who handled them — which also removes the errors that come from reading someone else's handwriting into a courier's address field at four o'clock.

What is it worth, in money?

Two of these savings are measurable from figures the business already knows, costed at the wages actually being paid — outside team £14/hour, procurement £15/hour, sales and office £15/hour (assumed).

SavingThe arithmeticHours / yearAt the rate
Quoting
15 min down to 2–3 min
3,250 quotes × ≈12 min saved≈ 675≈ £10,125
Courier consignment entry
manual, then none at all
80 busy days × 35 consignments × 6.5 min≈ 300≈ £4,500
Office and sales time returned from these two line items alone≈ 975≈ £14,600

The only assumptions here are the office hourly rate and eighty busy dispatch days a year — change either and the rest follows. Several larger savings are deliberately left out because they cannot be counted from tracked volumes: re-entering every paid quote as an order, chasing quotes by hand, writing customer updates, procurement and the nursery team working from an order that arrives complete, and the errors that no longer happen.

What would standing still have cost?

The more useful question for anyone deciding whether to do this is the opposite one: what would this business have had to spend to reach £3.2m on the old processes?

One: it would have had to hire. At today's volume run the old way, the two measured tasks alone consume about 1,112 office hours against roughly 135 now — a difference of about 975 hours, the better part of half a full-time office role, from two tasks. Add re-entering every paid quote, chasing quotes by hand and writing the customer updates, and it goes past a whole person.

The hire that did not have to happen
≈ 975 hours at £15 an hour≈ £14,600 in wages
Employer NI, pension, holiday cover+ ≈ 18%
Total, every year≈ £17,000

Two: and it would still have lost work. Hiring solves the hours; it does not solve the arithmetic of a peak-season day. Fifteen to twenty leads at fifteen minutes each is nearly five hours of pure quoting — and a salesperson also has to answer the telephone, deal with the orders already sold, and go home. Some proportion of those leads simply never got quoted, in exactly the weeks when demand was highest.

Revenue never competed for
Enquiries a day left unquoted at peak4 — illustrative
Peak days in a year≈ 60
Enquiries never quoted≈ 240
Conversion rate25% — illustrative
Average order value£1,500 — illustrative
Revenue never competed for, a year≈ £90,000
£107,000a year: the office hire that would have been needed, plus the revenue never competed for at peak. That is the cost of not making the change — against an implementation that took three to four months and no bespoke software at all.

The three marked figures are placeholders — replace them with a business's own and the answer moves. The point does not: at a tenth of that number it is still several times the admin saving, and unlike the admin saving it compounds, because an unquoted customer buys from somebody else and stays there.

What actually changed

£1m → £3.2min two years, with the same three people in the office
5% → 17.6%margin, once one price list was applied the same way by everyone
0hours of selling time returned to the phones every year
0to implement the quoting method, the CRM and order management

The business stopped queueing behind one person. A firm can survive with the operating knowledge in one head at four people. At fifteen it cannot — every day waits on him, nobody else can cover, and growth stops at the limit of what one person can hold. Writing that knowledge into a system is what made the next ten people, and three times the order volume, possible.

Where those people went matters. They went outside, onto the nursery and the logistics side, to physically handle the volume. The office stayed at three — which is only possible if the administrative work per order collapses. The heaviest work was removed from the day rather than shared around, so the business could carry far more order volume without quality slipping: the chasing and the updates no longer depended on somebody in the office having a spare ten minutes.

And it became transferable. Knowledge in a system can be handed to a new hire, checked, corrected and improved. Knowledge in a head cannot — and because each role's screen holds only that role's work, a new person is useful in an afternoon rather than a season.

Does this only work for a nursery?

No, and the fact that nothing was built is the reason. Any business that quotes from a catalogue, takes an order against the quote and then has to move it through several pairs of hands has the same shape: builders' merchants, trade suppliers, equipment hire, specialist distribution. The catalogue becomes the price book, an off-the-shelf CRM becomes the order system, the tools that already exist get connected, and the changeover runs alongside the old way rather than replacing it on a Monday.

It usually starts with an operations audit: a walk through the working week, a map of every retyping step between the tools, and a costed list of what could be collapsed. Three more builds are written up in full — delivery route planning software, procurement software and fencing quoting software — and the short version of the method sits on the byHoratio homepage.

Questions people ask about wholesale order management

Do you need custom software for wholesale order management?

Usually not. In this rebuild nothing was written from scratch: an existing WooCommerce catalogue became the price book, Pipedrive was brought in as the CRM and tailored until it ran the orders too, the courier portals the business already booked through were fed from it, and Zapier, Make and a little custom integration code held the three together. The only code written anywhere in the project was glue. The skill is choosing the right products and connecting them properly, not commissioning a build.

How do you stop a sales team underpricing?

Take the decision away from memory. Once all ten thousand product lines lived on the website at their price, that catalogue became the rule the quoting system follows — so a quote is priced from it rather than from what the person building it happens to recall under pressure with a customer on the phone. A price rise reaches every quote the moment it reaches the website, instead of waiting to reach every salesperson's memory.

How long should it take to quote a wholesale order?

Minutes, on the call. This one went from about fifteen minutes — searching the website for availability, cross-checking a spreadsheet for price, then writing it up and emailing it — to two or three minutes, with an amendment being a line swapped and resubmitted rather than the whole quote rebuilt. Across roughly 3,250 quotes a year that is about 675 hours of selling time returned.

How do you get the operating knowledge out of the owner's head?

Mostly not with technology. It means sitting in the seat, watching which questions actually get asked, and writing the answers somewhere the team can reach them — then making the system the place those answers live, so they stay current without anyone maintaining a document. The CRM carries a pipeline per role where every stage is a task with an owner and the data fields that stage needs, so nobody has to ask what happens next: the system says so.

How do you switch order systems without downtime?

Run both. The chosen system was put in while the old way carried on — the same orders going through both — so nothing was at risk and the new system could be judged on real work rather than on a demo. Only once it had earned it was the old way stopped. Most operational software fails at the changeover rather than the feature list, and a business that cannot afford a bad week will otherwise stay on the folders and the spreadsheet forever.

What does it cost a wholesale business to leave this alone?

In this case roughly £107,000 a year. At today's volume run the old way, quoting and courier consignment entry alone would consume about 975 extra office hours — the better part of half a full-time role, or about £17,000 a year once employer NI, pension and holiday cover are added. On top of that sits the peak-season arithmetic: at 15–20 leads a day and fifteen minutes each, some enquiries simply never got quoted, which on illustrative figures is around £90,000 of revenue never competed for.

—One next step

How much of your business lives in one head?

If a normal day cannot happen without one person, that is not loyalty — it is a ceiling. Twenty minutes, no deck, no pitch.

HORATIO@BYHORATIO.COM

Book a 20-minute call →