Inventory Management
Inventory Management
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:
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
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
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