The Restaurant Point of sales System is developed using python. The project is built to manage items and transactions. To make a new transaction, fields such as: Item and ingredients , qty and payment needs to be selected. If you like to learn point of sales systems step by step, this is the right place to learn from the beginning.
from tkinter import * from tkinter import ttk def pay(): totall = float(tot.cget("text")) pay = float(e11.get()) bal = pay - totall balText.set(bal) def selection(): selection = radio.get() selection1 = radio1.get() qty = int(e1.get()) if(selection==1): if(selection1 ==1): item = "Roll" inge = "veg" price = 50 tot = int(price * qty) tempList = [[item + " " + inge , price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection1 == 2): item = "Roll" inge = "chicken" price = 100 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection1 == 3): item = "Roll" inge = "Fish" price = 80 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection == 2): if (selection1 == 1): item = "Pasty" inge = "veg" price = 80 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection1 == 2): item = "Pasty" inge = "chicken" price = 90 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection1 == 3): item = "Pasty" inge = "Fish" price = 120 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection == 3): if (selection1 == 1): item = "Bun" inge = "veg" price = 60 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection1 == 2): item = "Bun" inge = "chicken" price = 70 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) elif (selection1 == 3): item = "Bun" inge = "Fish" price = 40 tot = int(price * qty) tempList = [[item + " " + inge, price, qty, tot]] tempList.sort(key=lambda e: e[1], reverse=True) for i, (item, price, qty, tot) in enumerate(tempList, start=1): listBox.insert("", "end", values=(item, price, qty, tot)) sum1 = 0.0 for child in listBox.get_children(): sum1 += float(listBox.item(child, 'values')[3]) totText.set(sum1) top = Tk() top.geometry("800x500") top.title("Restaurant Inventory System Python") radio = IntVar() radio1 = IntVar() global totText global balText totText = StringVar() balText = IntVar() R1 = Radiobutton(top, text="Roll", variable=radio, value=1) R1.pack(anchor=W) R1.place(x=10,y=10) R2 = Radiobutton(top, text="Pasty", variable=radio, value=2) R2.pack(anchor=W) R2.place(x=10,y=40) R3 = Radiobutton(top, text="Bun", variable=radio, value=3) R3.pack(anchor=W) R3.place(x=10,y=70) R4 = Radiobutton(top, text="Veg", variable=radio1, value=1) R4.pack(anchor=W) R4.place(x=80,y=10) R2 = Radiobutton(top, text="Chicken", variable=radio1, value=2) R2.pack(anchor=W) R2.place(x=80,y=40) R3 = Radiobutton(top, text="Fish", variable=radio1, value=3) R3.pack(anchor=W) R3.place(x=80,y=70) e1 = Entry(top) e1.place(x=80, y=100) Label(top, text="Qty").place(x=10, y=100) tot = Label(top, text="",font="arial 22 bold", textvariable=totText) tot.place(x=450, y=10) Button(top, text="Add",command = selection,height=3, width= 13).place(x=80, y=130) e11 = Entry(top) e11.place(x=450, y=50) e12 = Entry(top) balance = Label(top, text="",font="arial 22 bold", textvariable=balText).place(x=450, y=80) Button(top, text="PayNow",command = pay,height=3, width= 13).place(x=650, y=120) cols = ('item', 'price', 'qty','total') listBox = ttk.Treeview(top, columns=cols, show='headings') for col in cols: listBox.heading(col, text=col) listBox.grid(row=1, column=0, columnspan=2) listBox.place(x=10, y=220) top.mainloop()