Skip to content
Web Platform

PE Management

One workflow from first lead to signed policy.

PE Management website screenshot
Lead-to-policyReal-timeMulti-tenantWhite-labelledFully audited

14k+

Leads Managed

6k+

Sales Processed

2

Product Lines

Challenge

Lead generation, sales, and policy administration ran across disconnected tools, making it hard to route leads, track conversion, and give agents one place to work.

Solution

We built a multi-tenant, white-labelled platform on Laravel and Vue that unifies lead capture, callbacks, sales, and policy admin into one real-time, fully auditable workflow.

LaravelVue 3ViteMulti-tenantApexChartsPusher

PE Management is a financial services team that sells cover through Capital Legacy's Benefactor.Life and Karri Cover products. Their lead generation, sales tracking, and policy administration were spread across separate tools, so no one had a single view of where a lead was in the journey. We built them one platform — an internal system that takes a lead from the moment it lands through to a processed sale, with the analytics to manage the whole pipeline in one place.

They successfully connected our lead generation, sales management, and policy administration processes into one seamless workflow. The impact on our internal processes and overall productivity has been significant.

Philip Kotze

PE Management

How the platform fits together

One pipeline carries a lead from intake to a signed policy — all of it running on a single multi-tenant, audited platform.

1

Lead capture

Multi-source intake

2

Qualify

Score & route

3

Callback

06:00–20:00 scheduler

4

Sale

Per-product pipeline

5

Policy admin

Underwrite & submit

One platform underneath

Multi-tenant isolationReal-time dashboardsFull audit trailDynamic white-labelling

Connecting lead generation, sales, and policy admin into one workflow

The brief was integration, not another siloed tool. Leads came in from several sources, sales were tracked elsewhere, and policy administration happened separately again. The cost of that fragmentation was invisible until you tried to answer a simple question — how many of this week's leads have actually been worked, and how many turned into sales — and found the data lived in three different places.

We modelled the whole journey as one pipeline. A lead enters, gets qualified, is scheduled for a callback, becomes a sale, and moves into processing — and every one of those stages lives in the same system, scoped per product. Because the products (Benefactor.Life and Karri Cover) have different data and volumes, the platform keeps separate lead and sales pipelines for each while presenting a unified view on top.

PE Leads is one branded instance of a larger platform we built to run this way for more than one business. It's multi-tenant and white-labelled underneath, so the same core can carry a different brand and product set per tenant, with a full audit trail behind every action — the three pillars that make it safe to grow beyond a single client.

Every stage of the journey — from first lead to signed policy — now lives in one system, not three.

Callbacks scheduled around the working day

Outbound sales runs on timing. The platform includes a callback scheduler built around a 06:00–20:00 working window, laid out as a rolling week so an agent can see at a glance what's due today and what's coming up. Callbacks are tied to the lead record, so scheduling one doesn't mean re-keying details into a separate calendar.

The scheduler is deliberately low-friction. The point is to keep agents moving through their list rather than administering it, so the day view surfaces what needs a call without burying it under configuration.

Dashboards that answer the questions agents actually ask

The dashboard leads with the numbers that drive a sales day: leads created today, month-to-date volume, how many are still unprocessed, and how many have been processed as a percentage. Underneath that, the analytics break leads down by product, by status, and by qualified versus unqualified, with a daily time series and a compare-periods toggle for spotting trends.

We built the charts with ApexCharts and made every view exportable to CSV and PNG, because the people running the team need to pull numbers into their own reporting without asking a developer. The date-range and view controls let a user look at their own data or a wider team picture from the same screen.

Real-time data, role-scoped views, and supervisor tools

The dashboard updates live rather than on a manual refresh, so the KPIs reflect what's happening on the floor as it happens. We used Laravel Echo with Pusher to push changes to the client, which keeps the numbers honest during a busy trading period.

Access is scoped by role. A 'My Data' view keeps an agent focused on their own pipeline, while supervisors and support can impersonate an agent's account to see exactly what that person sees — invaluable for troubleshooting and coaching without asking someone to screenshare mid-shift.

Multi-tenant and white-labelled from the ground up

Distribution in financial services rarely stays with a single brand, so we built the platform multi-tenant from day one. One codebase and one deployment serve isolated tenants, each with its own data, users, products, and settings. Onboarding a new brand or partner isn't a fork of the application — it's a new tenant provisioned against the same core, which is what keeps the system economical to run as it grows.

White-labelling is dynamic rather than compiled in. Each tenant supplies its own identity — name, logo, colours, domain — and the interface resolves that at runtime, so every tenant sees their own brand instead of ours or anyone else's. 'PE Leads' is one branded surface over the underlying platform; the same system can present an entirely different face to another tenant without a separate build or redeploy.

Tenant isolation is enforced at the data layer, not just hidden in the UI. One tenant can never read another's leads, sales, or agents, and that hard boundary is exactly what makes it safe to run competing brands side by side on shared infrastructure.

Auditability — a defensible record of who did what

In a regulated space like life and funeral cover, 'the system says so' isn't enough; you have to be able to show who changed what and when. Meaningful actions across the pipeline — lead status changes, sale updates, callbacks, and administrative changes — are recorded with the user and a timestamp, so the history of a record can be reconstructed rather than guessed at.

Impersonation is part of this story rather than a gap in it. When a supervisor or support user acts as an agent, the audit trail captures both identities, so an action taken on someone's behalf stays attributable to the person who actually performed it. The record stays honest even when someone is troubleshooting from inside another user's account.

Because every entry is tenant-scoped and time-stamped, the same trail serves both the everyday — coaching an agent, settling a dispute over what was said or done — and the occasional after-the-fact reconstruction that compliance and reporting demand.

The record stays honest even when a supervisor acts inside another user's account.

Built on Laravel and Vue to stay reliable under load

The backend is a Laravel application serving a Vue 3 single-page frontend built with Vite. That split lets the interface stay fast and app-like — navigating between leads, sales, and dashboards without full page reloads — while Laravel handles the data, auth, and the heavier pipeline logic behind a clean API.

This is a working internal system carrying real volume: over fourteen thousand leads and thousands of sales across the two product lines. The stack was chosen for maintainability as much as performance — it's a system PE Management's team relies on every trading day, so it had to be something that stays dependable and is straightforward to extend as their process evolves.

What changed for the team

The real measure of this platform isn't the feature list — it's that a question which used to take a morning of cross-referencing three tools now takes a glance at one screen. Where a lead sat, whether it had been worked, and whether it turned into a sale became a single live answer instead of a reconciliation exercise. That collapse of three systems into one is what the team feels day to day: agents work their list instead of hunting for it, and supervisors see the floor in real time rather than waiting on an end-of-day export.

The gains compound where the old setup used to leak. Leads stop falling through the gap between capture and callback, because the same record carries a lead from intake to a scheduled call; sales are attributed to the agent and product that earned them, because the pipeline is scoped that way from the start; and nothing is re-keyed between stages, which is where both time and accuracy used to be lost. The significant impact on internal processes and productivity that Philip Kotze describes is exactly that — reclaimed time and restored visibility across the whole pipeline, not a number that lived in a spreadsheet somewhere.

A question that used to take a morning now takes a glance at one screen.

What we shipped

A single platform spanning the full journey — lead capture, qualification, callbacks, sales, and processing — replacing a set of disconnected tools.

Separate lead and sales pipelines for Benefactor.Life and Karri Cover, unified under one dashboard and one set of analytics.

Real-time KPI dashboards with by-product, by-status, and qualified-versus-unqualified breakdowns, all exportable to CSV and PNG.

A multi-tenant architecture with dynamic, per-tenant white-labelling — new brands are provisioned as isolated tenants against one codebase, no fork or redeploy.

A pipeline-wide audit trail recording who changed what and when, with dual attribution when supervisors act through impersonation.

Role-scoped access with a callback scheduler and agent impersonation for supervisor oversight, built on a Laravel and Vue stack carrying 14k+ leads.