Blog
An epilot integration project at a grid operator
How an epilot integration project at a grid operator runs, from the intro call to quote, interfaces and operation, plus answers for procurement and legal teams.
By Marcel R. G. Berger Last updated: 11 min read
An epilot integration project at a grid operator follows a fixed sequence: intro call, analysis, individual quote, implementation, go-live, and then either handover or maintenance. This article walks through each step the way I run it with grid operators and municipal utilities that are rolling out epilot, or already use it, and need to connect their surrounding systems.
It also answers the questions a grid operator’s procurement and legal departments usually ask before they engage an external epilot consultant. Who is the contracting party, which law applies, how is invoicing handled and where does the data live?
The author is Marcel R. G. Berger. I have worked as a software developer and architect for more than 20 years, and I work with epilot as an external consultant and developer for apps and customisations.
How does an epilot integration project at a grid operator run?
An epilot integration project runs in six steps. The intro call is free and non-binding, and everything after it is governed by the individual quote you receive once we have talked.
| Step | What happens | What you get |
|---|---|---|
| 1. Intro call | 30 minutes on Microsoft Teams, free and non-binding | A clear view of whether and how I can help |
| 2. Analysis | Processes, systems and data flows are examined | A clear picture of the systems and interfaces involved |
| 3. Individual quote | Services, scope and terms are written down | A binding basis for procurement and sign-off |
| 4. Implementation | Interfaces and mappers in Java with Quarkus, coordinated with epilot | Working connections to your surrounding systems |
| 5. Go-live | The connections go into operation with your systems | Processes that run reliably across system boundaries |
| 6. Handover or maintenance | Code into your repository, or support under a maintenance contract | Full control over your integration code |
All of it runs remotely. The home page summarises the same sequence in the section how working together works. This article goes into the detail.
One point up front: every grid operator has its own system landscape. That is why this article names no timelines and no prices. Both only follow from the analysis and then appear in the individual quote.
What happens in the free intro call?
In the intro call you describe where you stand, and I tell you whether and how I can help. It is free, non-binding, takes 30 minutes and happens on Microsoft Teams.
Typical topics are:
- Which workflows should run through epilot, and which stay in specialist systems?
- Which surrounding systems are involved, for example ERP, billing, grid systems, other CRMs or databases?
- Where does it get stuck today, and what should be different after the project?
- How far along is the epilot rollout, and what role does epilot’s consulting team already play?
By the end of the call both sides know whether an interface of your own makes sense, or whether the requirement is better handled in epilot’s configuration. Where that line usually falls is covered in the article when low-code in epilot is no longer enough.
If it is urgent and no open slot fits, an email to hello@digitalfreedom.co.za is enough. We will then find a slot at short notice within the same week.
What should you prepare for the intro call?
You do not need a finished specification. A few documents do make the call far more productive, though, because we get to the actual interfaces sooner.
| What | Why it helps | Format |
|---|---|---|
| Short process description | Shows which workflow crosses system boundaries and where it starts and ends | A few sentences or a simple sketch |
| List of surrounding systems | Shows which systems need to exchange data with epilot | Name, purpose and type of access, as far as known |
| Existing documentation | Interface descriptions, data models or API docs save follow-up questions | Whatever already exists, no polishing needed |
| Status of the epilot rollout | Shows what is already configured and what is still open | A short summary |
| Contact persons | Clarifies who decides on business, technical and contractual matters | Names and roles on your side |
| Open questions from procurement and legal | Can be settled early, before the quote is written | Bullet points are fine |
If something on this list is missing, that is not a problem. Whatever stays open after the intro call gets settled in the analysis.
What does the analysis of processes and systems settle?
The analysis is part of the individual quote and settles which systems are involved, which data moves between them and which processes run outside epilot. Those three answers determine which interfaces are needed and what they look like.
At grid operators the starting point is often similar to my current project at a grid operator in Hesse, Germany. Many processes are not modelled in epilot but run in specialist systems that remain in use, so several third-party systems need to exchange data with epilot.
In the analysis we look at, among other things:
- which events in epilot should trigger an action in another system
- which data from surrounding systems has to be made available in epilot
- which fields correspond to each other and which formats need converting
- which integration options epilot already provides and where custom code is needed
- how errors are handled, logged and made visible in operation
epilot ships several integration options of its own. The integrations overview in the epilot developer documentation lists, among others, webhooks, a batch API and public APIs. The analysis checks which of these fits your requirement before a custom interface is planned.
What is in the individual quote?
The individual quote lists the services that come out of the analysis, together with the price, the currency and the contractual terms. It is the binding basis for your procurement team.
Depending on what you need, a quote for an epilot integration project can cover:
- connecting third-party systems via webhooks
- building custom interfaces and mappers
- providing data via REST APIs from surrounding systems such as other CRMs and databases
- triggering events in other systems
- providing information in epilot
- support with configuring the epilot portal
- custom apps for epilot
- handing the code over into your repository, or a maintenance contract
You receive all of this on an individual quote, including the code handover and maintenance.
Licences for the epilot platform are never part of that quote. You buy the platform only from epilot GmbH.
How do an external epilot consultant and epilot’s consulting team work together?
I complement epilot’s consulting team, I do not replace it. For the rollout and the standard scope, epilot’s consulting team remains your point of contact.
I pick up where epilot’s standard ends: interfaces to your own systems and individual extensions. epilot is an excellent no-code and low-code platform, and anything that can be configured cleanly there should stay there.
That gives a clear split:
- epilot is responsible for the platform and its configuration.
- The side that builds the custom integration is responsible for that integration.
- Work on the epilot platform itself happens only in cooperation with epilot.
For grid operators this split has a practical benefit. The configuration stays visible to business teams and evolves with the platform, while the integration code stays small enough to understand, test and maintain.
How are interfaces and mappers built during implementation?
During implementation, dedicated services are built in Java with Quarkus that sit between epilot and your surrounding systems. These mappers run in containers and are scalable and maintainable.
A mapper does four jobs: field mapping, format conversion, validation and error handling. A typical flow looks like this:
- An event in epilot is reported to the mapper via a webhook.
- The mapper checks the data and translates it into the format the target system expects.
- It exchanges data with surrounding systems via REST APIs, or triggers an event there.
- Where needed, it makes the result available as information in epilot.
Because the mappers run in containers, they can be deployed the same way and updated one at a time without touching the other connections. For a grid operator with several surrounding systems that matters, because each connection can evolve on its own.
How such a service is structured in detail, and which rules apply to retries, idempotency and logging, is covered in the article mappers between epilot and surrounding systems with Quarkus.
What happens at go-live and afterwards?
At go-live the connections are put into operation with your systems. After that you decide who looks after the code.
Go-live aims at two things: clean data exchange between epilot and the specialist systems, and processes that run reliably across system boundaries, even when part of the work happens outside the platform.
For the time after that there are two routes:
- Handover: the code belongs to you and is transferred into your own repository on request. Your team runs it and develops it further.
- Maintenance contract: I take on maintenance and further development of the interfaces.
Both are offered on an individual quote. Why ownership of the code matters particularly for grid operators is explained in who owns the integration code.
Which questions do a grid operator’s procurement and legal teams need answered?
Procurement and legal mostly check the contracting party, the governing law, invoicing, VAT, data protection and insurance cover. Each of these has a fixed answer you can carry straight into your supplier vetting.
| Question from procurement or legal | Answer |
|---|---|
| Who is the contracting party? | DigitalFreedom Global LLC, a company under the laws of the State of Wyoming, USA |
| Which law applies? | German law on request for grid operators, otherwise the law of the State of Wyoming |
| Which currency is invoiced? | Euros for clients in Germany, all prices are net |
| How is VAT handled? | Clarified before the contract and set out in the quote, for EU business clients with a valid VAT ID normally reverse charge |
| Where does project data live? | Infrastructure is in Europe and the United Kingdom, your project data does not leave Europe |
| Is there a data processing agreement? | Where needed, one under Art. 28 GDPR |
| Is there professional liability insurance? | Yes, the company holds professional liability insurance, proof is available on request |
Why is the contracting party a US LLC?
Because we work internationally. Clients in many countries get one constant contracting party: the same company, the same address and the same invoicing, wherever they are based.
For supplier vetting it matters that the registration can be verified. The Filing ID of DigitalFreedom Global LLC is in the legal notice, and with it the registration can be checked with the Wyoming Secretary of State. The home page covers this in the section why the contracting party is a US LLC.
Does German law apply?
For grid operators, we conclude the contract under German law on request. Without that agreement the law of the State of Wyoming applies. Please raise German law before the order confirmation so that it goes into the quote.
How does reverse charge work on the invoice?
The tax treatment is clarified before the contract and set out in the quote. For business clients in the EU with a valid VAT ID this is normally the reverse-charge procedure, which means the recipient of the service accounts for the VAT.
We check the VAT ID before the first invoice using the European Commission’s VIES VAT number validation. How you book the transaction is a question for your tax adviser. We do not give tax advice.
What about data protection and a data processing agreement?
The GDPR applies. If we process personal data in the project, we conclude a data processing agreement under Art. 28 GDPR. Your project data does not leave Europe.
At grid operators it pays to raise the data processing agreement during the analysis. By then it is clear which data flows through the interfaces and whether personal data is part of it.
How do you start your epilot integration project?
You start by booking the intro call. It is free and non-binding, takes 30 minutes and happens on Microsoft Teams.
Bring whatever you already have from the checklist above, and feel free to invite someone from procurement or legal. More answers are in the FAQ on the home page.
Every service, from implementation to code handover and maintenance contracts, is offered on an individual quote. You can pick an open slot directly in the booking calendar.
Questions on this topic
- How does an epilot integration project start?
- With a free, non-binding 30-minute intro call on Microsoft Teams. You describe where you stand, and I tell you whether and how I can help. Analysis and an individual quote follow.
- Does an external epilot consultant replace epilot's consulting team?
- No. epilot's consulting team remains your point of contact for the rollout and the standard scope. I pick up where that standard ends and work together with epilot.
- Can the contract be governed by German law?
- Yes. For grid operators, we conclude the contract under German law on request. Otherwise the law of the State of Wyoming applies. Please raise it before the order confirmation.
- Is VAT charged?
- The tax treatment is clarified before the contract and set out in the quote. For business clients in the EU with a valid VAT ID this is normally the reverse-charge procedure, and we check the VAT ID via VIES first. We do not give tax advice.
- Is there a data processing agreement?
- Yes, where one is needed. If we process personal data in the project, we conclude a data processing agreement under Art. 28 GDPR. Your project data does not leave Europe.
- What happens after go-live?
- That is your call. The code belongs to you and is transferred into your own repository on request. Alternatively I take on maintenance and further development under a maintenance contract, also on an individual quote.
More articles
Published: . Last updated: .