Implementing a Modern Digital Mailbox for a Customer Portal of an Energy Supplier

iMac showing the digital inbox page of the customer portal. The inbox contains at least three invoices and there is an option to load more documents.

Key Facts


The migration of the LEW customer portal to a new environment requires a new solution for the digital delivery of invoices. This should also be able to be expanded for future digitization measures.

Situation before

After the migration of the customer portal, the old portal still had to be accessed for the invoice retrieval function, for example. In addition, all other letters still had to be sent by post, even for online users. This incurs costs for printing, enveloping, and mailing.


The following objectives were identified:

  • Registered customers receive their letters and invoices digitally
  • Letters and invoices can be viewed for the duration of use of the online services
  • Old invoices in the system can be provided retrospectively
  • When new documents are made available, the user is informed in real time


After a detailed analysis of the requirements, it was recognized that documents can have different metadata depending on their type. To map this efficiently, the decision was made to store the data on an Azure Cosmos DB. This can handle the schemeless data excellently.

Two areas are involved in the provision of letters. On the one hand, the SAP area provides all the necessary information, and on the other hand, the output management processes it and initiates printing and dispatch. Close coordination with these two areas was therefore necessary to develop an optimal process for digital dispatch.

The special feature of the software architecture in this case was not only the new database but also the identification of the document type. In addition, it had to be ensured that all the required information was reliably available despite the three systems involved. Depending on the document type, it should also be possible to provide other e-mail templates that can provide certain information in advance. As the number of online users is constantly increasing due to the increased quality of the portal and sales initiatives, scalability must also be kept in mind.

To implement the mailbox, the newly migrated customer portal application could simply be expanded. Basic topics such as real-time updating already existed and could easily be supplemented by the “new letter in mailbox” event.

Here too, the tried-and-tested concept of agile and iterative development was used. This meant that initially only the “invoice” document type was transferred to test how well customers get on with the new mailbox and how well the systems work together. In subsequent iterations, further contract-related letters were then integrated step by step. This is where the design phase really paid off. This is because simple expandability was already considered.

Security must not be neglected here either. A penetration test was therefore carried out to check the functions and their vulnerability.

My Contribution

As a software developer, I was responsible for designing and implementing the backend services. This included creating the interfaces, implementing the processes, and storing the data in the Cosmos DB NoSQL database. My most important concern was that the extension with other document types could be carried out easily.

To coordinate the technical processes, I took care of the visualization and documentation of these in the form of diagrams. To this end, I was in close contact with the departments involved.

In addition, the penetration tests had to be organized for the security topic. I was responsible for coordinating with the service provider, providing the necessary data and information, and approving the report, including processing the results.

Technologies Used

A variety of technologies were used to implement the application. The backend was developed in C# and .NET Core, while the frontend was mainly developed in React with TypeScript. I used the ASP.NET framework (Web API) to develop the REST and gRPC interfaces. To map the asynchronous processes, I used NServiceBus, which ensures the delivery of messages even in the event of an error. I saved the documents in an Azure Blob Storage and the associated metadata in an Azure Cosmos DB.

Further software metrics and logs are recorded with Application Insights. Real-time updates to notify the user or update the front end were implemented via SignalR and Azure Functions.

Customer Benefits

Following the digitization of all legally possible customer letters, a drastic reduction in printing and mailing costs for customers with online access was observed. The addition of further document types can be implemented consistently quickly and enables customers to quickly integrate new letters into this process in the future. In addition, the number of customer service inquiries relating to the resubmission of invoices has been reduced. Customers can now retrieve these independently at any time.

Are you also struggling to manage complex business processes in the digital world and need help with technical implementation? I’m here to help.