Cifra — a Mobile Accounting App for Entrepreneurs
In order to focus on their business development, merchants are increasingly moving toward the automation of their accounting.
Special services allow accounting to be formatted quickly, notifications on upcoming payments to be received, and tax amounts to be calculated. This relieves entrepreneurs of the necessity to visit their accountant.
Cifra, an affiliate of VTB — one of the leading banks in Russia, approached to SimbirSoft to develop the tool.
We were challenged to expedite the release of a new mobile app with which individual entrepreneurs could handle their accounting. Thanks to our fintech expertise, we lept into the project within a week and completed the development on time with all client requirements fulfilled.
Under the client's supervision, we put together a team that initially included Java (Kotlin), iOS (Swift), Android (Kotlin) developers, and a DevOps engineer. A QA specialist, designer, and analyst also took part.
Our first task was to analyze the code, eliminate critical errors, and set up fault tolerance. For this purpose, DevOps deployed an environment and arranged the delivery of code to benches within two weeks. Next, we discussed the future architecture with the client and decided to employ the IaC (Infrastructure as Code) strategy. This allows virtual machines to be managed programmatically without manual setup, the infrastructure to be scaled as the project progresses, and the time spent on routine operations to be reduced.
Then, we set up a fault-tolerant configuration for a database and transferred the application to Yandex Cloud. The service reliability enables the application to run continuously and ensures that the user data within it are protected at a level equivalent to that of banking products.
Our team opted for service-oriented architecture. This implies that the application logic is independent of additional design services. This approach allows distributed components to be replaced as necessary while adapting to evolving business challenges.
After that, we started development, considering the key needs of the users of online accounting while bringing new business logic into the backend. In the application, we implemented tax monitoring, calculation, and payment, as well as report delivery to FTS and funds. We also enabled online operations on individual entrepreneur accounts, payment notification setup, and management of accounts in multiple banks. For operational issues, we developed a helper chat.
We had to write the majority of the code from scratch and add new functionality. For example, no registration nor single profile for the accounting client had been implemented in the previous version of the application. An owner had to re-enter their data each time, and connecting to banks would occasionally cause errors to arise. For this reason, we included user profile creation and an update to bank integrations in the list of features.
Primary development took about two months. In concert with the client, we successfully created a new mobile application—a personal accountant for individual entrepreneurs. This enables a business owner to make settlements, pay taxes, and deliver reports from their smartphone screen without visiting his/her accountant. The user will be reminded to submit documents by notifications and can use the chat feature to contact managers. There are plans to integrate the chat with social media and messengers.
The new application led to enhanced online accounting and an increase in the user base by seven times.
Today, we are continuing to work on the project with the client and enhance the application's features by adding payment methods and the purchase of fee schedules and modules.
Kotlin, Swift, Terraform, Prometheus, Kubernetes, Yandex Cloud, MVVM, Clean Architecture