Cs Project Billing Management Software

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

A Project Report

on
bill payment SYSTEM

Submitted By:
Name:Divyanshu Shakya
Class: XII A
Roll No-

Under the Guidance of


Mr. Ashok Uttam
PGT (Computer Science)
KendriyaVidyalaya No.2,armapur

External Examiner
CERTIFICATE

This is to certify that Divyanshu Shakya of class


XIIA,has prepared the report on the project
entitled “Bill payment System”. The
report is the result of his effort and
endeavors. The report is found worthy of
acceptance as final project report for the
subject of Computer Science of class XII
under the CBSE curriculum 2019-20. He has
prepared the report under my guidance.

Ashok Uttam
PGT(Computer Science)
K. V. No-2 Armapur
DECLARATION

I hereby declare that the project work entitled ‘bill


payment System’ submitted to Department of
Computer Science, KV No-2 Armapur, Kanpur is
prepared by me. All the coding and Project report is
result of my personal effort.

Name:divyanshushakya
Class: XIIA
Roll No:11
ACKNOWLEDGEMENT

I would like to express a deep sense of thanks &gratitude


to myproject guide Mr. Ashok UttamSir, for guiding me
immensely through thecourse of the project. He always
evinced keen interest in my work. Hisconstructive advice
&constant motivation have been responsible for thesuccessful
completion of this project.
My sincere thanks go to Shri M MKatiyar,Our principal
Sir, for hisco-ordination in extending every possible support
and IT infrastructure for the completion ofthis project.
Ialso thanks to my parents for their motivation &support.
Imustthanks to my classmates for their timely help &support
for compilationof this project.
Last but not the least, I would like to thank all those who
hadhelped directly or indirectly towards the completion of this
project.

Name: Divyanshu Shakya


Class: XII-A
ABOUT PROJECT

This Restaurant Bill Calculator design is written in


Python. The project record includes a python script
(login.py, question.py, and others). This is a easy GUI
based statement which is very simple to agree and
manage. It uses Tkinter module for the GUI. Speaking
about the application, the user just has to decide among
the food and liquids items, enter the amount and click
on the complete button to see the whole amount. This
easy application also represents the whole prices of
each item without any charge and extra costs.
Next working the program, the user has to login by
providing the username and pin number. Then the
system requires whether to continue to the application
or exchange the amount of foods. The user can see the
total receipt of their things which represents receipt
number and number of their food/liquids items with the
total price. Here, the total charge of the customer
includes tax and duty charges too. In order to improve
the price of foods, the user just has to insert the amount
and click on the update button, it’ll improve that special
item’s cost.
OBJECTIVE OF PROJECT

The project that wehave undertaken aims to develop a


billing system that is clean, user-friendly and multi-functional.
Development of this applicationincludes a number offields
such that user feels comfortable and the systemappears as
dynamic to him.
The project "bill payment System" includes the
followingfunctionalities:
 Customer can register themselves online and can edit
their profile.
 All products or items are stored in database created in
mySQL.
 We can search item details with itemno.
 Add and maintain new entered category of items
 Provides a convenient solution of billing pattern
 Make an easy to use environment for users and customer
 This project intends to introduce more user friendliness
in the various activities such as record updating and
searching.
REQUIREMENT AND ANALYSIS

The application ‘bill payment System’ being a small,

portable and having good GUI, A computer system should

have the combination of following hardware and software-

1. Hardware Requirement:

 intel I3 Processor

 Minimum 2 GB RAM

 Atleast 500GB HDD

2. Software Requirement:

 Windows 7/8/10 OS

 Python 3.X IDLE

 Mysql

 Tkinter module
A BRIEF INTRODUCTION OF PYTHON

Python is a widely used general-purpose, high-level programming


language. It was initially designed by Guido van Rossum in 1991
and developed by Python Software Foundation. It was mainly
developed for emphasis on code readability, and its syntax allows
programmers to express concepts in fewer lines of code.
 Python laid its foundation in the late 1980s.
 The implementation of Python was started in the
December 1989 by Guido Van Rossum at CWI in
Netherland.
 In 1994, Python 1.0 was released with new features
like: lambda, map, filter, and reduce.
 Python 2.0 added new features like: list
comprehensions, garbage collection system.
 On December 3, 2008, Python 3.0 (also called "Py3K")
was released. It was designed to rectify fundamental
flaw of the language.
 ABC programming language is said to be the
predecessor of Python language which was capable of
Exception Handling and interfacing with Amoeba
Operating System.
 Python is influenced by following programming
languages
A BRIEF INTRODUCTION OF MYSQL

MySQL was created by a Swedish company, MySQL AB, founded by


David Axmark, Allan Larsson and Michael "Monty" Widenius in 1995.
MySQL Features:

o Relational Database Management System (RDBMS): MySQL is


a relational database management system.
o Easy to use: MySQL is easy to use. You have to get only the
basic knowledge of SQL. You can build and interact with MySQL
with only a few simple SQL statements.
o It is secure: MySQL consist of a solid data security layer that
protects sensitive data from intruders. Passwords are encrypted in
MySQL.
o Client/ Server Architecture: MySQL follows a client /server
architecture. There is a database server (MySQL) and arbitrarily
many clients (application programs), which communicate with the
server; that is, they query data, save changes, etc.
o Free to download: MySQL is free to use and you can download it
from MySQL official website.
o It is scalable: MySQL can handle almost any amount of data, up
to as much as 50 million rows or more. The default file size limit is
about 4 GB. However, you can increase this number to a
theoretical limit of 8 TB of data.
o Compatible on many operating systems: MySQL is compatible
to run on many operating systems, like Novell NetWare, Windows*
Linux*, many varieties of UNIX* (such as Sun* Solaris*, AIX, and
DEC* UNIX), OS/2, FreeBSD*, and others. MySQL also provides a
facility that the clients can run on the same computer as the server
or on another computer (communication via a local network or the
Internet).
o Allows roll-back: MySQL allows transactions to be rolled back,
commit and crash recovery.
o High Performance: MySQL is faster, more reliable and cheaper
because of its unique storage engine architecture.
o High Flexibility: MySQL supports a large number of embedded
applications which makes MySQL very flexible.

o High Productivity: MySQL uses Triggers, Stored


procedures and views which allows the developer to give a
higher productivity.
A BRIEF INTRODUCTION TKINTER MODULE

Graphical User Interface (GUI) is nothing but a desktop application


which helps you to interact with the computers. They are used to
perform different tasks in the desktops, laptops and other electronic
devices.

 GUI apps like Text-Editors are used to create, read, update and
delete different types of files.

 GUI apps like Sudoku, Chess and Solitaire are games which you
can play.

 GUI apps like Google Chrome, Firefox and Microsoft Edge are
used to browse through the Internet.

They are some different types of GUI apps which we daily use on the
laptops or desktops.

Python has a plethora of libraries and these 4 stands out mainly when it
comes to GUI. There are as follows:

 Kivy
 Python QT
 wxPython
 Tkinter

Tkinter is actually an inbuilt Python module used to create


simple GUI apps. It is the most commonly used module for GUI apps in
the Python.
DATABASE STRUCTURE
(RDBMS)

database name: bill_payment


Table name: price
Create table price (itemnoint(20) primarykey , itemname
varchar(20) , price int(20) , type varchar(20) ) ;
PYTHON CODING
#######login page######
fromtkinter import*
importtkinter.messagebox
root1 = Tk()
root1.geometry("1300x700+0+0")
root1.title("Login Page")
root1.configure(bg='orange red')

Label(root1,text="HARSHIT & DIVYANSHU


RESTAURANT",fg='white',bg='orange red',font=' algerian 40
bold italic',width=40).place(x=10,y=20)
a1=StringVar()
a2=StringVar()
def enter():
if a1.get() == "divyanshu" or "harshit" and a2.get() ==
"1234":
root1.destroy()
import questions
else:
tkinter.messagebox.showinfo('Error','Authentication
Failed')
a1.set("")
a2.set("")
def clear():
a1.set('')
a2.set('')
def close():
root1.destroy()
Label(root1,text='USER ID',fg='white',bg='orange
red',font='andalus 40 ').place(x=70,y=160)
Label(root1,text="PASSWORD",fg='white',bg='orange
red',font='andalus 40 ').place(x=70,y=270)

Entry(root1,bd=10,textvariable=a1,fg='mediumblue',font='pa
pyrus 25').place(x=450,y=170)
Entry(root1,bd=10,textvariable=a2,fg='mediumblue',font='pa
pyrus 25',show='*').place(x=450,y=280)
Button(root1,bd=10,width=8,text='ENTER',command=enter,fg
='yellow',bg='mediumblue',font='forte 20 ').place(x=70,y=430)
Button(root1,bd=10,width=8,text="CLEAR",command=clear,fg
='yellow',bg='mediumblue',font='forte
20').place(x=320,y=430)
Button(root1,bd=10,width=8,text='EXIT',command=close,fg='y
ellow',bg='mediumblue',font='forte 20').place(x=590,y=430)
#####label for tagline###########
Label(root1,text='BE',fg='maroon2',bg='cyan',font='chiller 50
bold').place(x=10,y=700)
Label(root1,text='SURE',fg='maroon2',bg='cyan',font='chiller
70 bold').place(x=640,y=700)
Label(root1,text='BUY',fg='maroon2',bg='cyan',font='chiller 60
bold').place(x=670,y=700)
Label(root1,text='PURE!!!',fg='maroon2',bg='cyan',font='chille
r 70 bold').place(x=650,y=780)

Label(root1,text='Developed
by:\nHARSHIT&DIVYANSHU\nKV2
Armapur',bg='red',fg='yellow',font='arial 20 bold
italic').place(x=910,y=550)
#####question page#####
fromtkinter import *
fromtkinter import messagebox
root2=Tk()
root2.geometry('1100x800')
root2.title("Menu")
root2.configure(bg='orange red')
def enter1():
root2.destroy()
importbill_payment_systen
def enter2():
root2.destroy()
import update

Label(root2,text='YOU WANT TO --->',fg='black',bg='orange


red',font='algerian 50 italic').place(x=30,y=70)
Label(root2,text='BILL',fg='blue',bg='orange red',font='forte
40 bold ').place(x=150,y=200)
Label(root2,text='CHANGE PRICES',fg='blue',bg='orange
red',font='forte 40 bold ').place(x=70,y=300)
Button(root2,text='press here',fg='red',bg='bisque',font='forte
20 bold',bd=8,command=enter1).place(x=600,y=200)
Button(root2,text='press
here',fg='green',bg='bisque',font='forte 20
bold',bd=10,command=enter2).place(x=600,y=300)
Label(root2,text='BE',fg='yellow',bg='orange
red',font='andalus 50 bold').place(x=50,y=500)
Label(root2,text='SURE',fg='yellow',bg='orange
red',font='andalus 50 bold').place(x=170,y=500)
Label(root2,text='BUY',fg='yellow',bg='orange
red',font='andalus 50 bold').place(x=360,y=500)
Label(root2,text='PURE!!!',fg='yellow',bg='orange
red',font='andalus 50 bold').place(x=550,y=500)
#####update page#####
fromtkinter import *
fromtkinter import messagebox
import time
importmysql.connector

db=mysql.connector.connect(host='localhost',
user='root',
password='',
database='bill_payment'
)
my_cur=db.cursor()
root5=Tk()
root5.title('update values')
root5.geometry('730x700')
root5.configure(bg='red')
v1=StringVar()
v2=StringVar()
v3=StringVar()
v4=StringVar()

def clear():
v1.set('')
v2.set('')
v3.set('')
v4.set('')

def search():
item_no=v1.get()

my_cur.execute('select itemname,price,type from price


where itemno=%s',(item_no,))
rec=my_cur.fetchall()
v2.set(rec[0][0])
v3.set(rec[0][1])
v4.set(rec[0][2])

def update():
item_no=v1.get()
item_name=v2.get()
item_pri=v3.get()
item_type=v4.get()
my_cur.execute('update price set
itemname=%s,price=%s,type=%s where
itemno=%s',(item_name,item_pri,item_type,int(item_no)))
db.commit()
messagebox.showinfo('congarats','recoard updated')

def delete():
item_no=v1.get()
item_name=v2.get()
item_pri=v3.get()
item_type=v4.get()
v1.set('')
v2.set('')
v3.set('')
v4.set('')
my_cur.execute('delete from price where
itemno=%s',(item_no,))
db.commit()
messagebox.showinfo('congarats','recoard deleted')

def submit():
item_no=v1.get()
item_name=v2.get()
item_pri=v3.get()
item_type=v4.get()
my_cur.execute('insert into
price(itemno,itemname,price,type)
values(%s,%s,%s,%s)',(int(item_no),item_name,int(item_pri),i
tem_type))
db.commit()
messagebox.showinfo('congarats','recoard submitted')
def back():
root5.destroy()
import questions

def enter():
root5.destroy()
importbill_payment_systen
##### creating label of title and time ###

Label(root5,text='UPDATE
RECORD',fg='black',bg='red',font='algerian 50 bold
italic',width=15).place(x=50,y=20)
local_time = time.asctime(time.localtime(time.time()))
Label(root5, font = 'arial 20 bold', text = local_time, fg =
"black", bd = 10,bg='red', anchor = 'w').place(x=100,y=100)
Label(root5,text='ITEM_NO',fg='black',bg='red',font='arial 25
bold italic').place(x=30,y=190)
Label(root5,text='ITEM_NAME',fg='black',bg='red',font='arial
25 bold italic').place(x=30,y=260)
Label(root5,text='PRICE',fg='black',bg='red',font='arial 25
bold italic').place(x=30,y=330)
Label(root5,text='TYPE',fg='black',bg='red',font='arial 25 bold
italic').place(x=30,y=400)

Entry(root5,textvariable=v1,bd=10,width=20,font='arial 20
bold italic').place(x=350,y=180)
Entry(root5,textvariable=v2,bd=10,width=20,font='arial 20
bold italic').place(x=350,y=250)
Entry(root5,textvariable=v3,bd=10,width=20,font='arial 20
bold italic').place(x=350,y=320)
Entry(root5,textvariable=v4,bd=10,width=20,font='arial 20
bold italic').place(x=350,y=390)

Button(root5,text='SEARCH',fg='black',bg='linen',bd=10,font=
'arial 14 bold',command=search).place(x=30,y=500)
Button(root5,text='UPDATE',fg='black',bg='linen',bd=10,font=
'arial 14 bold',command=update).place(x=190,y=500)
Button(root5,text='DELETE',fg='black',bg='linen',bd=10,font='
arial 14 bold',command=delete).place(x=350,y=500)
Button(root5,text='CLEAR',fg='black',bg='linen',bd=10,font='a
rial 14 bold',command=clear).place(x=520,y=500)
Button(root5,text='SUBMIT',fg='black',bg='linen',bd=10,font=
'arial 14 bold',command=submit).place(x=120,y=600)
Button(root5,text='BACK',fg='black',bg='linen',bd=10,font='ar
ial 14 bold',command=back).place(x=300,y=600)
Button(root5,text='BILL',fg='black',bg='linen',bd=10,font='aria
l 14 bold',command=enter).place(x=450,y=600)
#####Billing page#####
fromtkinter import*
importtkinter.messagebox
import time
import random
importmysql.connector

db=mysql.connector.connect(host='localhost',
user='root',
password='',
database='bill_payment'
)
my_cur=db.cursor()

root = Tk()
root.geometry("1600x800+0+0")
root.title("bill payment system")
root.configure(bg='salmon1')
##### creating label of title and time ###

Label(root, font = 'algerian 50 bold', text ="BILL PAYMENT", fg


= "blue2",bg='salmon1', bd = 10, anchor =
'w').place(x=350,y=10)
local_time = time.asctime(time.localtime(time.time()))
Label(root, font = 'andalus 20 bold', text = local_time, fg =
"blue", bd = 10,bg='salmon1', anchor = 'w').place(x=420,y=80)

#rand = StringVar()
v1= StringVar()
v2 = StringVar()
v3 = StringVar()
v4 = StringVar()
v5 = StringVar()
v6 = StringVar()
v7 = StringVar()
v8 = StringVar()
v9 = StringVar()
v10 = StringVar()
v11 = StringVar()
v12=StringVar()
v13=StringVar()
v14=StringVar()
v15=StringVar()

############
a1= StringVar()
a2 = StringVar()
a3 = StringVar()
a4 = StringVar()
a5 = StringVar()
a6 = StringVar()
a7 = StringVar()
a8 = StringVar()
a9 = StringVar()
a10 = StringVar()

def price():
my_cur.execute('select price from price')
rec=my_cur.fetchall()
fries_p=rec[0][0]
a1.set(fries_p)
burger_p=rec[1][0]
a2.set(burger_p)
Sandwich_p=rec[2][0]
a3.set(Sandwich_p)
drinks_p=rec[3][0]
a4.set(drinks_p)
Tacos_p=rec[4][0]
a5.set(Tacos_p)
Pasta_p=rec[5][0]
a6.set(Pasta_p)
Pastries_p=rec[6][0]
a7.set(Pastries_p)
pizza_p=rec[7][0]
a8.set(pizza_p)
noodles_p=rec[8][0]
a9.set(noodles_p)
dosa_p=rec[9][0]
a10.set(dosa_p)

v1.set('0')
v2.set('0')
v3.set('0')
v4.set('0')
v5.set('0')
v6.set('0')
v7.set('0')
v8.set('0')
v9.set('0')
v10.set('0')

def total():
fries_q = v1.get()
burger_q = v2.get()
Sandwich_q = v3.get()
drinks_q = v4.get()
Tacos_q = v5.get()
Pasta_q = v6.get()
Pastries_q = v7.get()
pizza_q = v8.get()
noodles_q = v9.get()
dosa_q=v10.get()
tax_q=v11.get()
total_q=v12.get()
my_cur.execute('select price from price')
rec=my_cur.fetchall()

fries_p=rec[0][0]
burger_p=rec[1][0]
Sandwich_p=rec[2][0]
drinks_p=rec[3][0]
Tacos_p=rec[4][0]
Pasta_p=rec[5][0]
Pastries_p=rec[6][0]
pizza_p=rec[7][0]
noodles_p=rec[8][0]
dosa_p=rec[9][0]
t1=int(fries_q)*int(fries_p)
t2=int(burger_q)*int(burger_p)
t3=int(Sandwich_q)*int(Sandwich_p)
t4=int(drinks_q)*int(drinks_p)
t5=int(Tacos_q)*int(Tacos_p)
t6=int(Pasta_q)*int(Pasta_p)
t7=int(Pastries_q)*int(Pastries_p)
t8=int(pizza_q)*int(pizza_p)
t9=int(noodles_q)*int(noodles_p)
t10=int(dosa_q)*int(dosa_p)
tot=t1+t2+t3+t4+t5+t6+t7+t8+t9+t10
v13.set(str(tot))

gst=(tot)*0.18
v14.set(str(gst))
net=int(gst)+int(tot)
v15.set(str(net))

x=random.randint(23133,33344)
random_total=str(x)
v11.set(random_total)
defqexit():
root.destroy()

def reset():
v1.set("")
v2.set("")
v3.set("")
v4.set("")
v5.set("")
v6.set("")
v7.set("")
v8.set("")
v9.set("")
v10.set("")
v11.set("")
v12.set("")
v13.set("")
v14.set("")
v15.set("")

Label(root, font=('arial',16,'bold'),text = "Order No",


bg='salmon1',bd = 16, anchor = 'w').place(x=880,y=250)
Label(root, font=('arial',16,'bold'),text = "Fries",bg='salmon1',
bd = 16, anchor = 'w' ).place(x=10,y=250)
Label(root, font=('arial',16,'bold'),text = "Burger",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=10,y=300)
Label(root, font=('arial',16,'bold'),text = "Sandwich",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=10,y=350)
Label(root, font=('arial',16,'bold'),text = "Drinks",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=10,y=400)
Label(root, font=('arial',16,'bold'),text = "Tacos",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=10,y=450)
Label(root, font=('arial',16,'bold'),text = "Pasta",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=450,y=250)
Label(root, font=('arial',16,'bold'),text =
"Pastries",bg='salmon1', bd = 16, anchor = 'w'
).place(x=450,y=300)
Label(root, font=('arial',16,'bold'),text = "Pizza",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=450,y=350)
Label(root, font=('arial',16,'bold'),text = "Noodles",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=450,y=400)
Label(root, font=('arial',16,'bold'),text = "Dosa",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=450,y=450)
Label(root, font=('arial',16,'bold'),text = "Customer
name",bg='salmon1', bd = 16, anchor = 'w'
).place(x=880,y=300)
Label(root, font=('arial',16,'bold'),text = "Total Amount",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=880,y=350)
Label(root, font=('arial',16,'bold'),text = "GST",
bg='salmon1',bd = 16, anchor = 'w' ).place(x=880,y=400)
Label(root, font=('arial',16,'bold'),text = "Net
Amount",bg='salmon1', bd = 16, anchor = 'w'
).place(x=880,y=450)

#labelingf for rate and quantity

Label(root, font=('arial',16,'bold'),text = "RATE",


bg='salmon1',bd = 16, anchor = 'w').place(x=140,y=170)
Label(root, font=('arial',16,'bold'),text = "QUANTITY",
bg='salmon1',bd = 16, anchor = 'w').place(x=260,y=170)
Label(root, font=('arial',16,'bold'),text = "RATE",
bg='salmon1',bd = 16, anchor = 'w').place(x=580,y=170)
Label(root, font=('arial',16,'bold'),text = "QUANTITY",
bg='salmon1',bd = 16, anchor = 'w').place(x=690,y=170)

#entry for price


Entry(root,font=('arial',16,'bold'), textvariable=a1, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=140,y=250)
Entry(root,font=('arial',16,'bold'), textvariable=a2, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=140,y=300)
Entry(root,font=('arial',16,'bold'), textvariable=a3, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=140,y=350)
Entry(root,font=('arial',16,'bold'), textvariable=a4, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=140,y=400)
Entry(root,font=('arial',16,'bold'), textvariable=a5, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=140,y=450)
Entry(root,font=('arial',16,'bold'), textvariable=a6, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=580,y=250)
Entry(root,font=('arial',16,'bold'), textvariable=a7, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=580,y=300)
Entry(root,font=('arial',16,'bold'), textvariable=a8, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=580,y=350)
Entry(root,font=('arial',16,'bold'), textvariable=a9, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=580,y=400)
Entry(root,font=('arial',16,'bold'), textvariable=a10, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=580,y=450)

#entry for quantity


Entry(root,font=('arial',16,'bold'), textvariable=v1, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=270,y=250)
Entry(root,font=('arial',16,'bold'), textvariable=v2, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=270,y=300)
Entry(root,font=('arial',16,'bold'), textvariable=v3, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=270,y=350)
Entry(root,font=('arial',16,'bold'), textvariable=v4, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=270,y=400)
Entry(root,font=('arial',16,'bold'), textvariable=v5, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=270,y=450)
Entry(root,font=('arial',16,'bold'), textvariable=v6, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=710,y=250)
Entry(root,font=('arial',16,'bold'), textvariable=v7, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=710,y=300)
Entry(root,font=('arial',16,'bold'), textvariable=v8, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=710,y=350)
Entry(root,font=('arial',16,'bold'), textvariable=v9, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=710,y=400)
Entry(root,font=('arial',16,'bold'), textvariable=v10, bd=10,
insertwidth =4,width=7,bg = "linen", justify
='right').place(x=710,y=450)
#####entry for gst& total #########
Entry(root,font=('arial',16,'bold'), textvariable=v11,bd=10,
insertwidth =4,width=18,bg = "linen", justify
='right').place(x=1070,y=250)
Entry(root,font=('arial',16,'bold'), textvariable=v12, bd=10,
insertwidth =4,width=18,bg = "linen", justify
='right').place(x=1070,y=300)
Entry(root,font=('arial',16,'bold'), textvariable=v13, bd=10,
insertwidth =4,width=18,bg = "linen", justify
='right').place(x=1070,y=350)
Entry(root,font=('arial',16,'bold'), textvariable=v14, bd=10,
insertwidth =4,width=18,bg = "linen", justify
='right').place(x=1070,y=400)
Entry(root,font=('arial',16,'bold'), textvariable=v15, bd=10,
insertwidth =4,width=18,bg = "linen", justify
='right').place(x=1070,y=450)

### right Frame Button ###########

Button(root,bd= 16,fg= "black", font=('arial',16,'bold'),


width=10, text= "Total",command=total, bg=
"aquamarine").place(x=100,y=550)
Button(root,bd= 16,fg= "black", font=('arial',16,'bold'),
width=10, text= "Price",command=price, bg=
"aquamarine").place(x=380,y=550)
Button(root,bd= 16,fg= "black", font=('arial',16,'bold'),
width=10, text= "Reset",command=reset, bg=
"aquamarine").place(x=690,y=550)
Button(root,bd= 16,fg= "black", font=('arial',16,'bold'),
width=10, text= "Exit",command=qexit, bg=
"aquamarine").place(x=1000,y=550)
root.mainloop()
OUTPUT

Login page

Question page
UPDATE PAGE
BILLING PAGE
CONCLUSION OF RESTAURANT
BILLING SYSTEM

Finally in restaurant billing system source


code, the outcome of all the time hard work is
here. We have a system which takes the
necessary choices of the customer according
to the various filter like price, category of the
food and popularity ,
then he is able to place the order accordingly
and then system calculate all the total of the
order with taxes and then it can dispatch the
bill that is handed over to customer.
Customer according to the choice pay bill via
cash or debit card or credit card method.
Hence all the process works perfect, full filling
the demands.
BIBLIOGRAPHY

The following books and websites have been referred during


project development-
Text Book: Computer Science with python by Sumita Arora
Websites:

 https://www.w3schools.com

 https://www.javatpoint.com

You might also like