LedgerSync

FinTech

Java 8SpringHibernateSpring DataThymeleafAngularSmartVaultSharefileDropboxBootstrapOracleTwilioJenkinsDockerQuick booksGoogle DriveFinicity
LedgerSync main

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.

LedgerSync Illustration 1

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.

LedgerSync Illustration 2

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

LedgerSync Java 8

Java 8

LedgerSync Spring

Spring

LedgerSync Hibernate

Hibernate

LedgerSync Spring Data

Spring Data

LedgerSync Thymeleaf

Thymeleaf

LedgerSync Angular

Angular

LedgerSync SmartVault

SmartVault

LedgerSync Sharefile

Sharefile

LedgerSync Dropbox

Dropbox

LedgerSync Bootstrap

Bootstrap

LedgerSync Oracle

Oracle

LedgerSync Twilio

Twilio

LedgerSync Jenkins

Jenkins

LedgerSync Docker

Docker

LedgerSync Quick books

Quick books

LedgerSync Google Drive

Google Drive

LedgerSync Finicity

Finicity