The integration of Hadrone PPM with the ERP system in the area of project budgeting is the most commonly implemented integration by our Clients. Its goal is to ensure that in one place (within the project in Hadrone PPM), we have complete information about the state of the project budget (planned, actual, and forecasted values), including details of execution (invoices and other accounting documents), without the need to switch between systems and search for the correct information. This information is useful both for the Project Manager of the given project and for the project office and other individuals overseeing individual projects and the entire project portfolio.
It is worth noting that, as part of project financial management, in addition to the budget itself, we often also manage commitments (orders to suppliers) to have a complete picture of financial engagement.
The commitment area can also be integrated with Hadrone PPM, but that is a topic for a separate article.
What is required to link the expenditure execution from the ERP system with the project budget in Hadrone PPM?
First of all, a specific object in the ERP system is required to gather the expenses incurred for a particular project. Depending on the ERP system, this "object" could be a Cost Center or a controlling order. When recording expenses incurred for projects, they are assigned to such an object. Each object has its own code/identifier (a string of characters), which is then assigned to the project in Hadrone PPM as the project's external identifier. One project in Hadrone PPM can have one or more external identifiers. This external identifier will later be used to link the expense executed and imported from the ERP system with the project in Hadrone PPM. Once the executed expenditure is in the project (e.g., an invoice from the supplier), the next step is to link this execution with the planned expenditure in the project (with the budget item in the project). This linking is most often done by the Project Manager, who knows what was ordered and what the received invoice may pertain to. Hadrone PPM notifies the Project Manager that such a link must be made.
Can the assignment of the execution to the planned expenditure also be automated? Yes :) However, this requires expanding the project-related objects created in the ERP system with a structure reflecting the project budget created in Hadrone PPM (the structure of planned expenditures). In this approach, not only will the project in Hadrone PPM have its external identifier (e.g., PSE element), but also each expenditure (budget item) planned in the project (another PSE element, often created in a hierarchical structure). As a result, when recording expenses in the ERP system, they can be linked not only with the project but also with the planned expenditure in that project. In this solution, we achieve full automation – after importing the expenses from the ERP system to the project in Hadrone PPM, the executed expenditure will not only go to the appropriate project but will automatically be linked to the appropriate planned expenditure within the project. Therefore, the Project Manager will not have additional work related to linking the imported expenses. Hadrone PPM will simply notify them that the import has occurred and the execution has been automatically linked to the specified budget item in the project.
How does working with a project budget in Hadrone PPM in connection with an ERP system look?
Working with a project budget in Hadrone PPM in connection with an ERP system involves four steps:
- Creating the project,
- Recording the actual expenses,
- Managing changes to the project budget,
- Closing the project.
Creating the project
The project is created and described in Hadrone PPM. Specifically, the project budget is created, which most often includes planning expenses along with their values over time, broken down into relevant expense categories set by the organization (for example, we separately plan the purchase of licenses, equipment, and services, with multiple expenses potentially falling under one category). The project undergoes an approval process. After approval, the first opportunity for integration between Hadrone PPM and the ERP system arises.
Once the project is approved in Hadrone PPM, an object corresponding to this project in the ERP system (such as MPK, controlling order, or PSP element) can be automatically created. Optionally, a set/structure of objects reflecting the project budget planned in Hadrone PPM, along with planned values over time, is also created. The object numbers from the ERP system can be returned to the project in Hadrone PPM and assigned accordingly as the external project identifier and to the expense positions as their external identifiers.
In this way, the ERP system will be prepared to record expenses in the context of the projects they relate to. Depending on the Client's needs and the technical capabilities and limitations, this process can be done manually or automated.
How does the manually executed process look?
- After project approval, the Project Manager (or another designated person) informs the accounting staff that the project has been approved and requests the creation of the corresponding object in the ERP system (for the project itself and optionally for individual expenses in the project).
- Once the object (or multiple objects corresponding to expenses) is created in the ERP system, the accounting staff returns the names/identifiers of the objects created in the ERP system to the Project Manager. The Project Manager then enters this information into the project in Hadrone PPM, completing the external project identifier and optionally the external identifiers of the planned expenses in the project.
If the organization considers such manual work too time-consuming or error-prone, they may decide to implement integration between the systems. What is the logic of such integration from a technical perspective?
- After the project is approved, the Hadrone PPM software sends a webhook with information about the approved project. Now, there are two possible paths depending on whether the ERP system used by the Client is capable of reacting to webhooks.
- If the ERP system is able to react to webhooks, retrieve data from an external system, and send data to it via an API, the entire integration is carried out at the ERP system level. Based on the information received in the webhook and using the REST API of Hadrone PPM, the ERP system creates an object corresponding to the project in Hadrone PPM (such as Cost Centre, controlling order, or PSE element) and optionally objects corresponding to the planned expenses in the project (if integration at this level is planned). After creating the objects, the information about these objects is sent to the project in Hadrone PPM using the REST API of Hadrone PPM and entered into the relevant parts of the project (as the external project identifier and optionally the external identifiers of the expenses).
- If the ERP system has an API for communication with external systems but cannot independently react to webhooks and retrieve or send data to an external system (in this case, Hadrone PPM), then intermediary software (e.g., Apache Airflow) is used between Hadrone PPM and the ERP system. The role of this software is to receive the webhook sent by Hadrone PPM, communicate with the ERP system using its API to create the relevant objects (e.g., Cost Centre, controlling orders, or PSE elements), and then retrieve information about these objects and finally input the information about the objects created in the ERP system into the project in Hadrone PPM. It might sound complicated, but for those or companies involved in system integrations, this is “daily bread.”
Recording Actual Expenses
The project is being executed and invoices (as well as other accounting documents) related to expenses incurred for the project are coming in. When an expense is recorded, it is assigned in the ERP system to the appropriate object representing the project and optionally to an object related to the planned expense in the project. Then, this expense is transmitted to the project in Hadrone PPM.
Actual expenses can be sent to Hadrone PPM in two ways:
- If the ERP system has the capability to use the REST API of Hadrone PPM to send information about the expense, this happens automatically after each expense entry.
- If the ERP system does not have the capability to use the REST API of Hadrone PPM to send information about the expense or if the organization has decided not to send such information after every entry (e.g., due to system load concerns), then the information about the expense can be sent periodically (e.g., once a day) using intermediary software between the ERP system and Hadrone PPM (e.g., Apache Airflow). The intermediary software, at a specified time each day, retrieves information from the ERP system about expenses recorded to projects on that day using the ERP system's API and enters them into the relevant projects in Hadrone PPM using the REST API of Hadrone PPM.
Managing changes in the project budget
The user submits a request for a change in the project budget in Hadrone PPM (selecting the expenses they want to update or adding new ones) and sends the request for approval. Once approval is obtained for the change to the baseline plan, the project budget in Hadrone PPM is automatically updated and information in the ERP system may also be updated (if objects for individual expenses were created in the ERP system).
Depending on the Client's needs and the technical capabilities and limitations, this process can either be done manually or automated.
How does the manual process work?
- After the project budget change is approved, the Project Manager (or another designated person) informs the accounting staff that the project budget has changed and asks them to modify the objects related to the expenses in the ERP system.
- After updating the values of the existing expenses and creating objects in the ERP system for new expenses, the accounting staff returns the names/identifiers of the objects created in the ERP system to the Project Manager. The Project Manager then enters this information into the project in Hadrone PPM, i.e., updates the external identifiers of the new expenses in the project.
If the organization determines that such manual work is too time-consuming or error-prone, they may choose to implement an integration between the systems. What is the technical logic of such an integration?
- After the project budget change is approved, Hadrone PPM software sends a webhook with information about the project in which the change was made. Now, there are two possible paths depending on whether the client’s ERP system is able to respond to webhooks on its own.
- If the ERP system can respond to webhooks, retrieve data from an external system, and send data to it via an API, the entire integration is carried out at the ERP system level. Based on the information received through the webhooks and using Hadrone PPM’s REST API, the ERP system creates objects corresponding to the new expenses planned in the project (e.g., Cost Centre, controlling order, or PSE element) and updates the values of the existing expenses (if needed). After creating the objects, information about these objects is sent to the project in Hadrone PPM using the REST API and entered into the appropriate fields in the project (as external identifiers for the expenses).
- If the ERP system has an API for communication with external systems but cannot independently respond to webhooks or retrieve and send data to external systems (in this case, Hadrone PPM), then intermediary software is used between Hadrone PPM and the ERP system (e.g., Apache Airflow). The role of this intermediary software is to receive the webhook sent by Hadrone PPM, communicate with the ERP system using its API to update the values of expenses, create the appropriate objects (e.g., Cost Centre, controlling orders, or PSE elements), and retrieve information about the new objects. Finally, it enters information about the objects created in the ERP system into the project in Hadrone PPM.
Closing the project
Information about the project's closure is often passed on to the accounting department to block the possibility of further recording expenses for that project.
Depending on the Client's needs and the technical capabilities and limitations, this process can either be done manually or automated.
How does the manual process work?
- After the project is closed, the Project Manager (or another designated person) informs the accounting staff that the project has been closed and asks them to block the possibility of recording expenses in the ERP system for this project.
- The accounting staff closes/blocks the relevant objects in the ERP system, thereby blocking the ability to assign expenses to those objects.
If the organization determines that such manual work is too time-consuming or error-prone, they may choose to implement an integration between the systems. What is the technical logic of such an integration?
- After the project is closed, Hadrone PPM software sends a webhook with information about the project that has been closed. Now, there are two possible paths depending on whether the client’s ERP system is capable of responding to webhooks.
- If the ERP system can respond to webhooks, the entire integration is carried out at the ERP system level. Based on the information received from the webhooks, the ERP system closes/blocks the objects corresponding to the project and the expenses associated with this project.
- If the ERP system cannot respond to webhooks, intermediary software is used between Hadrone PPM and the ERP system (e.g., Apache Airflow). The role of this software is to receive the webhook sent by Hadrone PPM, communicate with the ERP system using its API to close/block the objects corresponding to the project and the expenses associated with this project.
Who executes and maintains such an integration?
Depending on the scope and rules of the integration, as well as the IT solutions used by the Client, various internal and external competencies will be required. The Client can carry out the integration independently (with our support), commission the execution to the ERP system provider, or to the company implementing the Hadrone PPM software. If Clients commission us to carry out such work, we always select a technical partner who is familiar with Hadrone PPM software and the technologies used by the Client.
It is important to note that system integration is not a one-time event. Integrations require maintenance work, which includes:
- monitoring the proper functioning of the integration,
- responding to errors occurring in the integration processes,
- modifying the rules and scope of the integration resulting from changes made in the integrated systems.
Depending on the Client's needs, the maintenance of the integration can be handled by an internal team or an external provider.