0% found this document useful (0 votes)
17 views26 pages

Copy of Sales and inventory management System updated.docx - Google Docs

The document outlines a project on a Sales and Inventory Management System developed by A.S. Rahul Sathya for Class 12 Board Practical 2025. It includes a certification of the project's authenticity, acknowledgments, and detailed sections on the project's introduction, objectives, theoretical background, system implementation, and design. The software aims to automate grocery management, utilizing Python for the front-end and MySQL for the back-end, while highlighting its functionalities and limitations.

Uploaded by

nithishkumar3845
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)
17 views26 pages

Copy of Sales and inventory management System updated.docx - Google Docs

The document outlines a project on a Sales and Inventory Management System developed by A.S. Rahul Sathya for Class 12 Board Practical 2025. It includes a certification of the project's authenticity, acknowledgments, and detailed sections on the project's introduction, objectives, theoretical background, system implementation, and design. The software aims to automate grocery management, utilizing Python for the front-end and MySQL for the back-end, while highlighting its functionalities and limitations.

Uploaded by

nithishkumar3845
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/ 26

ATOMIC ENERGY CENTRAL

SCHOOL
ANUPURAM-603127

Topic:
Sales And Inventory Management System

For The Fulfillment of Class 12 Board


Practical-2025
A Project Done By:
L.Nithish Kumar
S.Bhuvanavasan

[1]
A.S.Rahul Sathya

[2]
CERTIFICATE

This is to certify that the Project entitled Sales And

Inventory Management is a bonafide work done by

A.S.RAHUL SATHYA of class XII-B,Atomic Energy Central

School-3 Anupuram Session 2024-25 in partial fulfillment

of CBSE’s AISSCE Examination 2025 and has been carried

out under my direct supervision and guidance. This report

or a similar report on the topic has not been submitted for

any other examination and does not form a part of any other

course undergone by the candidate.

Signature of Student Signature of Teacher

[3]
ACKNOWLEDGEMENT

I undertook this Project work, as the part of my XII-Board Practicals. I had


tried to apply my best of knowledge and experience, gained during the study
and class work experience. However, developing software system is generally
a quite complex and time-consuming process. It requires a systematic study,
insight vision and professional approach during the design and development.
Moreover, the developer always feels the need, the help and good wishes of
the people near you, who have considerable experience and idea.

I would like to extend my sincere thanks and gratitude to my teacher Mrs.


Sujata pradhan. I am very much thankful to our Principal Shri . C N
Srinivasa Raghavan for giving valuable time and moral support to develop
this software.

I would like to take the opportunity to extend my sincere thanks and


gratitude to my parents for being a source of inspiration and providing time
and freedom to develop this software project.

I also feel indebted to my friends for the valuable suggestions during the
project work.

A.S. RAHUL SATHYA


Class XII

[4]
CONTENTS
1. Introduction

2. Objective & Scope of the Project

3. Theoretical Background

4. System Implementation

4.1 The Hardware used:

4.2 The Softwares used:

5. System Design & Development

5.1 Database Design:

6. User Manual

6.1 How to install:

7. References

[5]
INTRODUCTION

This software project is developed to automate the functionalities of Groceries.The purpose

of the software project is to develop a program which provides a friendly interface for the

Higher Authority to manage the accounts of clients and to know their Information. When

this program made to work by most shops then it can be proven to be an ultimate way of

usage for them.

A management information system (MIS) mainly consists of a computerized database, a

collection of inter-related tables for a particular subject or purpose, capable to produce

different reports relevant to the user. An application program is tied with the database for

easy access and interface to the database. Using Application program or front-end, we can

store, retrieve and manage all information in proper way.

This software, being simple in design and working, does not require much of training to

officers but controlled fully by a tyro officer, and can be used as a powerful tool for the Sales

And Inventory Management System .

During coding and design of the software Project, python a powerful front-end tool is used

for getting CUI(Character user interface) based integrated platform and coding simplicity.

As a back-end a powerful, open source RDBMS, My SQL is used as per requirement .

Objective & Scope of the Project

T he objective of the software project is to develop the functions of shops. This software project
is also aimed to enhance the current record keeping system, which will help managers to retrieve
the up-to-date information at right time in right shape.
The proposed software system is expected to do the following functionality-

[5]
✔ To provide a user friendly experience.

✔ The proposed system should maintain all the records and transactions, and should generate the

required reports and information when required.

✔ To provide graphical and user-friendly interface to interact with a centralized database based

on client-server architecture.

✔ To identify the critical operation procedure and possibilities of simplification using modern IT

tools and practices.

In its current scope, the software enables Officer to retrieve and update the information from
centralized database designed with MySQL . This software does not require much training time of the
users due to limited functionality and simplicity.

Despite of the best effort of the developer, the following limitations and functional boundaries are
visible, which limits the scope of this application software.

1. This software can store records and produce reports in pre-designed format in soft copy. There
is no facility yet to produce customized reports. Only specified reports are covered.
2. There is no provision to calculate fine or penalty etc. for defaulter members; however it can be
developed easily with the help of adding modules.
3. Some application areas like Updation along with Intrest of Money, Taking of Loan etc. are not
implemented in the project. This project is made by keeping in mind that it is to be used only
by Officers, which can facilitate ease control.
So far as future scope of the project is concerned, firstly it is open to any modular expansion i.e. other
modules or functions can be designed and embedded to handle the Officer need in future. Any part of
the software and reports can be modified independently without much effort.

[6]
Theoretical Background
What is Database?
Introduction and Concepts:
A database is a collection of information related to a particular subject or purpose, such as tracking
customer orders or maintaining a product collection. Using any RDBMS application software like MS
SQL Server, MySQL, Oracle, Sybase etc, you can manage all your information from a single database
file. Within the file, divide your data into separate storage containers called tables. You may and
retrieve the data using queries.
A table is a collection of data about a specific topic, such as products or suppliers. Using a separate
table for each topic means you can store that data only once, which makes your database more
efficient and reduces data-entry errors. Table organises data into columns (called fields) and rows
(called records).
A Primary key is one or more fields whose value or values uniquely identify each record in a table. In
a relationship, a primary key is used to refer to specific record in one table from another table. A
primary key is called foreign key when it is referred to from another table.

To find and retrieve just the data that meets conditions you specify, including data from multiple
tables, create a query. A query can also update or delete multiple records at the same time, and
perform built-in or custom calculations on your data.

Role of RDBMS Application Program:


A computer database works as a electronic filing system, which has a large number of ways of
cross-referencing, and this allows the user many different ways in which to re-organize and retrieve
data. A database can handle business inventory, accounting and filing and use the information in its
files to prepare summaries, estimates and other reports. The management of data in a database system
is done by means of a general-purpose software package called a Database Management System
(DBMS). Some commercially available DBMS are MS SQL Server, MS ACCESS, INGRES,
ORACLE, and Sybase. A database management system, therefore, is a combination of hardware and
software that can be used to set up and monitor a database, and can manage the updating and retrieval
of database that has been stored in it. Most of the database management systems have the following
capabilities:
♦ Creating of a table, addition, deletion, modification of records.

♦ Retrieving data collectively or selectively.

♦ The data stored can be sorted or indexed at the user's discretion and direction.

♦ Various reports can be produced from the system. These may be either standardized report or

that may be specifically generated according to specific user definition.

[7]
♦ Mathematical functions can be performed and the data stored in the database can be

manipulated with these functions to perform the desired calculations.

♦ To maintain data integrity and database use.

The DBMS interprets and processes users' requests to retrieve information from a database. In most
cases, a query request will have to penetrate several layers of software in the DBMS and operating
system before the physical database can be accessed. The DBMS responds to a query by invoking the
appropriate subprograms, each of which performs its special function to interpret the query, or to
locate the desired data in the database and present it in the desired order.

What is My SQL ?
The management of data in a database system is done by means of a general-purpose software
package called a Database Management System (DBMS). Some commercially available RDBMS are
MS SQL Server, MS ACCESS, INGRES, ORACLE, and Sybase.
MySQL, the most popular Open Source SQL database management system, is developed, distributed,
and supported by Oracle Corporation. MySQL is named after co-founder Monty Widenius's daughter,
My. The name of the MySQL Dolphin (our logo) is “Sakila,”.
● MySQL is a database management system.
A database is a structured collection of data. It may be anything from a simple shopping list to
a picture gallery or the vast amounts of information in a corporate network. To add, access,
and process data stored in a computer database, you need a database management system such
as MySQL Server. Since computers are very good at handling large amounts of data, database
management systems play a central role in computing, as standalone utilities, or as parts of
other applications.
● MySQL is based on SQL.
A relational database stores data in separate tables rather than putting all the data in one big
storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for “Structured
Query Language.” SQL is the most common standardized language used to access databases
and is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving since
1986 and several versions exist. In this manual, “SQL-92” refers to the standard released in
1992, “SQL:1999” refers to the standard released in 1999, and “SQL:2003” refers to the
current version of the standard.
● MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software. Anybody can
download the MySQL software from the Internet and use it without paying anything. If you
wish, you may study the source code and change it to suit your needs. The MySQL software
uses the GPL (GNU General Public License),
● The MySQL Database Server is very fast, reliable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server also has a practical
set of features developed in close cooperation with our users. You can find a performance
comparison of MySQL Server with other database managers on our benchmark page. MySQL

[8]
Server was originally developed to handle large databases much faster than existing solutions
and has been successfully used in highly demanding production environments for several
years. Although under constant development, MySQL Server today offers a rich and useful set
of functions. Its connectivity, speed, and security make MySQL Server highly suited for
accessing databases on the Internet.
● MySQL Server works in client/server or embedded systems.
The MySQL Database Software is a client/server system that consists of a multi-threaded SQL
server that supports different backends, several different client programs and libraries,
administrative tools, and a wide range of application programming interfaces (APIs).

The Main Features of MySQL.

● Works on many different platforms.


● Uses multi-layered server design with independent modules.
● Provides transactional and non transactional storage engines.
● Designed to make it relatively easy to add other storage engines. This is useful if you want to
provide an SQL interface for an in-house database.
● Uses a very fast thread-based memory allocation system.
● Executes very fast joins using an optimized nested-loop join.
● Implements SQL functions using a highly optimized class library that should be as fast as
possible. Usually there is no memory allocation at all after query initialization.
● Provides the server as a separate program for use in a client/server networked environment,
and as a library that can be embedded (linked) into standalone applications. Such applications
can be used in isolation or in environments where no network is available.
● Password security by encryption of all password traffic when you connect to a server.

[9]
System Implementation

The Hardware used:

While developing the system, the used hardware are:


PC with Pentium Dual Core processor having 2.00 GB RAM, SVGA and other required
devices.

The Softwares used:


Microsoft Windows® 7 as Operating System.

Python 3.7 as Front-end Development environment.

MySQL as Back-end Sever with Database for Testing.

MS-Word 2007 for documentation.

[10]
System Design & Development
Database Design:
An important aspect of system design is the design of data storage structure. To begin with, a logical
model of data structure is developed first. A database is a container object which contains tables,
queries, reports and data validation policies, enforcement rules or constraints etc. Logical data often
represented as records are kept in different tables after reducing anomalies and redundancies. The
goodness of database design lies in the table structure and its relationship.
This software project maintains a database named pysales_inventory which contains the following
tables.

Tables:-
In my awesome and amazing software of banks I have created tables to make the software user friendly and to
make it different from others.Tables are shown below.

Tables:

Purchase table:

Stock Table:

[11]
Login Table:

[12]
Project View

[13]
[14]
[15]
[16]
Python Coding:-
#SOURCE CODE FOR Sales And Inventory Management

print("********************************************************
********************")
print("* *")
print("* Welcome to Sales And Inventory Management *")
print("* *")
print("********************************************************
********************")
#creating database
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="123
4")
mycursor=mydb.cursor()
mycursor.execute("create database if not exists pysales_inventory")
mycursor.execute("use pysales_inventory")
#creating required tables
mycursor.execute("create table if not exists stock(pcode varchar(25) primary
key,pname varchar(25) not null,quantity varchar(25) not null,price
varchar(25) not null)")
mycursor.execute("create table if not exists purchase(odate date not
null,phone_no varchar(25) not null,pcode varchar(25) not null,amount
varchar(25) not null)")
mycursor.execute("create table if not exists login(username varchar(25) not
null,password varchar(25) not null)")
mycursor.execute("select * from login")#==>Empty
j=0
for i in mycursor:
admin,paswrd=i
j=1

if(j==0):
mycursor.execute("insert into login values('admin','1234')")#=>1st time
if(j==1):
pass
[17]
mydb.commit()
condition="y"
total=0
ptotal=0
qtotal=0
while(condition=="y" or condition=="Y"):
print("________________________________")
print("1.Admin")
print("2.Customer")
print("3.Exit")
print("________________________________")
ch=int(input("Enter the choice:"))
total=0
ptotal=0
qtotal=0
#PROCEDURE FOR Buying
if(ch==2):
conditioni='y'
while(conditioni=='y' or conditioni=='Y'):
print("________________________________")
print("1. Item Bucket")
print("2. Payment")
print("3. View Available Items")
print("4. Go Back")
print("________________________________")

ch9=input("Enter your choice: ")


if(ch9=='1'):
cn2='y'
while(cn2=='y' or cn2=='Y'):

print("All information prompted are mandatory to be filled")


pno=str(input("Enter the customer-phoneno: "))
while(len(pno)!=10):
print("Please Enter 10 digit number")
[18]
pno=str(input("Enter the customer-phoneno: "))
pcode=str(input("Enter purchased product code: "))
pquantity=str(input("Enter the purchased product quantity: "))

mycursor.execute("select * from stock where


pcode='"+pcode+"'")

for i in mycursor:
pcode,pname,quantity,price=i
print(f"Name of the product {pname}")
print(f"price of the product{price}")
amount=int(price)*int(pquantity)
total+=int(amount)
qtotal+=int(pquantity)

mycursor.execute("insert into purchase


values(now(),'"+pno+"','"+pcode+"','"+str(amount)+"')")

mydb.commit()
cn2=str(input("Are you going to continue! press y/n! "))
if cn2=="n" or cn2=="N":
cn3=input("Are you going to remove any item from the billing
list!!! Press y/n ")
while(cn3=="y" or cn2=="Y"):
pcrm=str(input("Enter the product code to remove from the
bill: "))
rmno=str(input("Enter the customer mobile number: "))
while(len(rmno)!=10):
rmno=str("Enter the customer mobile number: ")
quanold=int(input("Enter old quantity: "))
quannew=int(input("Enter new quantity: "))
if quanold>quannew:
quant=quanold-quannew
else:
quant=quannew-quanold

mycursor.execute("select * from stock where


pcode='"+pcrm+"'")
[19]
for i in mycursor:
pc,pn,qu,pr=i
total-=quanold*int(pr)
total+=quannew*int(pr)
qtotal-=quanold
qtotal+=quannew

amt=quannew*int(pr)

mycursor.execute("delete from purchase where


pcode='"+pcrm+"' and phone_no='"+rmno+"'")
mydb.commit()
mycursor.execute("insert into purchase
values(now(),'"+rmno+"','"+pcrm+"','"+str(amt)+"')")
mydb.commit()
cn3=input("Do you want to continue to remove the item!!!
Press y/n ")

print("Record inserted successfully")


elif(ch9=='2'):
print("
_____________________________________________________________
_________")
print(f"| |")
print(f"| \t\t\tBILL To Be Paid\t\t\t |")

print(f"|_______________________________________________________
_______________|")
print(f"| |")
print(f"| |")
print(f"|\t\t Bill to be paid {total} |")
print(f"|\t\t No of items ordered is {qtotal} |")
print(f"| |")
print(f"| |")
print(f"|Thank You For Using Sales And Inventory Management...
|")

[20]
print("________________________________________________________
_______________")
elif(ch9=='3'):
mycursor.execute("select * from stock")
print("\n")
print("ICODE | INAME")
print("_______________")
for i in mycursor:
code,name,quantity,price=i

print(f"{code} | {name}")
print("_______________")
print("\n")
else:
break

#PROCEDURE FOR Editing Stock


elif(ch==1):
print("Admin")
pswrd=str(input("Enter the password"))
mycursor.execute("select * from login")
for i in mycursor:
user,password=i
if (pswrd==password):
ech='y'
while(ech=='y' or ech=='Y'):

print("________________________________")
print("1.Add New Item")
print("2.updating price")
print("3.Deleting Item")
print("4.Display All Items")
print("5.To change the password")
print("________________________________")
ech2=int(input("Enter the choice: "))
[21]
if(ech2==1):
pcode=str(input("Enter the product code: "))
pname=str(input("Enter the product name: "))
pq=str(input("Enter the product quantity: "))
pp=str(input("Enter the product price: "))
mycursor.execute("insert into stock
values('"+pcode+"','"+pname+"','"+pq+"','"+pp+"')")
mydb.commit()
print("record inserted successfully")
ech=str(input("Do you want to continue editing stock!!! Press
y/n "))
elif(ech2==2):
pcode=str(input("Enter the product code: "))
pp=str(input("Enter the new product price: "))
mycursor.execute("update stock set price='"+pp+"' where
pcode='"+pcode+"'")
mydb.commit()
print("record updated successfully")
ech=str(input("Do you want to continue editing stock!!! Press
y/n "))
elif(ech2==3):
pcode=str(input("Enter the product code: "))
mycursor.execute("delete from stock where
pcode='"+pcode+"'")
mydb.commit()
print("record Deleted successfully")
ech=str(input("Do you want to continue editing stock!!! Press
y/n "))
elif(ech2==4):
mycursor.execute("select * from Stock")
j=1
print("| Sno. | PCode | Pname | PQuantity | Pprice |")
for i in mycursor:
code,name,quantity,price=i
print(f"| {j} | {code} | {name} | {quantity} | {price} |")
j+=1

[22]
elif(ech2==5):
oldpassword=str(input("Enter old Password: "))
newpassword=str(input("Enter new Password"))
mycursor.execute("update login set
password='"+newpassword+"' where password='"+oldpassword+"'")
mydb.commit()
print("Password Changed successfully")
ech=str(input("Do you want to continue editing stock!!! Press
y/n "))
else:
break

[23]
User Manual

How to installSoftware:
Hardware Requirement-
♦ Intel Pentium/Celeron or similar processor based PC at Client/Server end.

♦ 128 MB RAM and 4GB HDD space (for Database) is desirable.

♦ Standard I/O devices like Keyboard and Mouse etc.

♦ Printer is needed for hard-copy reports.

♦ Local Area Network(LAN) is required for Client-Server Installation

Software Requirement-
♦ Windows XP/2007 OS is desirable.

♦ Python must be installed and mysql connector must be installed.

♦ MySQL Ver 6.1 with Library Database must be present at machine.

[24]
References

In order to work on this project titled – Sales And Inventory Management, the following
books and literature are refered by me during the various phases of development of the project.

(1) The Complete Reference python


-by Shildit
(2) MySQL, Black Book
-by Steven Holzner
(2) Understanding SQL
– Gruber
(3) http://www.mysql.org/

(4) Course Book for class XII

(5) Together with Informatics Practices


(6) Various Websites of Discussion Forum and software development activities.

Other than the above-mentioned books, the suggestions and supervision of my teacher and my class
experience also helped me to develop this software project.

[25]

You might also like