Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated Invoice Generator

Python SQLite

A professional invoice generation system with GUI client management and SQLite3 database integration.

Features

  • 🖥️ 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

Installation

Prerequisites

  • Python 3.6+
  1. Clone the repository
    git clone https://github.com/danitrrga/invoice-maker.git
    cd invoice-maker
  2. Install required libraries
    pip install python-docx docx2pdf gspread oauth2client ctkinter tkinter-ttk
  3. 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"
        }
      ]
  4. 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

Usage

  1. Run the application

    python main.py
  2. Manage clients

    • Add new clients with "New" button
    • Edit existing clients with "Edit" button
    • Select clients from dropdown
  3. Generate invoices

    • Enter service details (minimum 1 service required)
    • Add payment information
    • Click "Generate Invoice"
    • Choose save location (PDF suggested with invoice ID)

Template Setup

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!🤗

About

A Python desktop application for creating and managing professional invoices with customizable templates and PDF export functionality using tkinter GUI and a local database with SQL

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages