Online accounting software plays a major role in the work of Accountant and Entrepreneur. But the accounting software is not for free for use and the company needs to pay the price. But this project is going to be open-source and the graphical view of data can make the User Experience ease and the understandability will be extremely high.

As the software is open-source, any company can change the source code as per their requirements. As long as the project gets the contributions the software gets updated. By making the software as opensource the small businesses and companies no longer rely on the online accounting software. The startups that cannot invest in expensive online accounting software can use this open-source software. The companies can have their software as per their standards and protocols.

What it does

Enterprise Management System is a solution for an accountant who accounts for the transactions of an Enterprise. It allows the user to enter the transaction details with relevant documents. The accountant can comment and update the status of a transaction. This web-based application will reduce paperwork and save the time of an accountant and reduce manpower.

The web application also provides a login for an accountant. He can view the transactions of all the Enterprises he deals with. He is also able to update the status of the transaction and comment on the improper transactions (lack of documents etc). The accountant can generate the Income Tax returns of an Enterprise.

How I built it

I built the product by using Flask as a framework for the backend and I used HTML, CSS, JS, Jquery, Bootstrap for frontend development. I also used Sql_Alchemy and Alembic for database and Git for handling VCS. The product was developed on Linux and WSL platforms.

Development Process

I followed the agile methodology of software development. The product was developed in two sprints.

Sprint 1

The core modules were developed in this sprint which would include the following functions:

  1. Users can add the transaction they had done with the following information (TransactionID, date, description, amount, relevant documents).
  2. Users can edit the information of a previously entered transaction.
  3. Users can view the status of the transaction.
  4. The accountant can view the transaction of all the Enterprises.
  5. The accountant can update the status of each transaction for an Enterprise (valid/not valid).

Sprint 2

The following enhancements were done in this sprint:

  1. Enabling the accountant to comment on an improper transaction for the complete information.
  2. Enabling the accountant to generate Income Tax returns of an Enterprise.

Testing Strategies

The testing phase consists of:

  • Unit Testing
  • Integration Testing
  • System Testing

Unit Testing:

In this phase, each module was checked individually. Each module ran independently from other modules and checks the errors.

Integration Testing:

In this phase, two or more modules combine and run and are checked for errors.

System Testing:

In this phase, I ran the software as a single unit. These were done in two types:

  1. Alpha Testing This testing was performed at the company level.
  2. Beta Testing This testing was performed by users/beta testers who typically are end-users.

Challenges I ran into

Working with flask is a big challenge as I am not familiar with flask initially it was tough for me to handle the application. But once I got familiarity with the concepts of the flask and working I built the product with very ease. Also, I didn't get beta testers for testing the application and I asked my parents to test the application. Making the application more secure by applying MD-5 cryptographic techniques was also an extreme challenge

Accomplishments that I'm proud of

Learning flask and building the product from scratch and working solely on the project is a great accomplishment and building a product for solving a real-time problem is also a huge accomplishment.

What I learned

As a CS student, I learned about the workflow of the flask and it's underlying properties and implementing the concepts of the database for building the real-time product gives me a clear understanding on the database concepts and I learnt UI/UX and responsiveness of the website and I am glad that I applied the concepts of Software Engineering for making this product an awesome.

What's next for Enterprise Management System

The Enterprise Management System can be developed more by implementing the following functions:

  • Multi-Currency Management
  • Multi-Users in Collaboration
  • Create Unlimited Companies
  • Dashboard to getting real-time data
  • Graphical view of tax and income
  • Graphical view of valid and invalid transactions
  • Manage Recurring Transactions
  • Integration of chatbot
  • Integration of the third-party applications for login
  • Notification when any update is done
  • Hosting the website

Built With

Share this project: