A building-materials merchant. Two branches, 4,512 stocked lines, 600 trade accounts ranging from one-man plumbing outfits to contractors running fifteen sites. Four external reps, six counter staff and an internal sales desk of three.
Orders arrived by phone, by WhatsApp to individual reps' personal numbers, by voicemail before 06:00, and occasionally on a photograph of a handwritten list. Somebody at the merchant retyped every one of them. When the order was wrong, and a few percent always were, the argument was about who said what.
The interesting tension here is that a trade portal is not a shop, and treating it like one is the most common way these projects fail.
Why trade is not retail e-commerce
- Every customer has their own prices. Negotiated discounts by product group, contract rates on specific lines, and a rep who can override. A public price list would start a war.
- Credit is part of the transaction. Account status, limit and terms decide whether an order can even be placed, which is not a question a retail checkout ever asks.
- The buying happens outside business hours. Site foremen order at 05:30 before the crew starts and at 21:00 after the day is written up. The merchant's phone lines are closed for both.
- Delivery is a scheduling problem, not a courier label. Cranage, site access, half-loads, and a delivery date that has to match a pour or a screed.
- The rep relationship is the business. Any portal that reads as "we no longer need you to speak to Johan" will be quietly sabotaged, and the person doing the sabotaging will be Johan.
A trade portal does not replace the rep. It removes the two hundred repeat orders a month that were preventing the rep from doing anything except taking orders.
What had to be true before a portal could exist
This is the part that gets skipped. A portal exposes your data to your customers, and it is unforgiving about what is wrong with it.
| Prerequisite | Where they started | What had to change |
|---|---|---|
| Stock accuracy | 88% on a sample count | Cycle counting and receiving discipline, lifted to 97% before launch. A portal showing stock you do not have is worse than no portal. |
| Pricing rules | Partly in the system, partly in reps' heads | Every customer's discounts encoded, and the exceptions made explicit. Six customers had rates nobody could justify. |
| Product data | Codes and terse descriptions | Descriptions a human recognises, pack sizes, and images for the top 1,200 lines. Nobody buys a photo of nothing. |
| Credit rules | Applied by a person at the counter | Encoded as portal behaviour: over limit blocks checkout with a message and a phone number, not a silent failure. |
| Delivery capability | Booked by phone with the yard | Slot-based booking that reflects real vehicle capacity per branch per day. |
Protect the rep's commission from day one
The single decision that made this project work was made in the first week and cost nothing: orders placed on the portal by a rep's customers still count toward that rep's commission, permanently, not for an introductory period. Reps stopped seeing the portal as a threat and started onboarding their own customers onto it, because a customer who self-serves the repeat order frees the rep for the conversation that actually grows the account.
What we built
A portal on top of the existing ERP rather than a separate e-commerce platform with a nightly sync. Live stock, live pricing, live credit status, orders written straight into the same order book the counter uses.
- Account login with contract pricing, so every customer sees their own prices and nobody sees anyone else's.
- Live stock by branch, with an honest "available at the other branch tomorrow" rather than a hidden shortfall.
- Order templates and reorder, which is what trade customers actually use. Seventy percent of portal orders are a previous order repeated with two changes.
- Quotes to orders, so a quoted price converts without retyping and without expiring quietly.
- Delivery slot booking against real capacity, with site notes carried through to the driver.
- Statements, invoices and proofs of delivery downloadable, which removed a surprising volume of phone calls to the debtors clerk.
- A rep view, showing their customers' portal activity, and letting them place an order on a customer's behalf without leaving the same system.
Fourteen weeks, in order
| Weeks | Phase | What actually happened |
|---|---|---|
| 1–2 | Commercial decisions | Commission, pricing transparency, which customers get access first, and what the portal is allowed to reveal. Almost no technology in this fortnight. |
| 2–7 | Fix the foundations | Stock accuracy programme, pricing rules encoded, credit rules agreed with the financial manager. |
| 4–9 | Product data and images | 1,200 lines photographed and described. Tedious, visible to every customer, and the thing that makes a portal feel real. |
| 6–12 | Build and integrate | Portal, ERP integration, delivery slots, document access, rep view. |
| 11 | Reps first | Trained before any customer saw it, and asked to nominate their first five customers each. |
| 12–13 | Top 50 customers | Onboarded individually, by phone, with a rep walking them through their first order. |
| 14 | Open to the rest | Announced by email and at the counter, with a printed card in every delivery for a month. |
Getting customers to change how they buy
Trade customers do not read announcement emails. What worked was one-to-one onboarding for the top 50 accounts, which represented most of the volume, delivered by the rep who already spoke to them. The first order was placed together, on the phone, and after that most never called again for repeat lines.
Two adoption details mattered more than expected. The first was making the portal work properly on a phone in a builder's yard, because that is where it is used and desktops barely feature. The second was seeding each customer's order templates from their own last six months of purchase history, so the first login showed their materials rather than an empty basket. A customer who logs in and sees their own regular order is one click from using the thing.
Counter staff also needed reassurance, and got it in a concrete form: the portal reduced the queue of people ordering routine lines, which meant the counter could spend time on the customers standing in front of them with a genuine question.
What it cost
| Line | Once-off | Notes |
|---|---|---|
| Portal build | R518,000 | Custom front end over the ERP, mobile-first |
| ERP integration | R178,400 | Live pricing, stock, credit, orders, documents |
| Product data and photography | R143,600 | 1,200 lines, descriptions and images |
| Stock accuracy programme | R89,200 | Cycle counting setup and receiving changes, before launch |
| Onboarding and training | R59,400 | Reps, counter staff, top 50 customers individually |
| Total once-off | R988,600 | Over fourteen weeks |
| Running cost | R12,470 / month | Hosting, support, ongoing product data upkeep |
For scale: where an ERP offers a decent trade portal module, the same outcome can cost a third of this, and should be checked first.
What changed, measured
- 34% of order lines came through the portal by month six, rising past half within the year for the top 50 accounts.
- 22% of portal orders were placed outside trading hours, revenue that previously waited for somebody to answer a phone and sometimes went to a competitor who did.
- Order errors fell by 71% on portal orders, because nobody was transcribing anything.
- Average order value rose 9%, mostly from templates prompting lines customers routinely forgot and bought elsewhere.
- Calls to the debtors clerk dropped by 32% once statements and invoices were self-service.
- Reps' time shifted measurably from order-taking to site visits, and two of the four grew their accounts by double digits in the following year.
What we would do differently
We would fix stock accuracy before writing a line of the portal, not in parallel. Every early complaint was about stock, not about the portal, and the two get conflated in a customer's mind.
We would not launch without images. Photography was late, and the first cohort saw a portal that looked like a spreadsheet with a login. First impressions are expensive to fix.
And we would seed order templates for every account, not just those who asked. It was the strongest single driver of a second visit, and it was treated as a nice-to-have.
If your customers order by phone
Count how many of last month's orders were repeats of a previous order. In most merchants it is over half, and that is the portion a portal can absorb without threatening anybody's relationship. Then get your stock and pricing honest, because a portal shows your customers exactly what your data looks like. The warehouse discipline underneath it is the same, and if you are weighing platforms rather than building, start with build versus buy.