Invoice Maker is a Python tool for generating PDF invoices with stakeholder details and task information.
- Create professional-looking invoices with stakeholder information.
- Add tasks, quantities, unit prices, and calculate the total price.
- Generates a PDF invoice for easy sharing and printing.
- Python3
- ReportLab library
-
Clone the repository:
git clone https://github.com/your-username/InvoiceMaker.git cd InvoiceMaker -
Install the required dependencies:
pip install -r requirements.txt
-
Open the
main.pyfile. -
Customize the stakeholders' details and task information.
-
Run the script:
python main.py
-
Answer the questions prompted by the program
-
The PDF invoice will be generated and opened in your default PDF viewer.
- Modify the stakeholders' details and task information.
- Adjust the layout and appearance of the PDF by modifying the
PdfReportclass inreport.py.
The use of classes and objects facilitates:
- Code Reusability: Stakeholder and task details can be reused for multiple invoices.
- Maintainability: Changes to the invoice structure can be easily accommodated without extensive modifications
The codebase is organized into modular components:
main.py: Entry point of the application where stakeholders and tasks are defined.report.py: Contains thePdfReportclass responsible for generating the PDF invoice.models.py: Defines classes for stakeholders (PayerandPayee), tasks (Task), and bills (Bill).
Future development may include:
- User Interface: Adding a graphical user interface (GUI) for a more user-friendly experience.
- Database Integration: Storing and retrieving invoice data from a database.
Contributions to enhance the tool or add new features are welcome