Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ NovaInvoice – Enterprise Invoice Management System

A modern, responsive, full-stack Invoice Management System built using React, Node.js, Express.js, and a JSON-based database. The application helps businesses efficiently manage customers, products, invoices, payments, expenses, and reports through a secure role-based platform.


πŸ“Œ Overview

The Invoice Management System simplifies day-to-day business operations by providing an intuitive dashboard, secure authentication, invoice generation, payment tracking, reporting, and analytics in one centralized application.

It features role-based access control, professional invoice management, interactive dashboards, and a responsive user interface suitable for small and medium-sized businesses.


✨ Features

πŸ” Authentication & Security

  • JWT Authentication
  • Secure password hashing using bcryptjs
  • Role-Based Access Control (RBAC)
  • Admin, Accountant, and Staff roles
  • Protected API routes
  • Audit logging

πŸ“Š Dashboard

  • Revenue overview
  • Invoice statistics
  • Payment summary
  • Pending and overdue invoice tracking
  • Interactive charts
  • Recent activity panel

πŸ‘₯ Customer Management

  • Add, edit, and delete customers
  • Customer profiles
  • Billing and shipping information
  • Customer invoice history
  • GST/VAT support

πŸ“¦ Product Management

  • Product inventory
  • SKU management
  • Product categories
  • Pricing management
  • Tax configuration
  • Low stock alerts

🧾 Invoice Management

  • Create professional invoices
  • Automatic tax calculation
  • Discount calculation
  • Draft invoices
  • Paid/Pending status
  • Invoice duplication
  • Printable invoice format

πŸ’³ Payments

  • Record payments
  • Partial payments
  • Multiple payment methods
  • Outstanding balance tracking

πŸ’° Expense Management

  • Office expenses
  • Utilities
  • Software expenses
  • Rent management
  • Custom expense categories

πŸ“ˆ Reports

  • Revenue reports
  • Expense reports
  • Outstanding payments
  • Tax reports
  • CSV export
  • Excel export
  • PDF export

πŸ› οΈ Tech Stack

Frontend

  • React 18
  • Vite
  • React Router DOM
  • JavaScript
  • Vanilla CSS
  • Lucide Icons

Backend

  • Node.js
  • Express.js
  • JSON Database
  • Morgan Logger

Authentication

  • JWT
  • bcryptjs

Development Tools

  • Git
  • GitHub
  • VS Code
  • npm

πŸ“‚ Project Structure

invoice-management-system/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ database.js
β”‚   β”‚   └── db.json
β”‚   β”‚
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ auth.js
β”‚   β”‚   └── logger.js
β”‚   β”‚
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ auth.js
β”‚   β”‚   β”œβ”€β”€ customers.js
β”‚   β”‚   β”œβ”€β”€ expenses.js
β”‚   β”‚   β”œβ”€β”€ invoices.js
β”‚   β”‚   β”œβ”€β”€ notifications.js
β”‚   β”‚   β”œβ”€β”€ payments.js
β”‚   β”‚   β”œβ”€β”€ products.js
β”‚   β”‚   β”œβ”€β”€ reports.js
β”‚   β”‚   β”œβ”€β”€ settings.js
β”‚   β”‚   └── users.js
β”‚   β”‚
β”‚   └── server.js
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   └── main.jsx
β”‚   β”‚
β”‚   └── index.html
β”‚
β”œβ”€β”€ package.json
β”œβ”€β”€ package-lock.json
└── README.md

βš™οΈ Installation

Clone the repository

git clone https://github.com/sethvikabonthu/invoice-management-system.git

Navigate to the project

cd invoice-management-system

Install dependencies

npm install

Start the backend

cd backend
npm install
npm start

Start the frontend

cd frontend
npm install
npm run dev

The application runs at:

Frontend

http://localhost:5173

Backend

http://localhost:5000

πŸ‘₯ User Roles

πŸ‘‘ Admin

  • Manage users
  • Manage customers
  • Manage products
  • View reports
  • Manage system settings
  • View audit logs

πŸ’Ό Accountant

  • Manage payments
  • Manage expenses
  • Generate reports
  • Export business data

πŸ‘¨β€πŸ’» Staff

  • Manage customers
  • Create invoices
  • Manage products

πŸ“Š Dashboard Analytics

The dashboard provides:

  • Revenue overview
  • Monthly sales
  • Customer growth
  • Expense analysis
  • Invoice status distribution
  • Payment tracking

🎯 Future Enhancements

  • Email invoice delivery
  • Cloud database integration (MongoDB/MySQL)
  • Online payment gateway
  • QR code payments
  • SMS notifications
  • Multi-language support
  • Multi-company support
  • Docker deployment
  • Cloud deployment

🀝 Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a feature branch.
git checkout -b feature-name
  1. Commit your changes.
git commit -m "Added new feature"
  1. Push your branch.
git push origin feature-name
  1. Open a Pull Request.

πŸ“„ License

This project is licensed under the MIT License.

See the LICENSE file for more information.


⭐ Support

If you found this project helpful, please consider giving it a ⭐ Star on GitHub.


Built with ❀️ using React, Node.js, Express.js, and JavaScript

About

A full-stack Invoice Management System built with React, Node.js, Express, and JSON database featuring role-based authentication, invoice tracking, customer management, payments, reports, and analytics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages