Invoice Management Web Application Development

Invoice Management hero image

Invoice Management Web Application Development

Information

Region:
Worldwide
Industry:
Financial Services and Banking
Type:
Web
Engagement model:
Time and Material
Duration:
4+ years across 4 stages of development (including upcoming ones)
Staff:
10 Front-end Developers, 8 Backend Developers, 4 Business Analysts, 2 QA Engineers, 2 Project Managers, 1 UI/UX designer, 1 DevOps
ID:
21439

Technologies used

  • Celery
  • Chart.js
  • Django
  • Google Authenticator
  • Prime NG
  • Python
  • Angular
  • MySQL

Client

This is an internal project for our company Elinext, a custom software development company. Elinext has been in the software development market for over two decades, and during this time we have cooperated with hundreds of customers. This web application is aimed to provide effective monitoring and help with the assessment of company projects.

This project is one of many internal projects that could be customized for the needs of our clients in the future. We have built a working ecosystem that includes a corporate calendar, vacation manager, payment tracker, and other useful software that simplifies everyday operations.

We have plans to offer similar ecosystem development for our customers.

Project Description

This web application allows managers and accountants to track money flow and company project effectiveness, manage contracts, control payments and debt status, and prepare financial reports.

Payment Tracker helps reduce time spent working with customer payments and mitigates risks of missing contract terms and payments.

Elinext did not have a unified system for maintaining contracts and payments. With such a system in place, we can manage all contracts with ease. That need led to a large internal project.

Challenges

There was quite a list of challenges our team faced:

  • to build a system that would unite all contracts and payment information from every customer Elinext works with
  • to provide an unparalleled level of security before deployment because the system keeps sensitive accounting information in one place
  • to make sure exchange rates are always correct and historical data does not cause miscalculations while invoices are kept in one currency
  • to constantly improve features such as calculations in the Balance section and reconciliation logic
  • to deliver each version within the deadline and make sure it is deployed on time

Process

We used the Kanban methodology. In this case, it was convenient because the development team is not always available in its entirety and the intensity of work on the project is usually low.

We used Google Authenticator for 2-factor authentication. It helps increase financial data security and works hard to provide that level of protection.

The project is after its third stage and ready to enter the fourth. Here is the timeline:

  1. Stage 1

    2019 - Apr 2022: MVP development

    MVP development took a lengthy time, but even at that stage the team delivered a substantial set of functions.

    User role management. Depending on the user's role, one could access certain software features. The roles include Account Manager, Responsible Manager, and Guest, so users can focus on their area of work.

    Clients and contracts management. The system allows users to create clients, assign projects to them, link contracts, and control payment terms.

    Projects management. The application keeps general project information, manager assignments, payment control, and documentation connected with the project.

    Invoice management. Users can create and export invoices for customers.

    Payments management. Users can add and manage customer payment information, as well as import or export payment data.

    Reconciliation. The reconciliation tool matches payments with invoices and helps update accounts receivable.

    Balance. Users can observe all payments and invoices in a table view and see summary invoice and payment calculations.

    Templates. Document templates can be uploaded, stored in the system, and downloaded when needed.

    Reports. The reporting section lets users observe the financial state from customer, project, or user perspectives and export reports.

    Debt Reminders. The system automates notifications for customers about debts.

  2. Stage 2

    Apr 2022 - August 2022: Release 2.0

    Release 2.0 included significant security improvements, new functionality for reconciliation of payments with invoices, bulk payment import, and report generation.

    We added a tool designed to find common security issues in code and fixed security linter errors in the project, among other changes.

  3. Stage 3

    August 2022 - January 2023: Release 3.0

    Release 3.0 included new notification settings, an improved Debt Reminders function, reconciliation logic, and new adjustments in Reports.

  4. Stage 4

    Upcoming: Planned improvements

    The fourth stage is upcoming. The team plans to improve notification logic and provide customers with new financial reports.

Solution

We built an internal web system that includes different modules from other management and account systems.

The system currently consists of ten modules, and at some point we increased its security levels to the maximum. It includes a firewall, encryption of particularly sensitive information, database isolation, encrypted database access, logging, auditing of database access with data at a low level, and 2-factor authentication.

Module 1: Payments

This core module collects the most important payment information and uses it for balance calculation, debt management, and reporting.

Payment management lets users quickly observe all payments on one page, understand these entries, and export or import the grid.

Module 2: Invoices

Invoice detail management collects the most important invoice information and uses it for balance calculation, debt management, and reporting.

It provides similar functionality to Payments, but for invoices.

Module 3: Clients

This module lets users observe and manage all objects and parameters related to a particular client, so they do not need to collect client information from different modules.

Users can observe all clients on one page and export the grid.

Module 4: Projects

Managing project details allows the user to collect the most important project information and assign the project to responsible managers.

This module tracks payments and invoices within a particular project, builds project-related reports, and helps add or track contracts for each project.

Module 5: Balance

On the Balances page, users can observe all payments and invoices, see summary amounts automatically recalculated in USD, filter balances, and export the balance as an Excel report.

The module also includes the Debts page. It helps users observe invoices that are not fully paid, filter debt data, export reports, and quickly see the amount of accounts receivable.

Module 6: Reconciliation

On the Reconciliation page, users can manually correlate payments with invoices, which updates data on the client's debt to the company.

The system automatically offers invoices to which a particular payment potentially applies.

Module 7: Templates

The Templates module provides quick access to samples of documents such as contracts, invoices, and other reusable files.

Module 8: Reports

Reports let users view the balance and movement of finances within a specific client and period, with the ability to export to Excel.

Module 9: Notifications

This module lets users view all notifications generated by the system.

Recipients are notified promptly about events by email and inside the application, so they can take action quickly.

Users with sufficient rights can configure each notification individually or set default parameters for each notification type.

Module 10: Settings

Users with corresponding rights can add users through an SSO server, assign roles, and reset a user's QR code if access issues occur.

Various system settings are realized in this module.

Results

The project is a long-playing addition to Elinext's infrastructure and is ready to be offered to other companies together with projects that create an ecosystem for streamlining daily operations.

As an individual piece of this ecosystem, the system eases managers' work and lets them control contract terms and check the payment situation in one place.

The project is about to enter the fourth stage, which would include a demo version and new financial reports by adding new user roles such as accountants.

Because the system works with the company's general financial information, security required serious attention and remained one of our top priorities.

Do you want the same project?Get In Touch

Got A Project Idea? Lets Discuss It With Us

Max file size 10MB. Supported formats include DOC, DOCX, ODT, PDF, RTF, and TXT.

Required fields are marked with an asterisk.

What does our proposal include?

Join our team

Upload your CV

For public relations

PR@ELINEXT.COM