Skip to content

mbogucki-dev/Python-Tax-Calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

UK Self-Employed Tax & National Insurance Calculator

This is a Python desktop application built as part of my Computer Science degree at Liverpool Hope University. It serves as a practical tool for self-employed individuals in the UK to estimate their annual tax and National Insurance contributions.

This project was submitted for the Python Programming coursework module and received a final grade of A+ (84%).

Key Features

GUI Interface Built using Python's native Tkinter library for a simple and user-friendly experience. Accurate Tax Logic Calculates Income Tax based on official government rates. Calculates Class 2 and Class 4 National Insurance contributions. Supports multiple tax years (2024-2025, 2023-2024, 2022-2023) by loading rates from a separate configuration file. Additional Features Includes logic for Simplified Vehicle Expenses (flat rate per mile). Applies the Marriage Allowance tax reduction. Data Visualisation Uses Matplotlib to generate a pie chart showing the breakdown of gross income (Net Take-Home, Tax, NI, and Expenses).

Project Structure

The application is split into two main files, following the Separation of Concerns principle

  1. uk_self_employed_tax_calculator.py Contains all application logic, including the TaxLogic class for calculations and the TaxCalculatorApp class for the GUI.
  2. tax_year_configuration.py A separate data file that stores all tax rates and thresholds. This allows for easy updates to future tax years without changing the core application code.

How to Run

  1. Ensure you have Python 3 and the matplotlib library installed
    pip install matplotlib
    
  2. Run the main application file
    python uk_self_employed_tax_calculator.py
    

About

Python app to calculate UK self-employed tax.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages