Inventory Managment System Python Mysql Code
Inventory Managment System Python Mysql Code
Inventory Managment System Python Mysql Code
in
YouTube: www.youtube.com/c/techtipnow
DATABASE DESIGN-
Item
INAME VARCHAR
PRATE FLOAT
SRATE FLOAT
QOH INT
CUSTOMER
CADD VARCHAR
MOBILE CHAR(10)
SUPPLIER
SADD VARCHAR
MOBILE CHAR(10)
SMASTER
TOTAL FLOAT
1
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
SDETAILS
QTY INT
RATE FLOAT
TOTAL FLOAT
PMASTER
TOTAL FLOAT
PDETAILS
QTY INT
RATE FLOAT
TOTAL FLOAT
CODE-
‘MAIN’ MODULE-
import item
import customer
import supplier
import transaction
import report
import os
2
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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()
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()
3
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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:
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:
4
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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
‘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.cursor()
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))
5
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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():
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")
6
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
‘CUSTOMER’ 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_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))
7
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
con.commit()
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():
8
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
‘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:
9
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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))
10
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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()
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:
‘REPORT’ MODULE-
11
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
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 year(sdate) = '{}'\
and group by month(sdate);".format(y)
df = pd.read_sql(q,con)
12
Website: www.techtipnow.in
YouTube: www.youtube.com/c/techtipnow
plt.plot(df.month,df.total)
plt.xlabel("Month")
plt.ylabel("Total Sale")
plt.xticks(df.month)
plt.show()
13