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.
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.
- JWT Authentication
- Secure password hashing using bcryptjs
- Role-Based Access Control (RBAC)
- Admin, Accountant, and Staff roles
- Protected API routes
- Audit logging
- Revenue overview
- Invoice statistics
- Payment summary
- Pending and overdue invoice tracking
- Interactive charts
- Recent activity panel
- Add, edit, and delete customers
- Customer profiles
- Billing and shipping information
- Customer invoice history
- GST/VAT support
- Product inventory
- SKU management
- Product categories
- Pricing management
- Tax configuration
- Low stock alerts
- Create professional invoices
- Automatic tax calculation
- Discount calculation
- Draft invoices
- Paid/Pending status
- Invoice duplication
- Printable invoice format
- Record payments
- Partial payments
- Multiple payment methods
- Outstanding balance tracking
- Office expenses
- Utilities
- Software expenses
- Rent management
- Custom expense categories
- Revenue reports
- Expense reports
- Outstanding payments
- Tax reports
- CSV export
- Excel export
- PDF export
- React 18
- Vite
- React Router DOM
- JavaScript
- Vanilla CSS
- Lucide Icons
- Node.js
- Express.js
- JSON Database
- Morgan Logger
- JWT
- bcryptjs
- Git
- GitHub
- VS Code
- npm
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
git clone https://github.com/sethvikabonthu/invoice-management-system.gitcd invoice-management-systemnpm installcd backend
npm install
npm startcd frontend
npm install
npm run devThe application runs at:
Frontend
http://localhost:5173
Backend
http://localhost:5000
- Manage users
- Manage customers
- Manage products
- View reports
- Manage system settings
- View audit logs
- Manage payments
- Manage expenses
- Generate reports
- Export business data
- Manage customers
- Create invoices
- Manage products
The dashboard provides:
- Revenue overview
- Monthly sales
- Customer growth
- Expense analysis
- Invoice status distribution
- Payment tracking
- 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
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
git checkout -b feature-name- Commit your changes.
git commit -m "Added new feature"- Push your branch.
git push origin feature-name- Open a Pull Request.
This project is licensed under the MIT License.
See the LICENSE file for more information.
If you found this project helpful, please consider giving it a β Star on GitHub.
Built with β€οΈ using React, Node.js, Express.js, and JavaScript