LedgerSync
Industry: FinTech
Country: USA
Description
LedgerSync is a financial platform that helps accountants and bookkeepers to synchronize all banking transactions of their clients in one place. It helps accountants avoid the hustle of having to analyze transactions from different banks individually. All that is required is to add the details of the target bank accounts, and all the data will be automatically imported into LedgerSync.
Some banks and financial institutions whose data can be imported include Bank of America, Chase, Well Fargo, and many more. LedgerSync also allows exporting data to cloud platforms like Dropbox and Google Drive.
Client goals
With this project, the client tasked us to rewrite the code of LedgerSync to fix the errors in functionalities that were affecting its performance. We had to rewrite this code using the latest technologies since it was initially written using older coding tools.
Because of the performance issues and compatibility problems with newer platforms that it had to share data with, the only way to fix it was rewriting the project from scratch using the latest technology stack. Despite using new technologies, we had to ensure the user interface remains simple and easy to use.
Main roles
Admin
These had access to all clients whose transactions were being synced into the platform. So, the admin played the role of overseeing these accounts and ensuring they were managed within the agreed terms of service.
Accountant
The accountants had access to clients that they were assigned to. Their main task was to keep records of all the transactions of these clients.
Employee
The employees had access to the bank data and all transaction details on their accounts.
Super Admin
Played the role of overseeing the rest of the users and all operations on the platform.
Implemented features
User management
Under user management, we had to make it possible for new users to register, login, and also edit the user data. We also partly built and implemented FDE (financial data extractor) API, such integrations as Finicity – to collect user baking data, and Zoho Subscriptions (payment system) and directly on LedgerSync itself.
Back-end
We implemented the back-end part of the platform in Java to make it more robust. For the database, we used Oracle.
Front-end
The front end of the platform was initially developed using Thymeleaf – a Java XML/XHTML/HTML5 template engine. We then rewrote the code using Angular to improve the responsiveness and appearance of the platform's user interface.
Testing
Testing of this project was done by our QA engineer to ensure all the features we implemented were working as intended.
Hosting
We hosted the platform on Google cloud. Google Cloud was chosen because of its high-performance and reliable servers.
Methodology of development
Kanban methodology was used to ensure Just in Time delivery. This methodology also avoids the implementation of irrelevant features into the platform.
The top features created by us
We integrated Finicity, which is a service that collects user banking data and imports it into LedgerSync.
We also developed our system that collects transaction data of the users that subscribe to the platform. We used the FDE API back-end system.
Configuring the platform onto Google cloud servers
We also made the platform capable of exporting data to some popular cloud storage platforms like Dropbox, Google Drive, Smart Vault, and Share file.
Generation of reports that had details of how the funds were being used on the different bank accounts.
Access and downloading bank statements. With this feature, users that subscribe to the LedgerSync are given the option of accessing their bank statements and downloading them if necessary.
Download (sync) banking operations for up to 2 years.
Accessing and viewing images of cheques and deposits.
We also set up the client portal for managing all bank logins in a safe and secure way.
Implementation of the Data export capability in QBO format (integration with QuickBooks - accounting system). This feature is ideal for RightNetworks users.
The most difficult
Despite successfully implementing most of the features, some of them got us thinking a little more. One of them was the integration of a service that extracts the user data from the banks. With this task, we used Finicity, which was a bit of a challenge to integrate into the platform. Another complex task was integrating a system that gives users the option to export cheques.
There was also a challenge of bank statements taking long to load when in PDF format. We had to fix this by rewriting and optimizing the code that was responsible for executing this task. We also had to understand which data to take from one system, and which from the other, since both systems partially had common functionalities (viewing transactions), and the list of supported banks was different. But after all these challenges, we managed to complete the project, and the client was happy with our work.
Details
Timeline
November 2018 - 2020
Team
2 Front-End, 2 Back-end developers, 1 QA / QC engineer
Used Technologies
Java 8
Spring
Hibernate
Spring Data
Thymeleaf
Angular
SmartVault
Sharefile
Dropbox
Bootstrap
Oracle
Twilio
Jenkins
Docker
Quick books
Google Drive
Finicity