The system processes about 50 million checks and transactions every day. With these volumes, it takes 3-4 hours to search for and upload fiscal data on a transaction to the bank. The amount of data is growing with the connection of new participants and the increase in the volume of cashless payments, so the system architecture has the ability
to scale.
Developing mathematical algorithms to relate checks and transactions has proven to be a difficult task because there are no parameters that can clearly compare these objects. To solve this problem, the team used a self-learning probabilistic algorithm that efficiently finds matching transaction-check pairs.
Kotlin has become the main programming language for the project.