0% found this document useful (0 votes)
3 views

Inventory Management

The document contains source code for an Inventory Management System implemented in Python, which includes modules for managing items, customers, suppliers, transactions, and reports. The main module provides a command-line interface for users to perform various operations such as adding, editing, searching, and deleting items, customers, and suppliers, as well as processing transactions and generating reports. Each module interacts with a MySQL database to store and retrieve data, and includes functionalities for data visualization using matplotlib.

Uploaded by

puneet tiwari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Inventory Management

The document contains source code for an Inventory Management System implemented in Python, which includes modules for managing items, customers, suppliers, transactions, and reports. The main module provides a command-line interface for users to perform various operations such as adding, editing, searching, and deleting items, customers, and suppliers, as well as processing transactions and generating reports. Each module interacts with a MySQL database to store and retrieve data, and includes functionalities for data visualization using matplotlib.

Uploaded by

puneet tiwari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

SQL SOURCE

CODE

Page 1
Page 1
Page 1
PYTHON SOURCE CODE

 MAIN MODULE

import item
import customer
import supplier
import transaction
import report
import os
while(True):
os.system('cls') print("="*80) print("-"*80) print("\n\t\t\
tInventory Management System\n") print("-"*80)
print("="*80) print("\n\t\t\t\tEnter your choice\n\t\t\t\
t1.Items\n\t\t\t\
\t2.Customers\n\t\t\t\t3.Suppliers\
\n\t\t\t\t4.Transaction\n\t\t\t\t5.Report\n\t\t\t\t6.Exit")
ch=int(input()) if ch==1: while(True):
print("---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Add Item\n\t\t\t\t2.Edit Item\n\t\t\t\t3.Fix Rate\
\n\t\t\t\t4.Search Item\n\t\t\t\t5.Delete Item\n\t\t\t\t6.Exit")
ch=int(input()) if ch==1:
item.add_item()
elif ch==2:
item.edit_item()
elif ch==3:
item.fix_rate()
elif ch==4:
item.search_item()
elif ch==5:

item.delete_item()

Page 1
elif ch==6: break
elif ch==2:
while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Add customers\n\t\t\t\t2.Edit Customers\
\n\t\t\t\t3.Search Customers\n\t\t\t\t4.Delete Customers\n\t\t\t\t5.exit")
ch=int(input()) if ch==1:
customer.add_customer()
elif ch==2:
customer.edit_customer()
elif ch==3:
customer.search_customer()
elif ch==4:

customer.delete_customer()
elif ch==5: break elif
ch==3: while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Add Suppliers\n\t\t\t\t2.Edit Suppliers\
\n\t\t\t\t3.Search Suppliers\n\t\t\t\t4.Delete Suppliers\n\t\t\t\t5.exit")

ch=int(input())
if ch==1:
supplier.add_supplier()
elif ch==2:
supplier.edit_supplier()
elif ch==3:
supplier.search_supplier()
elif ch==4:

supplier.delete_supplier()
elif ch==5: break elif
ch==4: while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Sale\n\t\t\t\t2.Purchase\n\t\t\t\t3.exit")
ch=int(input()) if ch==1:
transaction.sale()
elif ch==2:

Page 1
transaction.purchase()
elif ch==3: break elif
ch==5: while(True):
print("\n---------------\nEnter your choice\n--------------\
\n\t\t\t\t1.Item Details\n\t\t\t\t2.Customer Details\
\n\t\t\t\t3.Supplier Details\n\t\t\t\t4.Sale Details\n\
\t\t\t5.Purchase Details\n\t\t\t\t6.Best Selling Product(Plot)\
\n\t\t\t\t7.Sale Performance(Plot)\n\t\t\t\t8.exit")
ch=int(input()) if ch==1:
report.show_item()
elif ch==2:
report.show_customer()
elif ch==3:
report.show_supplier()
elif ch==4:
report.show_sale()
elif ch==5:
report.show_purchase()
elif ch==6:
report.best_product()
elif ch==7:

report.sale_performance()
elif ch==8: break elif
ch==6: break

Page 1
 ITEM MODULE
import pandas as pd from tabulate import tabulate import mysql.connector
as sqlt import matplotlib.pyplot as plt con=sqlt.connect(host = "localhost",
user = "root", passwd="sanjay", database =
"inventory")
cursor=con.curs
or() def
add_item():
try:
ino = int(input("Enter Item No")) iname = input("Enter
Iname") prate=float(input("Enter Purchase Rate"))
srate=float(input("enter Sale Rate")) qoh=int(input("Enter Qty
On Hand")) q="insert into item values({},'{}',{},{},
{});".format(ino,iname,prate,srate,qoh) cursor.execute(q)
con.commit() print("Item Added") except:
print("Wrong Entry..Please
check") def edit_item(): try:
ino=int(input("Enter Item No"))
q="select * from item where ino =
{};".format(ino) cursor.execute(q) if
cursor.fetchone():
iname=input("Enter Item Name") cursor.execute("update
item set iname = '{}' where ino={};".format(iname,ino))
con.commit() print("item Edited") else:
print("Item Not Found")
except:
print("Wrong Entry")
def fix_rate():
ino=int(input("Enter Item No"))
q="select * from item where ino =
{};".format(ino) cursor.execute(q) if
cursor.fetchone():

Page 1
prate=int(input("enter new purchase rate"))
srate=int(input("Enter new Sale rate"))
cursor.execute("update item set prate={},srate={} where
ino={};".format(prate,srate,ino))
con.commit()
print("New rate applied")
else:
print("Item Not
Found") def search_item():
ino=int(input("Enter Item No"))
q="select * from item where ino =
{};".format(ino) cursor.execute(q) if
cursor.fetchone():
df=pd.read_sql(q,con) print(tabulate(df,headers="keys",
tablefmt = "psql", showindex = False)) else:
print("Item Not
Found") def delete_item():
ino=int(input("Enter Item No"))
q="select * from item where ino =
{};".format(ino) cursor.execute(q) if
cursor.fetchone():
cursor.execute("delete from item where
ino={};".format(ino)) con.commit()
print("item deleted") else:
print("Item Not Found")

Page 1
 CUSTOMER MODULE
import pandas as pd from tabulate import tabulate import mysql.connector as
sql import matplotlib.pyplot as plt con=sqlt.connect(host = "localhost", user =
"root", passwd="sanjay", database = "inventory") cursor=con.cursor() def
add_customer():
cid = int(input("Enter Customer ID")) cname = input("Enter
Customer Name") cadd=input("Enter Address")
mobile=input("Enter Mobile") q="insert into customer
values({},'{}','{}','{}');".format(cid,cname,cadd,mobile)
cursor.execute(q) con.commit() print("Customer Added") def
edit_customer():
cid=int(input("Enter Customer ID")) q="select
* from Customer where cid = {};".format(cid)
cursor.execute(q) if cursor.fetchone():
cadd=input("Enter Customer Address") cursor.execute("update
customer set cadd = '{}' where cid={};".format(cadd,cid))
con.commit() print("Customer Edited") else:
print("Customer Not
Found") def
search_customer():
cname=input("Enter Customer Name") q="select * from
customer where cname like '%{}%';".format(cname)
cursor.execute(q) if cursor.fetchall():
df=pd.read_sql(q,con)
print(tabulate(df,headers='keys',tablefmt='psql',showindex=False))
else:
print("Customer Not
found") def delete_customer():
cid=int(input("Enter Customer ID"))
q="select * from customer where cid =
{};".format(cid) cursor.execute(q) if
cursor.fetchone():
cursor.execute("delete from customer where cid={};".format(cid))
con.commit()

Page 1
print("customer deleted")
else:
print("customer Not
Found")

 SUPPLIER MODULE
import pandas as pd from tabulate import tabulate import mysql.connector as
sqlt import matplotlib.pyplot as plt con=sqlt.connect(host = "localhost", user =
"root", passwd="sanjay", database = "inventory") cursor=con.cursor() def
add_supplier():
sid = int(input("Enter Supplier ID")) sname = input("Enter
Supplier Name") sadd=input("Enter Address")
mobile=input("Enter Mobile") q="insert into supplier
values({},'{}','{}','{}');".format(sid,sname,sadd,mobile)
cursor.execute(q) con.commit() print("Supplier Added") def
edit_supplier():
sid=int(input("Enter Supplier ID")) q="select
* from Supplier where sid = {};".format(sid)
cursor.execute(q) if cursor.fetchone():
sadd=input("Enter Supplier Address") cursor.execute("update
Supplier set sadd = '{}' where sid={};".format(sadd,sid)) con.commit()
print("Supplier Edited") else:
print("Supplier Not
Found") def search_supplier():
sid=int(input("Enter Supplier ID")) q="select
* from Supplier where sid = {};".format(sid)
cursor.execute(q) if cursor.fetchone():
df=pd.read_sql(q,con) print(tabulate(df,headers="keys",
tablefmt = "psql", showindex = False)) else:
print("Supplier Not
Found") def delete_supplier():
sid=int(input("Enter Supplier ID")) q="select
* from Supplier where sid = {};".format(sid)
cursor.execute(q) if cursor.fetchone():
cursor.execute("delete from Supplier where
sid={};".format(sid)) con.commit() print("Supplier
deleted") else:

Page 1
print("Supplier Not
Found")

 TRANSACTION MODULE
import pandas as pd from tabulate import tabulate import mysql.connector as sqlt
import matplotlib.pyplot as plt con=sqlt.connect(host = "localhost", user = "root",
passwd="sanjay", database =
"inventory")
cursor=con.cursor()
def purchase():
pid=0
total=0
grand=0
l=[] ch='y' q="select max(pid) as
largest from pmaster" cursor.execute(q)
r=cursor.fetchone()[0] if r:
pid=r+1
else:
pid=1
pdate=input("Enter Purchase date") sid = int(input("Enter
Supplier ID")) cursor.execute("select * from supplier where
sid={};".format(sid)) if cursor.fetchone():
print("Item Details") df=pd.read_sql("select * from
item",con)
print(tabulate(df,headers='keys',tablefmt='psql',showindex=False))
while(ch=='y'):
ino=int(input("Enter Item No"))
cursor.execute("select * from item where ino ={};".format(ino))
r1=cursor.fetchone() if r1:
qty = int(input("Enter qty"))
rate=r1[2] total=qty*rate
grand=grand+total
t=(pid,ino,qty,rate,total)
l.append(t) else:
print("Item Not Found") ch=input("Do you wish to add
more Items in bucket y/n") q1="insert into pmaster values({},'{}',{},
{});".format(pid,pdate,sid,grand) cursor.execute(q1)

Page 1
con.commit() q2="insert into pdetail values(%s,%s,%s,%s,%s);"
cursor.executemany(q2,l) con.commit() cursor.executemany("insert
into ptemp values(%s,%s,%s,%s,%s);",l) con.commit() q3="update
item join ptemp using(ino) set item.qoh = item.qoh+ptemp.qty"
cursor.execute(q3) con.commit() cursor.execute("delete from
ptemp") con.commit() print("Item Purchased and Added") else:

print("Supplier Not Found")

def sale():
saleid=0
total=0
grand=0
l=[] ch='y' q="select max(saleid) as
largest from smaster" cursor.execute(q)
r=cursor.fetchone()[0] if r:
saleid=r+1
else:
saleid=1 sdate=input("Enter Sale date") sid =
int(input("Enter Supplier ID")) cursor.execute("select * from
supplier where sid={};".format(sid)) if cursor.fetchone():
print("Item Details") df=pd.read_sql("select * from
item",con)
print(tabulate(df,headers='keys',tablefmt='psql',showindex=False))
while(ch=='y'):
ino=int(input("Enter Item No"))
cursor.execute("select * from item where ino ={};".format(ino))
r1=cursor.fetchone() if r1:
qty = int(input("Enter qty"))
rate=r1[2] total=qty*rate
grand=grand+total
t=(saleid,ino,qty,rate,total)
l.append(t) else:
print("Item Not Found") ch=input("Do you wish to add more
Items in bucket y/n") q1="insert into smaster values({},'{}',{},
{});".format(saleid,sdate,sid,grand) cursor.execute(q1)
con.commit() q2="insert into sdetail values(%s,%s,%s,%s,%s);"
cursor.executemany(q2,l) con.commit()

Page 1
cursor.executemany("insert into stemp values(%s,%s,%s,%s,%s);",l)
con.commit() q3="update item join stemp using(ino) set item.qoh =
item.qoh-stemp.qty" cursor.execute(q3) con.commit()
cursor.execute("delete from stemp") con.commit() print("Item
Purchased and Added") else:
print("Supplier Not Found")
 REPORT MODULE
import mysql.connector as sqlt
import pandas as pd from tabulate
import tabulate

con = sqlt.connect(host = "localhost", user = "root", passwd = "sanjay", database =


"library") cursor =
con.cursor() def
show_item():
df=pd.read_sql("select * from item",con) print(tabulate(df,headers= 'keys',
tablefmt='psql',showindex = False)) def show_customer():
df=pd.read_sql("select * from customer",con) print(tabulate(df,headers=
'keys', tablefmt='psql',showindex = False)) def show_supplier():
df=pd.read_sql("select * from supplier",con) print(tabulate(df,headers=
'keys', tablefmt='psql',showindex = False)) def show_sale():
bdate=input("enter beginning date") edate=input("enter end
date")
df=pd.read_sql("select * from smaster where sdate between '{}' and
'{}';".format(bdate,edate),con) print(tabulate(df,headers= 'keys',
tablefmt='psql',showindex = False)) def show_purchase():
bdate=input("enter beginning date") edate=input("enter end
date")

df=pd.read_sql("select * from pmaster where pdate between '{}' and


'{}';".format(bdate,edate),con) print(tabulate(df,headers= 'keys',
tablefmt='psql',showindex = False)) def best_product():
s=input("Enter Start date") e=input("Enter End Date") q="select
s2.ino,sum(s2.qty) as total from smaster s1,sdetail s2 \ where s1.saleid =
s2.saleid and s1.sdate between '{}' and '{}'\ group by s2.ino;".format(s,e)
df=pd.read_sql(q,con) print(tabulate(df, headers='keys', tablefmt = 'psql',
showindex=False)) plt.bar(df.ino,df.total) plt.xlabel("Item Code")
plt.ylabel("Qty") plt.title("Best Selling Product") plt.xticks(df.ino) plt.show()
def sale_performance():
y=input("Enter Year") q="select month(sdate) as
month,sum(total)\ as total from smaster where

Page 1
year(sdate) = '{}'\ and group by
month(sdate);".format(y) df = pd.read_sql(q,con)

plt.plot(df.month,df.total)
plt.xlabel("Month")
plt.ylabel("Total Sale")
plt.xticks(df.month) plt.show()

PROGRAM OUTPUT

Page 1
 ITEM

Page 1
 ADD ITEM

Page 1
EDIT ITEM

UPDATE RATE OF ITEM

Page 1
SEARCH ITEM

DELETE ITEM

Page 1
CUSTOMER MODULE

SUPPLIER MODULE

Page 1
TRANSACTION MODULE

Page 1
REPORT MODULE

Page 1
SALE MODULE

Page 1
DATA ANALYSIS

Page 1
BEST SELLING PRODUCT

Page 1

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy