Digital Payment Services
“Again. In time and budget and completely in quality. Many thanks.”
Stefan Faust, CEO at ACE Solutions GmbH
2opus – now known as ACE Solutions following a successful merger between the two companies in 2023 – is a consulting firm located near Munich, Germany, that consults companies in the implementation and optimisation of financial management and control processes.
They are expert consultants for the products Qlik (Business Intelligence), Unit4 Financials by Coda (financial intelligence and all-in-one financial management software) and Unit4 ERP. In addition to consulting, they also provide development work for their clients to help them in implementing their unique business processes.
One of the key applications that 2opus had developed for one of their larger clients, a leading fintech company operating in Europe, was problematic and they needed help getting it to the desired level of functionality. Furthermore, their development process was not clearly defined and documentation was lacking, which they wanted to address. The team also had both the need and opportunity to improve the services and software they were offering several of their other clients, so they decided to start looking for an external software house with whom they could partner and outsource some of their development work.
Hotovo was referred to 2opus by their then-partner, ACE Solutions, in November 2017. 2opus initially asked Hotovo for help solving their issues with the key application for their important client, the leading fintech company. We placed a team of two developers on the project, who successfully resolved the application’s issues and cemented 2opus’s trust in Hotovo. This quickly led to the team being extended to four developers, and we began working on other applications – both existing and new – for that same client, as well as developments for their other clients.
Hotovo was quickly entrusted with the development work for 2opus’s core business – the leading fintech company, plus many other clients. Gradually, more and more applications changed “ownership” to Hotovo, and we became an instrumental part of 2opus’s development team.
We developed a new application for multithreaded batch processing, implementing one of the core business processes, along with other new applications or libraries, as needed and according to requirements. The applications both extended and automated the functionality of Unit4 Financials by Coda and provided integration with external systems, allowing their clients to implement company-specific tasks.
Another important step was updating the applications to Java17 and removing standalone Tomcat servers for each application – with most of them being replaced with embedded Tomcat. Applications also lacked a user interface and mostly utilized provided REST endpoints. This led to a decision to create a central UI that would enhance the functionality, visibility and overall user experience, as well as improve the security.
Short summary of some of the core daily business processes Hotovo was involved in developing:
- Customer data synchronization between the customer configuration (self-care) system and Unit4 Financials by Coda. Includes data such as bank account number, email, settlement frequency, payment day, kind of reports requested, and more.
- Batch import of payment summaries from billing systems into Unit4 Financials by Coda.
- Batch invocation of pay-run generation (proposals), writing to the books and actual payout to customers.
- Batch report generation (PDF; Balance Note and XML; Electronic Payment Advice) and distribution to customers (via email; SFPT).
- The team was involved in all phases of the software cycle: requirements gathering, solution designs (which involved close cooperation with 2opus to transform business requirements into technical ones), development, code reviews, documentation, automated and manual testing, release and deployment, and project management.
- Fixed performance issues for the critical pieces of software.
- Implemented new requirements into existing applications.
- Implemented new pieces of software for batch processing, according to the requirements.
- Technical stack has been modernized and united where possible (Spring Boot).
- Defined clear and united processes for project management, development, release & deployment.
- Migration of all projects from Mercurial to Git (GitLab), or started versioning if it was missing, enforcing GitFlow workflow and other rules – continuous integration.
- Enforcing semantic versioning for all projects with respect to the relationship to the main product, Unit4 Financials by Coda.
- Standardized configuration and logging for all applications.
- Written exhaustive documentation for all applications, both user guides and technical guides.
- Updates of all projects to support the new version of Unit4 Financials by Coda.
- Developed software to gather (and then import) anonymized data from various production systems in order to replicate the use-case in the development process and speed up the development, and to be able to quickly replicate and troubleshoot possible issues in non-production environments.
- Similar results were achieved for 2opus (now ACE Solutions)’s other smaller customers where Unit4 Financials by Coda is also the core offering.
The future of ACE Solutions & Hotovo's collaboration
There’s no change at all to the partnership with Hotovo following the merger between 2opus and ACE Solutions, and we remain an integral part of their team.
An upcoming project is to centralize the whole ecosystem’s functionality, so the user will see everything they need in one place. This has a lot of implications on the underlying structure of the applications, and the need to adapt the error handling. There is also a discussion about migrating the Coda system to a cloud version, which will bring a lot of changes – especially those related to database communication and possible performance challenges. We’re also discussing the possibility of migrating the whole environment, along with all of the applications, to a cloud-based solution, in which case a lot of refactoring on the older applications will be needed.