Projects / Inventory Management System

Inventory Management System (Python CLI App)

Command-line tool to manage product inventory, generate bills with discounts, and create PDF receipts.

Python Project Duration: 1 Month Status: Completed

Project Overview

The Inventory Management System is a command-line based Python application designed to streamline inventory tracking and billing operations. It allows users to manage multiple product purchases, updates stock in real time, and applies automatic discounts on purchases over ₹5000.

The system leverages JSON for persistent data storage and FPDF for generating professional PDF receipts. It offers a simple yet effective solution for small-scale retailers or shop owners to manage sales efficiently without the need for complex interfaces.

Technologies Used

Core Language

Python

Data Handling

JSON File Handling

Libraries & Tools

FPDF (PDF Generation) Git Command Line Interface

Key Features

📦 Multi-Product Purchase

Allows selection and billing of multiple products in one transaction with real-time inventory updates.

💸 Discount Automation

Automatically applies a 10% discount on purchases above ₹5000 to incentivize larger sales.

🧾 PDF Receipt Generation

Generates clean, professional PDF receipts using the FPDF library after each transaction.

📁 Persistent Storage

Stores inventory data and transaction logs in JSON files to ensure data persistence.

🖥️ Command Line Interface

User-friendly CLI with clear prompts, validations, and streamlined input flow for quick operations.

📊 Sales Summary

Logs all transactions and can be extended to generate daily or monthly sales summaries.

My Role & Responsibilities

  • Solo Development: Designed and developed the complete command-line application from scratch.
  • Inventory Logic: Built logic to manage product stock, quantities, and real-time updates during transactions.
  • Billing System: Implemented accurate billing with conditional discount handling and total calculations.
  • PDF Integration: Used the FPDF library to generate formatted PDF receipts for each transaction.
  • Data Persistence: Managed product and transaction data using JSON and file handling techniques.
  • Testing & Optimization: Performed rigorous testing of input validations, discount logic, and receipt accuracy.

Challenges & Solutions

Challenge: Handling Multiple Product Purchases

Solution: Designed a robust logic structure using lists and dictionaries to handle multiple selections, track quantities, and update inventory dynamically during a single session.

Challenge: Implementing Conditional Discount Logic

Solution: Applied a discount rule (10% for purchases over ₹5000) using condition checks, while ensuring accurate total calculation and receipt reflection with rounded outputs.

Challenge: Generating PDF Receipts

Solution: Integrated the FPDF library and created a layout that mimics a standard retail receipt, including headers, product details, discounts, and totals—fully automated at the end of every transaction.