In short: a utility company needed tens of thousands of customers to see their contracts and invoices, pay online and report problems without calling the call centre. No off-the-shelf product fitted the ERP and the company’s rules. We built the portal on the DataFlows platform: users, roles, forms, documents and integrations already existed, and development focused on what was specific.
The context
Utility companies have two faces: an institutional side (contracts, invoices, complaints, deadlines) and a field side (crews, interventions, networks). Customers want quick answers: how much do I owe, when does my contract expire, what happened to my complaint. The call centre was answering the same questions hundreds of times a day.
The problem
- Data about customers, contracts and invoices was in the ERP, but customers had no access to it.
- Online payments went through a separate provider, with no link to the invoices in the ERP.
- Complaints came by phone and e-mail and had no traceable history.
- Off-the-shelf “portal” products didn’t fit the structure of the contracts and the company’s invoicing rules.
What we built
- A customer account with its own authentication, roles and an audit log for important actions.
- Contracts and invoices synchronised with the company’s ERP over API, with balances and due dates up to date.
- Online payment linked to the invoice: the payment is recorded on the right invoice and the status is updated in the ERP.
- Support tickets with dynamic forms, attachments and traceable statuses, for both the customer and the company’s team.
- Documents generated from templates: contracts, annexes and confirmations, with no retyping.
- E-mail notifications for new invoices, due dates and ticket replies.
Why on the platform, not from scratch
The common part of the portal (users and roles, forms with validation, approval workflows, document generation, audit log, API) already existed in the DataFlows platform and was used every day in other applications. Time and budget went into what was specific: the contract model, the invoicing rules, the integration with the ERP and with the payment processor.
How the project went
- Analysis: what a contract, an invoice and a complaint look like in the ERP, and what customers want to see.
- Prototype: a first version with the customer account, the invoice list and a complaint form, opened internally for feedback.
- Short iterations: online payment, full synchronisation with the ERP, documents, notifications.
- Training the support team and a staged launch, first for a group of customers.
- Support and continuous development as the invoicing rules changed.
Results
- Customers see their contracts, invoices and payments on their own, at any hour.
- Online payments land on the right invoice, with no manual reconciliation.
- Every complaint has a history, an owner and a status, and the customer sees where it stands.
- The portal runs on a dedicated instance, with automatic backups and security updates included.
What we learned
The integration with the ERP has to be tested early, in test mode, not left for the end: that’s where the rules nobody wrote down anywhere show up. And the staged launch, with a small group of customers, brought out the real questions before the portal reached everyone.
Do you have a process no off-the-shelf product covers? See what we build on the DataFlows platform or tell us your scenario.






