Skip to content

Case study

Customer self-service portal integrated with ERP

Diagram of a customer portal writing orders back to an ERP
Business context

B2B distribution · UK-wide. High-volume distributor whose customers needed stock, pricing and ordering without calling sales.

Application age / version

Long-established ERP as the commercial source of truth. The portal is a newer application layer on top — not a rewrite of the ERP.

Starting condition

Most orders arrived by phone and email. Live stock, account pricing and credit rules existed only inside the ERP. Sales and admin were the integration.

Main technical risks

Exposing ERP data to customers without duplicating pricing logic. Complex stock (free, incoming, allocated to POs). Credit limits at checkout. Destabilising core ERP operations.

Audit findings

The ERP had to remain the source of truth. A portal that copied price lists would drift. Pay-by-bank was needed to cut card fees. Out-of-hours ordering was a real requirement, not a nice-to-have.

Work completed

React customer portal tightly integrated with the ERP: self-checkout with ERP-validated pricing; real-time stock including incoming and PO-allocated; pre-order before arrival; automatic ERP order creation with audit trail; order history; downloadable account price lists; statements and balances; pay-by-bank.

Deployment / migration

Built for long-term stability on a live commercial system. Orders written back into the ERP rather than held in a parallel database.

Integrations

Live ERP stock, pricing, credit and order APIs/feeds. Pay-by-bank (open-banking style) payments. Customer authentication scoped per account.

Testing added

Commercial rules (pricing, credit, allocation) enforced at checkout against the ERP — not reimplemented as a guess in the UI.

Result

Over £30 million in orders processed through the portal in 2025. Significant channel shift from phone to online. Faster placement including out-of-hours. Lower payment-processing cost via bank payments. Minimal ongoing upkeep. The portal became the primary ordering channel.

Ongoing support

Running with minimal ongoing upkeep once live.

Facts as published on HTML Studio case studies. Expert involved: Oliver Burton. Stacks are named as built — not recast as Laravel.

Why this sits on a Laravel practice site

This was a React portal on a live ERP, not a Laravel app. The engineering problem is the same one Laravel clients bring: who owns the order, how stock and money stay consistent, and how you expose a system that was never designed for the public internet. That is the work behind API development and ERP integration.

Full write-up on HTML Studio: Customer self-service portal integrated with ERP.