Case study
Excel to web-based quoting for surveillance solutions
- Business context
Surveillance solutions · UK-wide / national provider. Revenue-critical quoting locked in a shared spreadsheet.
- Application age / version
Years of formulas, hidden sheets and manual process. Powerful, then fragile.
- Starting condition
One shared file, concurrency clashes, no audit trail, no customer self-service. Hardware compatibility, licence bundles and interlinked quote lines were all encoded in Excel.
- Main technical risks
Losing configuration correctness (chassis/camera/storage constraints, licence sharing across lines). “Simplifying” the rules would have produced wrong quotes. Formula breakage in production quoting.
- Audit findings
The spreadsheet could not be simplified. It had to be translated: a rule engine, versioned price lists, and roles — characterisation of the old system before replacement.
- Work completed
Angular application with a rule-driven product engine; authentication and RBAC; versioned central pricing; licence auto-include/exclude/share across lines; itemised quotes with traceable dependencies; customer login; price-list downloads; quote history; PDF/Word proposals; internal reporting.
- Deployment / migration
Cut over from the shared workbook to a multi-user web platform. The spreadsheet ceased to be the runtime.
- Integrations
Internal pricing and catalogue rules. Document generation. Customer self-service accounts.
- Testing added
Compatibility and licence behaviour treated as non-negotiable. The published claim is 100% of configuration logic preserved — that is a test and review problem, not a UI problem.
- Result
Thousands of quotes generated since launch. Running for multiple years with minimal maintenance. No spreadsheet corruption or version conflicts. Faster turnaround. Customers can self-serve pricing. Visibility of quoting activity. Became a core revenue system.
- Ongoing support
Minimal maintenance over multiple years 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 Angular, not Laravel. The pattern is the one Laravel takeovers hit constantly: the real specification is the running mess (Excel, an old PHP app, an undocumented job). You characterise it, then replace the runtime. See rescue / takeover and code audit.
Full write-up: Excel to web-based quoting.