Design and Implementation of An Electronic Invoicing System
Design and Implementation of An Electronic Invoicing System
INVOICING SYSTEM
https://software.ng/softwares/inventory.zip
ii
ABSTRACT
This research work is concise and generally summarizes the activities duly
in Gamzaki store. The system is designed to efficiently handle the movement and
The manual method or intervention is labour intensive, costly, and error prone
and cannot ensure the inventory remains up-to-date due to oversight and
internal shrinkage. With the proposed new system, inventory can be updated in
for products that are low in inventory. The study outlines the main concepts of
the analysis and design methodology of the proposed system, compares it to the
existing and goes further to explain the design and implementation of the system
using MS Access for the database. The fact finding techniques employed is
iii
iv
TABLE OF CONTENT
Dedication ------------------------------------------------------------------------------- iv
Abstract ----------------------------------------------------------------------------------- v
v
3.2 System Investigation Procedure ------------------------------------------------- 8
3.8.4
vi
4.2.2 Hardware requirement ---------------------------------------------------------- 22
vii
CHAPTER ONE
INTRODUCTION
order to meet customer demand at the lowest possible cost and with a minimum
program takes into account such things as purchasing goods commensurate with
Langabeer and Stoughton (2001), these costs include such expenses as storage
costs, inventory risks, and the loss-of opportunity costs associated with tying up
inventory investment, maximum throughput and low costs, Ellram (1996). The
sales while keeping the investment at the lowest level consistent with adequate
all expenses for business, is needed to ensure that the business has the right
goods on hand to avoid stock-outs, to prevent shrinkage (spoilage/theft), and to
Articles stored and later used in this way are known collectively as
hundreds of items valued at tens of millions of naira. Given this state, it has
firms.
and what is remaining in the warehouse. For this obvious reason, large, small
paper work in retail stores increases on daily basis calls for a corresponding
need for a quick and effective device to meet up with the demand. This project
otherwise of goods in the store. The process of updating the inventory requires
the sales personnel to monitor stock level of each item. Anytime a stock level
reaches a point that is too high or low, an action is instituted which include to
write down stock status report or to generate a purchase order. There are a lot of
problems associated with using this manual method which include time wasting,
difficulty in calculating the total amount of items sold, too much paper work
and difficulty in updating every time a change is made, hence the need for
The proposed automated system will take in data of stock items like stock
number, product name, quantity, cost price and selling price as inputs. The
system process and update records accurately within a short time and store it.
After processing these inputs, the system will be able to generate sales report,
The new system will be able to generate report regarding the details of
stocks available in the store and print out the various reports generated via a
printer. Also, security provision like the login authenticity will be provided so
The main aim of this project is to develop software that will automate the
1.4 OBJECTIVES
i. To provide system that keeps constant updates about total number of
stock available in the store and constantly each and every items in the
stock that is going down low to out of stock, the system alert as soon as is
due.
ii. To provide software that save time and reduces energy consumption by
without delay.
iii. To help track sales, hence staffs are constrained to sell at a fixed price
iv. To be able to discover several goods in stock that are about to expire in
stock. The software gives the flexibility to know every single item in the
store, its Quantity and their expiry dates at just a click to the software.
reports, showing how much have been used for different stock items from
deals with invoice control of Gamzaki Store and other retail stores/supermarkets
caused some data not to be available and finally some respondent were not able
to give the desired responses as they were not much familiar with adequate
i. Item Name: - This is a name given to each product. This name is unique to
ii. Stock Balance : - This is the number of goods that are present in stock
iv. Selling Prices: - This is the cost at which goods or a particular item is sold
vi. Transaction History: - it is used to show all the list of daily sales and
a password.
viii. Low Stock Balance Alert: - it is a reminder that keeps you updated
LITERATURE REVIEW
Graman and Magazine (2006), argued that today, the cost of holding
inventories of finished goods excessive and that high demand items naturally
have safety stock assigned to them, but in many organizations there are so many
expensive, so they argue that companies must now provide good service while
are essential aspects of any organization. Wallin et al. (2006), has argued that
dollar of revenue to cover the direct cost of purchased goods, and Monczka et
al. (2002), and Handfield (2002), have argued that this percentage figure is
Invoice control systems have been of concern for many years to business
progress components and finished goods were kept as a buffer against the
possibility of running out of needed items (Salawati, Tinggi, & Kadri, 2012).
hidden costs (Salawati, Tinggi, & Kadri, 2012). Too much invoice consumes
damage, spoilage and loss (Nyabwanga & Ojera, 2012). On the other hand, too
Buffa and Salin (1987) there are several reasons for keeping inventory. Too
much stock could result in funds being tied down, increase in holding cost,
using a computer for stock control in a retail stores. The computerized system
will be aided with a program installed into the computer that will be capable of
preparing or taking stock of various items with different prices, most of which
are too cumbersome especially to organization with large quantity of items. The
program will be designed in a way that it can take the stock number, product
name, description and selling price of each item. The computerization of the
computerized one.
taken by an organization or a retail stores that deals with various types of item,
to calculate their quantity in stock, cost price and selling price. The
reliability of data processing method which involves input, process and output.
Gamzaki Store was started as small retail store at Habibu Gwarzo Street
Hotoro Nasarawa, Kano in the year 1990 by Alhaji Ali Sa’ad who is the
started with few goods in stock but three years later Gamzaki had to move to a
place more spacious near the one it was occupying because of growth in the
business. By 1998 it had to move to its present location still on Habibu Gwarzo
street, in order to accommodate more stocks. Also, the following year as the
small startup developed into big time retail chain stores as it opened another big
shop at Nigerian law School, Bagauda. The store deals in goods ranging from
CHAPTER THREE
data necessary to define or solve the problem for which the research is
embarked upon. This chapter describes the method employed in carrying out the
One of the invaluable sources of data was oral interview, which I conducted
Store, it starts or begins with the stock number, the product name, quantity in
stock, cost price, selling and re - order level in order to ascertain the accuracy
and proper stock taking. To keep track of their inventory levels they have to
calculate a list of the groceries utilized during a course of time, calculate and
analyze the requirements for the future, and place their next order to the vendors
if needed. This process takes up a lot of time and human effort, and is also
This poses a problem of a situation that the staff at Gamzaki Store as well
as many other stores faces. It takes up a lot of time to manually keep track of
sales and place correct orders to vendors, wasting useful labor on trivial works.
A software which can assist in tackling the above mentioned problems would
The existing system is one that has been manually operated over the
errors. Careful analysis also shows that due to the complexities of the manual
system, records of invoice kept are inaccurate and manually operated in such a
way that requires the clerk to register sales on a book, thereby making a staff
handle two or three jobs at a time. An example is a staff trying to register sales
and at the same time rushing back to face a queue of impatient customers
waiting to be attended to. This makes the place so crowded with customers with
customers who have other things to do, end up missing their various
manually and has not adopted an Automation mode of operation. This generates
inadequate records or exercise improper management of the store and in
The existing system in Gamzaki Store lacks the efficiency and flexibility
in handling of data relating to invoice control of its items. Below are some of
b) Repetition of routines
c) Difficulty in updating when new stocks are added
d) Wrong calculation
take days, but with a computerized invoice management system, the same
2. Document Generation
purchase orders and checks to invoices and account statements. Managers can
also use the system to automatically order products when they run low.
3. Timely Data
With a manual system, the data is only as accurate and up to date as the last
team can pull a report and instantly see how many units are on the floor, how
many have sold and which products are selling the fastest.
3.7 NEED FOR THE AUTOMATION OF INVENTORY
CONTROL SYSTEM
and count what is there. This is unsuitable for a big shop. A better
the stock.
d. With the computer system being used to keep accurate and up to date
records which will prevent theft and easy way operation to the super
summary reports, showing how much has been used for different stock
the inventory and when any item in the stock is going down low to out
g. It gives the flexibility to generate and print automatic receipt when any
h. The software will help to track sales, sales personnel are also constrained
i. A third party or your staff may steal from you; a system must be place to
j. As invoices are sent to the printer from the system, sales records are
updates core database. With your manual system, you write paper
SYSTEM
method within my reach to enquire and know the process used in the
inputs and outputs were the basic requirement were also considered
written as given. The program inputs and outputs are also tested. The
The major fact taken into consideration in the design of the new system is
the automation of the inventory control system for effective management. In the
course of the design, the daily report on transactions are captured, databases
is and what it does. This shows how the expected program is to be operated.
designed that is more effective than that of the manual system is highly
achieved. It starts with an access method, which allows the user to go into
various area of the program; this is done by using the menu option. Thus,
provides quick access to the different data area of the program. The design
Home Page
(Main Module)
The chart of the home page (main module) and it has three branches below:
2) Manage stock
Login
Perform Transaction
Change Password
or system.
customer.
3. View Transactions History: it shows the details about and payments made
by a customer.
change the user’s password. He alone has the right to change it.
1. Files used in this project are made up of different data types. Some of
the files are designed and linked with database. There are several
advantages of storing data in database and MS Access database was used
2. All data is stored at one location when a database is used, all tables are
stored in a single file thus, and we need not deal with separate buttons
using the single database file. Though all data is stored in a single file,
distinctions exist because tables are used since each table is stored as a
1. Logic design which is that part of the design process when you write the
2. Physical design, namely the activities involved when you turn the logical
design into reality. The feature that would consider in the logical design
The data inputs into Gamzaki Inventory Control System are from the database
TYPES
TRANSACTION HISTORY
Table 3.11.1.2 structure of the TransactionHistory table
CHANGE PASSWORD
document. Whatever the medium used in both, paper document and transaction
output. The purpose is for the clarity of the output to the user.
The product sales report shows the total product sold, their unit prices and the
amounts. The entire inventory report shows the types of product in stock
without any need of counting the product of items in the shelf one after the
other in order to know the type and quantity of products in stock. It also deals
with the aspect of the unit’s prices and cost prices of goods or items in stock.
3.13 PROCESSING
There are items which are sold and distributed to customers. An order is
placed by the customer-required details which are item name and quantity. The
order processing executes, looks up the stock of each item to find out which is
available or not and then fulfills the order. After formalities are fulfilled, a bill
is generated by the system and given to the customer by printing a receipt. The
efficient system.
CHAPTER FOUR
SYSTEM IMPLEMENTATION
The implementation Stages are divided into two stages which are:
1. Programming stage
efficiently carry out the computerized operation and to code various instructions
adopted. Each segment separately tested and the whole segment of modules
system. These have the advantages of identifying and debugged error easily.
button, he selects the appropriate ready to use component provided by the visual
required control. It provides all features that are required to develop graphical
In this stage the developed software will be installed into the Gamzaki
Store system and then train the prospective users on how to use the new system
I. Software requirement.
Software is the term used to describe all the various types of programs or
which are used by the computer users to perform different task, such as that of
i. MS windows XP or Newer
parts of the computer. The hardware required to run this automated inventory
ii. 2 GB RAM
The input requirement is the information or items needed that will aid the
a. Item Name
b. Selling Price
c. Quantity to be Purchase
d. Stock balance
e. Selling Price
All the specifications above must be entered for the actual stock taking of
items.
The output is the expected results from the processing which is the
transaction output. The information carries all the data pertaining to the stock
a) Item name
b) Quantity
c) Price
d) Total amount
4.3 IMPLEMENTATION
The new system is designed to be put into efficient use. Here, I will look
into the various technical aspects that influenced the successful implementation
of this system and determine the effective operation of the system. System
implementation follows the approval of the system proposals and its objectives,
thus it is to arrive at a satisfactory, implemented, completed, and function
This is the first form that appears when the software is run.
username & password) needed in order to the access the features of the
software.
This is form seen after username and password have been supplied or inputted.
Transaction form is used for selling of items and issuing receipt to the customer
This form enables the receipt of the purchased to be printed receipt and issued
to a customer.
This interface allows the user to add new stock and update selected stock
balance.
Fig. 4.7 Transaction History form
Transaction history is used to show the list of all sales for reference purpose.
password.
After test running with varied data, which is after running the program,
the output was shown on the monitor. The output can also be printed on paper.
This shows that the new system was perfect and effective.
4.5 INTEGRATION
together to perform what the system was intended to do. After successfully
Transaction form, Manage Stock form, and Change Password form, all the
This section of the project explains the job that is performed by the
program developed. First of all the various inputs listed above will be entered,
then the program processes that data and give out the required output as the
transaction output. It gives results based on what is entered as the input for this
This is the detailed explanation of the operation carried out by the system
on the job that is required to do, the passing of control in the system and
performing the task that it is required of it. All these are expected to be done
should monitor and control its operation at all time. The operation of the system
manually with greater accuracy and lesser period of time. It processes data
keyed in a remarkable moment of time far lesser than the manual process. The
central processing is that which ensures the program instructions are carried out
in the proper way of sequence and the interpretation is accordance with the
expected output.
5.1 SUMMARY
field of human endeavour. With this new system, the difficulties encountered
with the manual inventory control system of Gamzaki Store are overcome. The
automated inventory control system reduces the workload of the staff, saves
time and increases efficiency. The records of the company are safe and secure,
generated for management are accurate thereby increasing the profit margin. On
a general note, this project covers necessary process involved in designing any
staff of manage sales and inventory. The approach used involves the
Gamzaki Store. The method of implementation was with the use of visual studio
engine. The basic user attention was given priority when designing the system.
Therefore, this project if embraced would address the problems of sales and
inventory management.
5.2 RECOMMENDATION
I recommend this automated inventory control system to the Gamzaki and
any other store that still carry out their operation manually. This system will be
useful since it is computerized and will promote effective, efficient and improve
service delivery. The use of this software developed for the control of inventory
5.3 CONCLUSION
Anything worth doing is worth doing well. For a project of this kind, all
that was discussed and done was to the best of ability and reach.
tremendous amount of new knowledge was revealed and acquired in the course
Ellram, Lisa M. (1996), “The Use of the Case Study Method in Logistics
Handfield, R.B. (2002), "Reducing costs across the supply chain", Optimize,
Langabeer, J., Stoughton, T., (2001) “Demand planning and forecasting in the
Monczka, R.M, Trent, RJ. andHandfield, R.B. (2002), Purchasing and Supply
management, 4.
Journal of Operations & Production Management. Bradford: Vol. 26, Iss. 1/2;
APPENDIX
SOURCE CODE
MODULE 1:
Module Module1
End Module
SPLASH SCREEN:
Public Class splashScreen
ProgressBar1.Value = ProgressBar1.Value + 1
If ProgressBar1.Value = 90 Then
ProgressBar1.Enabled = False
Timer1.Enabled = False
Me.Hide()
loginFrm.Show()
End If
End Sub
End Sub
End Class
LOGIN FORM:
con.Open()
& Me.usernameTxtbox.Text & "' AND password='" & Me.passwordTxtbox.Text & "'", con)
homeFrm.Show()
Me.Hide()
Else
MsgBox("Invalid username or password", MsgBoxStyle.Critical)
usernameTxtbox.Text = ""
passwordTxtbox.Text = ""
End If
con.Close()
End Sub
End
End Sub
End Sub
End Sub
End Class
HOME FORM:
ByVal e As System.EventArgs)
manageStock.Show()
End Sub
Private Sub NewTransactionToolStripMenuItem_Click(ByVal sender As System.Object,
transactionFrm.show()
End Sub
End
End Sub
loginSetFrm.Show()
End Sub
manageStock.Show()
End Sub
TransactionHistoryToolStripMenuItem.Click
transacHisFrm.Show()
End Sub
End Sub
Private Sub MenuStrip1_MouseLeave(ByVal sender As System.Object, ByVal e As
End Sub
End Class
TRANSACTION FORM:
ByVal e As System.EventArgs)
manageStock.Show()
End Sub
transactionFrm.show()
End Sub
End
End Sub
loginSetFrm.Show()
End Sub
End Sub
TransactionHistoryToolStripMenuItem.Click
transacHisFrm.Show()
End Sub
End Sub
End Sub
End Class
RECEIPT FORM:
dateLbl.Text = Today
For i = 0 To transactionFrm.DataGridView1.RowCount - 2
With DataGridView1
.Rows.Add()
.Rows(i).Cells(0).Value = i + 1
.Rows(i).Cells(1).Value =
transactionFrm.DataGridView1.Rows(i).Cells(1).Value
.Rows(i).Cells(2).Value =
transactionFrm.DataGridView1.Rows(i).Cells(2).Value
.Rows(i).Cells(3).Value =
transactionFrm.DataGridView1.Rows(i).Cells(3).Value
.Rows(i).Cells(4).Value =
transactionFrm.DataGridView1.Rows(i).Cells(4).Value
End With
Next
totalLbl.Text = transactionFrm.totalTxtBox.Text
End Sub
printBtn.Visible = False
PrintForm1.PrintAction = Printing.PrintAction.PrintToPreview
PrintForm1.PrintAction = Printing.PrintAction.PrintToPrinter
PrintForm1.Print()
printBtn.Visible = True
Me.Close()
End Sub
End Class
Imports Microsoft.Office.Interop.Excel
con.Open()
da.Fill(dt)
Me.DataGridView1.DataSource = dt
con.Close()
End Sub
With Me.DataGridView1
Exit Sub
End If
dset.Tables.Add()
For g = 0 To .ColumnCount - 1
dset.Tables(0).Columns.Add(.Columns(g).HeaderText)
Next
Dim dr As DataRow
For g = 0 To .RowCount - 1
dr = dset.Tables(0).NewRow
For j = 0 To .Columns.Count - 1
dr(j) = .Rows(g).Cells(j).Value
Next
dset.Tables(0).Rows.Add(dr)
Next
wBook = excel.Workbooks.Add
wsheet = wBook.ActiveSheet
Dim dc As System.Data.DataColumn
colindex = colindex + 1
Next
rowindex = rowindex + 1
colindex = 0
colindex = colindex + 1
Next
Next
wsheet.Columns.AutoFit()
Me.FolderBrowserDialog1.ShowDialog()
Try
FTemp.Close()
Catch ex As Exception
blnFileOpen = False
End Try
If System.IO.File.Exists(fname) Then
System.IO.File.Delete(fname)
End If
MsgBoxStyle.Information, "Confirmation!")
wBook.SaveAs(fname)
excel.Workbooks.Open(fname)
excel.Visible = True
End With
End Sub
Me.Close()
End Sub
End Class
MsgBoxStyle.OkOnly)
Else
con.Open()
Me.categoryCmb.Text = dr("Category").ToString
Me.balTxtbox.Text = dr("StockBalance").ToString
Me.cpTxtbox.Text = dr("CostPrice").ToString
Me.spTxtbox.Text = dr("SellingPrice").ToString
Me.minbalTxtbox.Text = dr("MinimumStockBal")
End If
con.Close()
End If
End Sub
con.Open()
If nameTxtbox.Text <> "" And categoryCmb.Text <> "" And balTxtbox.Text <> ""
And cpTxtbox.Text <> "" And spTxtbox.Text <> "" And minbalTxtbox.Text <> "" Then
nameTxtbox.Text & "','" & categoryCmb.Text & "','" & balTxtbox.Text & "','" &
cpTxtbox.Text & "','" & spTxtbox.Text & "','" & minbalTxtbox.Text & "')", con)
da.Fill(dt)
Me.DataGridView1.DataSource = dt
nameTxtbox.Text = ""
categoryCmb.Text = ""
balTxtbox.Text = ""
cpTxtbox.Text = ""
spTxtbox.Text = ""
minbalTxtbox.Text = ""
Else
MsgBoxStyle.OkOnly)
End If
con.Close()
End Sub
con.Open()
Dim cmd As New OleDb.OleDbCommand("SELECT * FROM ManageStock WHERE StockName =
StockBalance = '" & balTxtbox.Text & "', CostPrice = '" & cpTxtbox.Text & "',
SellingPrice = '" & spTxtbox.Text & "' WHERE StockName = '" & nameTxtbox.Text & "'",
con)
cmdUpdate.ExecuteNonQuery()
cmdUpdate.Dispose()
End If
da.Fill(dt)
Me.DataGridView1.DataSource = dt
con.Close()
End Sub
Me.Close()
End Sub
con.Open()
da.Fill(dt)
Me.DataGridView1.DataSource = dt
con.Close()
End Sub
End Sub
End Sub
searchBtn.BackColor = Color.Navy
End Sub
searchBtn.BackColor = Color.Lavender
End Sub
End Class
con.Open()
'" & Me.unameTxtbox.Text & "' And password = '" & Me.opTxtbox.Text & "'", con)
='" & npTxtbox.Text & "' WHERE username ='" & Me.unameTxtbox.Text & "'", con)
cmdUpdate.ExecuteNonQuery()
cmdUpdate.Dispose()
Else
End If
con.Close()
End Sub
unameTxtbox.Text = ""
opTxtbox.Text = ""
npTxtbox.Text = ""
cnpTxtbox.Text = ""
End Sub
Me.Close()
End Sub
End Class