Case study
Customer self-service portal integrated with 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.