- About the Project
- Features
- Contributors
- Company Logo
- Demo
- Installation
- Usage
- Contribution Guidelines
- License
- Security
The Offline Invoice Generation System is a user-friendly, offline-capable application built using Electron.js, MySQL, and Node.js. It streamlines the invoice generation process, allowing businesses to efficiently create, manage, and store invoices securely without relying on an active internet connection.
- Offline Invoice Generation – Create invoices without an internet connection.
- User-friendly Interface – Simple and intuitive UI for seamless navigation.
- MySQL Integration – Secure database management for storing invoices and client details.
- Automated Tax Calculations – Supports GST, CGST, SGST, and IGST calculations.
- Invoice Tracking – View pending and paid invoices with a status management system.
- Secure Data Handling – Ensures encrypted storage of invoices and customer data.
- Print & Export – Generate and print invoices or export them as PDFs.
To install and run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/parthpetkar/Invoice-Generator-using-Electron.js
-
Navigate to the project directory:
cd invoice_generator
-
Install dependencies:
npm install
-
Set up MySQL database:
- Create a MySQL database and import the schema from
database_schema.sql
.
CREATE SCHEMA invoice; USE invoice; -- Customers Table CREATE TABLE `customers` ( `customer_id` VARCHAR(255) NOT NULL, `company_name` VARCHAR(255), `address1` VARCHAR(255), `gstin` VARCHAR(255), PRIMARY KEY (`customer_id`) );
- Update the MySQL connection details in
.env
:
DB_HOST=your_host DB_USER=your_username DB_PASSWORD=your_password DB_DATABASE=invoice
- Create a MySQL database and import the schema from
-
Run the application:
npm run watch
- Launch the application.
- Create a new invoice by entering customer details, project details, and invoice amount.
- Save, print, or export the invoice as a PDF.
- Track pending and paid invoices from the dashboard.
We welcome contributions from the community! To contribute, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/new-feature
- Make changes and commit:
git commit -am 'Add new feature'
- Push the changes:
git push origin feature/new-feature
- Create a Pull Request.
This project is licensed under the MIT License.
If you discover any security-related issues, please email parth.petkar221@vit.edu instead of using the issue tracker.