Bringing energy tenders, contracts and accounts into one platform

A tailor-made ERP for a UK energy broker — supplier tenders, contract lifecycle, brokerage accounting and client management, all in one place.

100+suppliers tendered per site
1platform for the whole operation
per-supplierinvoice extraction & validation
2023built & run since

One place for the work spreadsheets used to hold

A brokerage this established runs on relationships, deadlines and numbers — and all three were living in spreadsheets and inboxes. We built the operating system for the business: tenders out to the market, contracts tracked to their expiry, the client relationship in one record, and the brokerage accounting captured where the deal lives. Then we kept going, into the harder half — the supplier invoices and the half-hourly data that decide whether a deal was actually good.

From supplier tender to signed energy contract

01

A supplier tender engine

Send a site's consumption out to 100+ suppliers, pull the quotes back in, and compare unit rate, standing charge, pass-through, net cost and CO₂ side by side — bespoke tenders included.

02

The full contract lifecycle

Agreements, billing periods and brokerage fees tracked per account, with an upcoming-expiry board that turns renewals into a worklist instead of a missed deadline.

03

Client + account CRM

Clients, their accounts and meter points (MPAN), contacts, addresses, notes and postings — the whole relationship in one record, not a shared inbox.

04

A document vault on S3

PES agreement, supplier contract, metering contract, VAT & CCL, LOA and risk policy filed per client through a proper file manager, stored on AWS S3.

05

Brokerage accounting

Direct fees, commission and billing periods captured where the contract lives, so the numbers behind each deal reconcile rather than living in a separate sheet.

06

Role-based access

Spatie-backed roles for admins, operations representatives and partner brokers — everyone sees exactly their slice of the operation.

Read and check invoices inside the platform

Verifying that a supplier billed what the contract said used to be a person with a PDF and a calculator. We built the data layer that does it: per-supplier invoice extraction and validation, half-hourly consumption importers, and the flex-procurement tranches — with a flags screen that surfaces exactly what does not add up.

The data behind a confident energy quote

01

Invoice extraction & validation

Data pulled out of supplier invoices and validated against the contract — built per supplier because a Yu Energy bill looks nothing like the next one — with a flags screen for anything that does not reconcile.

02

Fixed & flex contracts

Two procurement models with different rules: fixed-price contract validation, and flex validation against a standardized trade book — each handled on its own terms.

03

Half-hourly data importer

Half-hourly consumption imported per account and charted, so a site's actual usage profile is visible next to what it was billed.

04

Tranches & Trade Book

For flex procurement, a tranche importer standardized onto one sheet and a client-filtered Trade Book — with the £/MWh-to-p/kWh conversions handled so everything reads in one unit.

05

Non-commodity costs

Importers for the non-commodity charges that make up a real energy bill, standardized so they can be compared and validated like everything else.

06

Reference-data editors

Region and distributor editors (distributor ID from the MPAN), so the team maintains the lookup data the validation depends on without a developer.

What the work enabled

  1. Tenders, contracts, brokerage accounting and CRM consolidated onto one platform, off spreadsheets and email.

  2. Every site's consumption tendered across 100+ suppliers and compared on net cost and CO₂ in a single view.

  3. Per-supplier invoice extraction and validation against the contract, with a flags screen surfacing anything that does not reconcile.

  4. Half-hourly consumption imported and charted, and flex-procurement tranches standardized into one Trade Book.

  5. Client documents — LOA, supplier contracts, VAT & CCL — filed per account on S3, not scattered across inboxes.

  6. Role-based access for admins, operations reps and partner brokers, on a codebase built and run since 2023.

How the platform fits together

  • Laravel
  • PHP
  • MySQL
  • AWS
  • Bootstrap
  • Vite
Framework
Laravel 10, PHP 8.1, on Laravel Forge
Database
MySQL 8 — clients, accounts, tenders, contracts, HH data
Front-end
Blade, Bootstrap 5, jQuery, Vite
Auth & roles
Laravel Sanctum + Spatie Permission
Documents
AWS S3 via Laravel File Manager + Flysystem
Data & invoices
Per-supplier invoice extraction & validation; half-hourly + tranche importers
Exports
Laravel Excel + DomPDF — tenders, contracts, quotes
Clutch★★★★★5.0 / 5.0

Across 18 independently published client reviews

They have a deeper technical knowledge than any web designer I've met to date.

01 / 04

Bring your business out of scattered spreadsheets

Book a 30-minute call with the team that will scope and lead your project.