A professional invoice generation system with GUI client management and SQLite3 database integration.
- 🖥️ Graphical User Interface (GUI) with Tkinter
- 📄 PDF invoice generation from Word templates
- 📦 Client database management (JSON storage)
- 🪄 Local database to store all invoices (SQLite3)
- 🔢 Automatic calculations (taxes, totals)
- 🆔 Smart invoice ID generation
- 📁 Automatic filename suggestions
- 📱 Responsive UI with modern design
- 🔄 Real-time service calculations
- Python 3.6+
- Clone the repository
git clone https://github.com/danitrrga/invoice-maker.git cd invoice-maker - Install required libraries
pip install python-docx docx2pdf gspread oauth2client ctkinter tkinter-ttk
- JSON Data Storage
- Client Database (clients.json)
- Automatically created and maintained by the application:
[ { "id": "CLT-231015-A3B", "name": "John Doe", "email": "john@example.com", "phone": "+1234567890", "address": "123 Client St, City, Country" } ]
- Configuration Variables
- Update your preferences in the ⚙️ window
- Change the path to your template file (invoice_template.docx)
- Put the details of your business
- Save changes with "Save" button
-
Run the application
python main.py
-
Manage clients
- Add new clients with "New" button
- Edit existing clients with "Edit" button
- Select clients from dropdown
-
Generate invoices
- Enter service details (minimum 1 service required)
- Add payment information
- Click "Generate Invoice"
- Choose save location (PDF suggested with invoice ID)
Create invoice_template.docx with these exact placeholders:
[invoice_id] [date_time]
[client_name] [client_email] [client_phone] [client_adress]
[business_name] [business_email] [business_phone] [business_adress]
Services Table:
[service1] [s1num] [s1pri] [s1sum]
[service2] [s2num] [s2pri] [s2sum]
...
[service6] [s6num] [s6pri] [s6sum]
Tax Section:
[tax_%] [iva] [total_iva]
Payment Details:
[payment_method] [payment_entity] [payment_name] [payment_number]
Thanks for using my code!🤗