B2B customer self-service portal: how to take 40% of requests out of your team's inbox
The questions that should never reach a person
In a B2B company with 500-3,000 active customers, somewhere between 50% and 70% of the requests landing on the inside sales desk are questions the customer would answer themselves if they had anywhere to look:
- "What's the stock on item X?"
- "Where is order 4471?"
- "Can you resend the March invoice?"
- "What's my price on this product?"
- "How much credit do I have left?"
Each one of those costs 6-12 minutes of human time: someone reads the message, opens the ERP, searches, copies, writes the reply, sends it. At 60 requests a day that is 8-12 hours of work daily — the equivalent of one and a half people copy-pasting out of an ERP.
Worth saying plainly: this is not about lazy customers. A customer who asks where their order is does it because there is no alternative.
What a B2B self-service portal actually is
Not a webshop. A webshop sells at list price to an anonymous buyer. A B2B portal shows each customer their own data at their own prices, pulled from your systems.
The useful minimum:
- Orders — history, live status, tracking number and estimated delivery date
- Documents — invoices, delivery notes, quality certificates, downloadable without asking anyone
- Catalogue at contract price — not list price, their price, with volume discounts already applied
- Stock — not "in stock / unavailable", but a real quantity or a band (0 / under 10 / available)
- Financials — open invoices, remaining credit limit
- Reordering — buy again from history, in two clicks
Once that last item works, the portal stops being a support tool and becomes a sales channel.
Why the ERP's own portal module rarely solves it
Nearly every ERP ships a customer portal module. The limitations are remarkably consistent:
- It exposes the ERP's structure rather than the customer's language: internal codes, abbreviated names, technical fields
- Per-customer pricing works only if every contract is fully modelled in the ERP — which is almost never true; part of it lives in a spreadsheet on the sales team's drive
- It doesn't cover the surrounding systems: courier, WMS, invoicing platform
- Per-user licensing: 800 customers become a cost problem rather than a product decision
There are two defensible options: a lightweight portal built separately on top of an integration layer, or extending the existing module — if the ERP genuinely holds 90% of the data you need. That call comes out of a data inventory, not a brochure.
Case study: industrial consumables distributor, 1,400 active customers
A 38-person company with four people on inside sales was handling ~95 requests a day across email and phone. 58% of them were order status, stock checks or document copies.
What we built with the team at NEXVA SYSTEM:
- A portal sitting on an integration layer over the ERP and the courier platform — no query ever goes directly from the portal into the ERP
- Contract prices served straight from the ERP, after cleaning up 140 agreements that only partially existed in the system
- Three years of invoices and delivery notes indexed, with instant download
- Reordering from history plus saved lists per delivery site
- Read-only launch in 7 weeks; order placement 6 weeks after that
Results after 5 months:
- 61% of active customers log in monthly; among the top 100 accounts, 88%
- Email requests for status and document copies: down 47%
- Time freed on inside sales: ~5 hours a day across the team
- 29% of order lines now arrive through the portal with no manual entry
- Order-entry errors on portal lines: from 3.8% to 0.5%
- Average order value placed in the portal is 11% higher than by email — customers see stock and add items they wouldn't have thought to ask about
Architecture that won't take your ERP down at 5pm on a Friday
- Never expose the ERP to the internet. An intermediate layer sits between portal and ERP: an API plus a read database.
- Hot data vs. cold data. Stock and order status: sync every few minutes or on demand, with a 60-second cache. Catalogue, prices, documents: nightly sync with invalidation on change.
- Price is calculated in exactly one place. If the portal re-implements discount rules you will end up with two different prices for the same item — the fastest way to lose a customer's trust. The portal asks for the price, it never derives it.
- Identity at company level, not person level. A customer has 4-6 users with different roles: who can order, who only sees documents, who sees the financial position.
- Audit log on everything. Who viewed what, who ordered what, from which IP. It earns its keep in commercial disputes first, compliance second.
- Graceful degradation. When the ERP is in maintenance, the portal shows the last known data stamped with its age and queues orders. It does not show an error page.
What it costs and when it pays back
| Component | Cost |
|-----------|------|
| Request-mix analysis + inventory of exposed data | 2,000-4,000 EUR |
| Authentication, company-level roles, read-only portal | 6,000-10,000 EUR |
| ERP integration: stock, contract prices, delivery status | 5,000-9,000 EUR |
| Order placement with validation and credit limits | 4,000-8,000 EUR |
| Hosting and maintenance | 150-400 EUR/month |
Payback has two parts. The direct one: 4-6 hours a day freed on inside sales is 1,000-1,500 hours a year, which at a loaded cost of 15-20 EUR/hour is 15,000-30,000 EUR a year.
The second is larger and shows up later. Orders that arrive structured stop generating returns caused by mistyped codes, and customers who can see stock buy more per order. On 5M EUR of revenue with 30% of lines coming through the portal, a 10% lift in the average value of those orders is roughly 150,000 EUR of additional volume a year.
The mistakes that kill adoption
- Launching on imperfect data. The first customer who sees a wrong stock figure won't come back for six months. If stock isn't trustworthy, show bands rather than exact numbers.
- No directed adoption. A "we have a new portal" email gets 5-10% activation. Sales reps who open the account together with the customer on a call reach 60-70% within two months.
- A portal that shows everything. Customers need six screens, not forty. Every screen added before someone asked for it is pure maintenance cost.
- No measured deflection. If you don't know how many status emails you used to get, you will never be able to prove anything. Measure for 3-4 weeks before launch.
- No escape hatch. Every screen needs an "I can't find what I'm looking for" that opens a ticket with the context already filled in.
How to start
1. Measure your current request mix for a month: how many are status, stock, documents, pricing, other. Those percentages decide what you build first.
2. Inventory the data: for each screen you want, which system holds it, how fresh it is, how clean it is.
3. Launch read-only — orders, documents, stock. No order placement. Realistically 6-8 weeks.
4. Drive adoption through the sales team across your top 50 accounts, not through a newsletter.
5. Add order placement only once catalogue and pricing are correct for more than 95% of the items you actually sell.
A good B2B portal doesn't replace your sales people. It takes the data-entry work off their desk and leaves them exactly the part they're paid for: negotiating, advising on the technical fit, and winning new accounts.
Want to see what share of your team's inbound requests could move into a portal, and what the first step would cost? Book a free consultation.
Want to discuss automating your processes?
Book a consultation