Skip to content
Zorix Systems — software that powers your business

Energy and utilities

Quote and tender engine development

Pricing a single meter point correctly is already fiddly: the right supplier rate has to be matched against the site's consumption band, its settlement classification, its registers and its contract length, then loaded with standing charge and pass-through costs before an uplift is applied. Pricing a forty-site tender against six suppliers, each returning rates in a different format with a different expiry, is the job that most brokers still do by hand in a spreadsheet that someone has to rebuild every time a price book changes.

We build quotation and tender engines that treat supplier rate data as a versioned, queryable asset rather than a set of files someone downloads and pastes into a workbook. Bulk rate ingestion, uplift logic, HH and NHH pricing rules, and multi-site aggregation sit behind a single engine that a CRM, a self-serve portal or an account manager's own tender workspace can call, so the same rate is never priced two different ways by two different people on the same day.

The workflow this replaces

The tender process a broker or supplier team runs manually today

Below is the sequence a pricing or tender desk typically works through for a multi-site customer, repeated in full whenever a new round of supplier rates arrives.

  1. Step 01

    Supplier rate files and API responses are collected

    Each supplier on the panel sends rates in its own format: a matrix price file covering consumption bands and contract lengths, a direct quotation API call for larger sites, or a portal that has to be queried one site at a time. Someone on the pricing desk collects whatever has arrived that day or that week, aware that a stale matrix file will quietly produce a wrong quote if it is used past its expiry.

  2. Step 02

    Each site's consumption and settlement inputs are confirmed

    For every meter point in the tender, the estimated annual consumption (EAC) or annual quantity (AQ) is pulled from the most recent bill or from historic half-hourly settlement data, and the site is classified as HH or NHH. NHH sites also need a profile class recorded, because it affects which register structure and which supplier rate table applies.

  3. Step 03

    Rates are matched against consumption bands and registers

    The consumption figure is matched against the relevant band in each supplier's matrix, and the correct register structure — single rate, day and night, or day, night and evening-weekend — is applied depending on the site's meter type. A site on the wrong register structure produces a quote nobody can actually deliver against the meter that is fitted.

  4. Step 04

    Standing charge and pass-through elements are added

    Standing charge, and pass-through network and policy costs — Distribution Use of System (DUoS) charges, Transmission Network Use of System (TNUoS) charges, Climate Change Levy (CCL), and green levy costs such as Renewables Obligation or Feed-in Tariff contributions — are added on top of the supplier's unit rate, because a comparison that omits them understates the real cost to the customer.

  5. Step 05

    Uplift is applied per the applicable rule

    The broker's or account manager's uplift is added in pence per kilowatt hour, with the applicable figure depending on which agent originated the deal, which client relationship it sits under, and any supplier-specific policy. Getting this rule wrong either erodes margin silently or prices the customer out of a deal that should have gone through.

  6. Step 06

    Multi-site results are aggregated into a single tender

    Once every site in the tender has a priced option from every responding supplier, the results are aggregated into a portfolio view: total annual cost per supplier across the whole estate, contract length trade-offs, and any sites where a supplier has declined to quote or capped its exposure, which happens more often than customers expect on large HH portfolios.

  7. Step 07

    A comparison document is built for the customer

    The pricing desk assembles a comparison — typically a spreadsheet or a manually formatted document — showing current cost, each supplier's proposed cost, and the savings or premium implied, then converts it into a PDF to send to the customer, a step that is often the single most time-consuming part of the whole exercise on a large tender.

  8. Step 08

    The chosen rates are locked in before the price book expires

    Supplier rates are only valid for a defined window, often as short as a few days on volatile wholesale pricing. If the customer takes longer to decide than the price book stays valid, the whole exercise has to be rerun from the rate collection step, and everyone involved has learned to build extra slack into deadlines to absorb this.

None of this requires new commercial judgement to automate — it requires a system that holds supplier rates, consumption data and uplift rules as structured, versioned records, so that pricing a forty-site tender is a query rather than a week of spreadsheet reconciliation.

What we build

Modules in a typical quote and tender engine build

Bulk rate ingestion

Adapters that parse supplier matrix price files and consume supplier quotation APIs, normalising both into a single internal rate model keyed by consumption band, contract length, payment method and settlement type, so downstream pricing logic never needs to know which format a given supplier used.

Price book versioning and expiry

Every batch of ingested rates is stored as a dated, versioned price book with an explicit expiry, and every quote generated references the exact version it was priced against, so a quote can be reconstructed and justified long after the underlying rates have changed.

HH and NHH pricing logic

Separate pricing paths for half-hourly settled sites, priced against half-hourly consumption profiles, and non-half-hourly sites, priced by profile class and estimated annual consumption, with register structure — day and night, or day, night and evening-weekend — applied automatically from the meter record.

Uplift and commission rule engine

Uplift configured per agent, per client and per supplier, with policy caps and floors, calculated at the point a quote is generated and stored immutably against that quote so later disputes over what margin was actually applied can be resolved from the record rather than from memory.

Pass-through cost calculation

Standing charge and pass-through elements — DUoS, TNUoS, CCL and applicable green levies — held as configurable, dated components so a change in network charges or policy costs can be applied to future quotes without a code change or a manual recalculation of every open tender.

Multi-site tender aggregation

A tender workspace that groups meter points into a single exercise, tracks which suppliers have responded for which sites, flags declines and capacity limits, and rolls individual site prices up into portfolio-level totals per supplier and per contract length.

Comparison and PDF output

A comparison builder that generates a customer-facing document directly from priced results, showing current cost, proposed cost, and the assumptions behind each figure, removing the manual formatting step that currently consumes most of the pricing desk's time on a large tender.

Audit and reconstruction trail

A full record of which price book version, which uplift rule and which pass-through rates produced a given quote, so a supplier query, a customer complaint or an internal margin review can be answered by pulling the record rather than by asking whoever built the original spreadsheet.

Integrations

Named systems and interfaces

Settlement and metering data

Elexon settlement data flowsD0052D0036ECOESXoserveDCC

Supplier connectivity

supplier quotation APIsmatrix price file ingestionsupplier portals

Document and output generation

PDF rendering servicese-signaturedocument templating

Downstream systems

broker CRM platformscustomer self-serve portalsbilling systems

Identity and compliance

Microsoft Entra IDOfgem compliance reportingPECR consent logging

The engine is designed to sit behind whichever front end a business already uses — a broker CRM, an account manager's tender workspace, or a customer-facing portal — rather than becoming a second system of record that has to be kept in step with the first.

Data and compliance

Requirements written into the build

MPAN and MPRN identity
Every priced meter point is identified by its full MPAN core and top line for electricity or MPRN for gas, so a quote is always traceable to one specific supply point rather than an address alone.
EAC and AQ inputs
Estimated annual consumption for electricity and annual quantity for gas are held as versioned inputs to a quote, because a change in consumption estimate should produce a new priced version, not silently alter a historical one.
Settlement classification and profile class
HH or NHH status and, for NHH sites, profile class, are recorded against the meter point and drive which rate tables and register structures a quote is permitted to use.
Price book validity
Each ingested price book carries an explicit start and expiry date, with quotes rejected or flagged for repricing automatically once the underlying rates have lapsed.
Pass-through cost components
DUoS, TNUoS, CCL and green levy figures are held as separately versioned components, distinct from the supplier's unit rate, so a change in network charges does not require touching supplier rate data.
Uplift and commission audit trail
The uplift rule and resulting margin applied to every quote are stored immutably against that quote, independent of later changes to the agent's or client's current uplift configuration.
Ofgem and PECR compliance
Quote generation and any outbound contact associated with a tender are logged in a way that supports Ofgem compliance reporting and PECR consent requirements for the communications involved.

Architecture note

How the system is put together

The engine is built as a service distinct from any CRM or portal that consumes it, with a stable internal rate model that every supplier adapter normalises into. This means a new supplier, or a change to an existing supplier's file format, is handled by writing or amending one adapter, not by touching the pricing or comparison logic that every other supplier already relies on.

Price books are immutable once ingested. A new supplier rate file does not overwrite the previous version; it creates a new dated version, and every quote references the specific version it was priced against. This is what makes it possible to answer, months later, exactly what a customer was quoted and why, without relying on anyone's memory of what a spreadsheet said at the time.

Pricing logic for HH and NHH sites, register structures and pass-through components is expressed as configurable rules rather than hard-coded calculations, because network charges, levy rates and register conventions change on a schedule set by regulators and network operators, not by the broker's development cycle.

Tender aggregation and comparison output are built as a layer above the core pricing service, so a portfolio-level view or a customer-facing PDF is generated from the same priced results a single-site quote would use, keeping the numbers a customer sees and the numbers held in the underlying record permanently consistent.

Timeline

Build phases in weeks

Discovery

Weeks 1-3

Mapping of current supplier panel, rate file formats, uplift policy and the manual tender process, plus an assessment of which suppliers offer APIs versus matrix files only.

Rate model and ingestion adapters

Weeks 4-8

Design of the internal rate model and build of ingestion adapters for the priority suppliers on the panel, covering both matrix file parsing and API connectivity.

Pricing logic and price book versioning

Weeks 9-13

HH and NHH pricing paths, register structure handling, pass-through cost configuration, and the price book versioning and expiry mechanism.

Uplift engine and audit trail

Weeks 14-17

Uplift and commission rule configuration per agent, client and supplier, with the immutable audit trail linking every quote to the rules and price book version used.

Tender aggregation and comparison output

Weeks 18-21

Multi-site tender workspace, portfolio-level aggregation, and the comparison and PDF generation module used to produce customer-facing output.

Integration and parallel run

Weeks 22-25

Connection to the CRM, portal or workspace that will consume the engine, and a parallel run against live tenders to validate pricing accuracy before cutover.

Go-live and stabilisation

Weeks 26-28

Cutover to the new engine for live quoting, monitoring of price accuracy and expiry handling, and a defined period of prioritised fixes before the managed run phase begins.

Indicative cost

Budget bands, not quotes

Discovery and scoping
£15,000 to £30,000, credited against the build.
Core engine covering a handful of priority suppliers
£250,000 to £360,000.
Full platform including tender aggregation and PDF output across a broad supplier panel
£380,000 to £600,000.
Additional supplier adapters beyond the initial scope
£8,000 to £20,000 per supplier, depending on file format complexity.
Managed run
Monthly retainer against an agreed service level, priced after go-live scope is confirmed.

Bands assume a UK broker or supplier-facing team quoting across a multi-supplier panel including both API-connected and matrix-file suppliers. A panel weighted heavily towards matrix files requires more adapter work than one dominated by APIs.

Where this sits

Related pages

Questions

Frequently asked

How does the engine cope with suppliers who only issue matrix price files rather than an API?

Matrix files are ingested and normalised into the same internal rate model used for API-connected suppliers, with parsing rules built per supplier layout because consumption bands, contract lengths and payment terms are laid out differently by every provider. Once normalised, a matrix-sourced rate and an API-returned rate are indistinguishable to the comparison and quoting logic downstream.

Can uplift be varied by agent and by client at the same time?

Yes. Uplift is configured as a set of rules rather than a single figure, so a base uplift per supplier can be adjusted per agent, overridden per client relationship, or capped by policy, with the rule that actually applied to a given quote stored against that quote permanently rather than only against the current configuration.

How does the system decide whether a site is priced as half-hourly or non-half-hourly?

Settlement classification is read from the meter point record and, where available, confirmed against Elexon settlement data flows and D0052 or D0036 exchanges, because a site's HH or NHH status determines which suppliers can quote, which profile class applies, and which registers appear on the resulting comparison.

What happens to a quote once a price book it depended on expires?

Every quote is generated against a specific version of a price book, and that version is retained alongside the quote for its full validity life. If the underlying price book has since expired or been superseded, the quote itself still shows exactly what was offered and when, which matters when a customer queries a quote months after it was issued.

Does the engine handle deemed or out-of-contract rates as well as negotiated ones?

Yes, because a tender exercise routinely needs to show a customer what they are paying now against what is available, and a site that has fallen out of contract is priced at the supplier's deemed or out-of-contract rate until a new contract is signed. The comparison output makes that current exposure visible rather than only showing prospective options.

Tell us what your systems are doing wrong.

Send the problem, not a brief. We will tell you whether it is a project we should be involved in.

Talk to us