Skip to content
Zorix Systems — software that powers your business

Energy and utilities

LOA and contract workflow software

A Letter of Authority is the single document that stands between a broker or intermediary and a supplier being willing to discuss a customer's account. Get its scope, its expiry or its evidence trail wrong, and a renewal stalls, a complaint follows, or a supplier declines to engage at all. Most brokerages track LOAs in a mixture of a document store, a spreadsheet and whatever the sales team remembers, which is workable at low volume and unmanageable once a book runs into hundreds of live accounts across several supplier panels.

We build LOA and contract workflow platforms that treat the letter of authority as a first-class record with its own scope, expiry and status, tie contract generation and cooling-off tracking to that status, and keep an audit trail that can answer a supplier's or a regulator's question about a specific account without anyone digging through email.

The workflow this replaces

The LOA and contract process a team runs by hand today

Before this workflow is built into a system, a typical intermediary or brokerage manages it something like this, per account, repeated across every live opportunity.

  1. Step 01

    An LOA is requested and sent for signature

    The account manager identifies which meter points and activities the LOA needs to cover, picks the correct template for the target supplier, and sends it out for signature by phone-recorded verbal consent, e-signature, or a wet-signature scan, depending on what that supplier's compliance team will accept.

  2. Step 02

    The signed LOA is filed and its expiry noted somewhere

    Once signed, the document is saved to a shared drive or attached to a CRM record, and its expiry date — commonly twelve months from signature, though this varies by supplier — is noted in a spreadsheet or, more often, not tracked at all until someone tries to use an LOA that has lapsed.

  3. Step 03

    Objections are handled informally

    If a customer calls to query or object to the arrangement, the objection is usually logged as a note on the account, if it is logged anywhere, with no consistent record of when it was raised, how it was resolved, or whether the LOA remained valid afterwards.

  4. Step 04

    A contract is drafted once terms are agreed

    Once a rate is accepted, someone checks the LOA is still valid and covers the relevant meter point, then generates or requests a contract from the supplier, manually cross-checking the terms against what was quoted before sending it to the customer.

  5. Step 05

    The cooling-off period is tracked on a calendar reminder

    Where a cooling-off period applies, it is usually tracked as a calendar entry or a note to check back in a set number of days, with no system-level block preventing supply changes or billing being triggered before the window closes.

  6. Step 06

    Compliance evidence is assembled only when asked for

    If a supplier or Ofgem raises a query about a specific account, the evidence — LOA document, call recording, objection log, contract copy — is pulled together from several systems under time pressure, which is where gaps in the record are usually discovered.

None of this requires new judgement to be automated away — a compliance-literate operations team can run this process correctly by hand. What a purpose-built system removes is the risk that a lapsed LOA, an unlogged objection or a missed cooling-off window is only discovered when a supplier or regulator asks about it.

What we build

Modules in a typical LOA and contract workflow build

LOA capture and e-signature

LOA generation from a supplier-specific template, e-signature integration, and storage of the signed document with a reference held against the account rather than a copy buried in an inbox.

Supplier-specific formats and expiry

Each supplier's required LOA template, scope fields and validity period configured centrally, so the correct format is used automatically and an approaching expiry on a live opportunity triggers a renewal request before it lapses.

Objection handling

A structured log for objections raised by a customer, including date, channel and stated reason, with contract generation blocked automatically until the objection is resolved or the LOA is withdrawn.

Contract generation

Contract documents generated from agreed terms with an automatic check that a valid, correctly scoped LOA exists for the relevant meter point before generation is permitted.

Cooling-off tracking

The applicable cooling-off period tracked per contract type, with billing and supply-change actions held in a pending state until the window closes or the customer confirms they do not wish to exercise it, where that confirmation route applies.

TPI conduct and Ofgem evidence alignment

Fields and workflow states aligned to the categories a third-party intermediary's own compliance reviews and Ofgem enquiries typically ask about: consent basis, scope granted, objection history and contract status.

Full audit trail

Every state change — LOA sent, signed, objected to, expired, withdrawn; contract drafted, issued, cooling-off cleared — timestamped and retrievable against the account as a single chronological record.

Reporting for compliance review

Standing reports on LOA expiry exposure, open objections, and contracts pending cooling-off clearance, so a compliance function reviews exceptions rather than the whole book.

Integrations

Named systems and interfaces

Signature and document

e-signature providersdocument generation templatesPDF archival storage

Compliance and contact

call recording platformsTPS/CTPS suppression checkingconsent audit logs

CRM and pipeline

existing broker CRMsupplier portalssupplier quotation APIs

Metering reference

ECOESXoserveMPAN core and top lineMPRN

Identity

Microsoft Entra IDrole-based access control

Where a brokerage already has a working CRM, we integrate the LOA and contract workflow against it rather than replacing it, so the account record stays in one place and the compliance trail is reachable from the screen an account manager already uses.

Data and compliance

Requirements written into the build

LOA scope
The specific meter points and permitted activities an LOA covers, recorded explicitly rather than assumed, because a supplier-agnostic LOA is treated differently to one scoped to a named supplier.
LOA validity period
Commonly twelve months from signature, varying by supplier and by whether the LOA is renewal-specific or general, tracked per LOA record with automatic alerting before lapse.
Objection record
Date raised, channel, stated reason and resolution status, held against the account and linked to the LOA it relates to, with contract generation gated on its resolution.
Cooling-off window
The applicable regulatory cooling-off period for the contract type in question, tracked from contract issue date with supply and billing actions held pending clearance. Confirm current cooling-off periods per contract type with your compliance adviser.
Audit trail granularity
State changes recorded at the level Ofgem and supplier compliance teams typically request during a review: who acted, when, and what evidence supports the action.

Architecture note

How the system is put together

LOA, objection and contract records are modelled as linked entities with explicit status fields, rather than as free-text notes on a customer record, so a report on expiring LOAs or open objections is a direct query rather than a manual review of account notes.

Contract generation is gated by a rules engine that checks LOA validity, scope and objection status before a document can be produced, which prevents a contract being issued against a lapsed or objected-to authority by mistake rather than by policy alone.

Signed documents and call recordings are stored with references held in the workflow record, with retention and access control applied per document type, so compliance evidence can be produced without exposing the underlying storage to every user of the system.

The workflow is built as a module that can sit beside an existing CRM or broker platform via API, rather than as a monolith, because most brokerages already have pipeline and customer records they do not want to migrate purely to gain LOA and contract tracking.

Timeline

Build phases in weeks

Discovery

Weeks 1-2

Mapping of current LOA templates per supplier, objection handling practice, and the existing CRM or contract system this workflow needs to integrate with.

LOA data model and templates

Weeks 3-5

Supplier-specific LOA template configuration, scope and expiry rules, and e-signature integration.

Objection and contract workflow

Weeks 6-9

Objection logging, contract generation gating, and cooling-off tracking built against the agreed contract types.

Compliance and audit trail

Weeks 10-12

Audit log design, call recording integration, and compliance reporting views.

Integration and migration

Weeks 13-15

Integration with the existing CRM or pipeline system, migration of active LOA and contract records.

Go-live and stabilisation

Weeks 16-17

Cutover, monitoring of expiry alerting and gating rules, and a defined period of fixes before the retainer phase.

Indicative cost

Budget bands, not quotes

Discovery and scoping
£12,000 to £25,000, credited against the build.
LOA and contract workflow module
£120,000 to £220,000.
Full build including compliance reporting and CRM integration
£220,000 to £360,000.
Migration of existing LOA and contract records
£15,000 to £45,000 depending on volume and data quality.
Managed run
Monthly retainer against an agreed service level, priced after go-live scope is confirmed.

Bands assume integration alongside an existing CRM rather than a standalone platform. A brokerage requiring a bespoke rules engine per supplier panel typically sits at the upper end.

Where this sits

Related pages

Questions

Frequently asked

Does an e-signed LOA satisfy Ofgem's expectations on its own?

An e-signed LOA is necessary but not sufficient. Ofgem's guidance on third-party intermediary conduct expects the LOA to be scoped to specific meter points and activities, to carry an expiry date, and to be backed by a retrievable record of how and when consent was obtained. The signature itself is one element of an evidence trail that also needs to cover the sales call, the scope granted, and any objection raised and resolved.

How does the system handle a customer who objects after signing an LOA?

An objection is logged against the account with its date, channel and stated reason, and the LOA's status is updated so downstream contract generation is blocked until the objection is resolved or the LOA is withdrawn. This stops a contract being generated in a system that has no record that a customer pushed back on the process.

Can the platform manage different LOA formats and expiry rules per supplier?

Yes. Each supplier's LOA template, required fields and validity period are held as configuration, so a broker or intermediary working across multiple supplier panels does not have to remember which template applies to which relationship, and an expiring LOA on a live opportunity triggers a renewal request automatically.

What happens during a cooling-off period in the workflow?

The contract is created in a pending state and the cooling-off window is tracked against the applicable regulation for that contract type. Billing or supply changes triggered by the contract are held until the window closes, and a cancellation inside the window reverts the record cleanly rather than requiring a manual unwind.

Is the audit trail sufficient for a supplier or regulator complaint investigation?

The aim is that every material step — LOA capture, scope granted, objection raised, cooling-off status, contract issued — is timestamped and retrievable against the account without reconstructing it from separate systems. Confirm specific evidence retention periods and formats with your compliance adviser before relying on this for a live investigation.

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