E-Billing and Invoice System
E-Billing and Invoice System
E-Billing and Invoice System
A PROJECT REPORT
Submitted by
V.SURYA INDIRA
103678137
B.Tech
In
COMPUTER SCIENCE
Under the esteemed Guidance of
Yanam
Date:
BONAFIDE CERTIFICATE
I here by declare that the project report entitled E-Billing and Invoice
System submitted for the partial fulfillment of mini project in B.Tech
Third year Computer Science & Engineering Department bonafide work
carried out by him/her under my guidance.
S.T.V.V.S Kumar
M.Tech,[PhD]
Head of the Department
Date:
Date:
ACKNOWLEDGEMENT
Task successful makes everyone happy. But the happiness will be gold without
glitter if we didnt state the persons who have supported us to make it a success. Success
will be crowned to people who made it a reality but the people whose constant guidance
and encouragement made it possible will be crowned first on the eve of success.
This acknowledgment transcends the reality of formality when we would like to
express deep gratitude and respect to all those people behind the screen who guided,
inspired and helped me for the completion of our project work. We consider ourselves
lucky enough to get such a good project. This project would add as an asset to my
academic profile.
We express our sincere gratitude to our respectful Principal Dr. A. Ramakrishna
Rao for enabling us to make use of laboratory and library facilities liberally, that helped
us a long way in carrying out our project work successfully.
We express our gratitude to the help of the Head of the Department of Computer
Science and Engineering, Mr. S. T. V. S. Kumar, M.Tech, (Ph. D), for his constant
supervision, guidance and co-operation throughout the project and we would like to
express our thankfulness to our project guide, Mr.Ch. Raja Ramesh, M.Tech for his
constant motivation and valuable help through the project work.
We extend our sincere gratitude to our parents who have encouraged us with their
blessings to do this project successfully. Finally we would like to thank to all our friends,
all the teaching and non-teaching staff members of the CSE Department, for all the
timely help, ideas and encouragement which helped throughout in the completion of
project.
INDEX
Abstract
List of Tables
List of Figures
1. Introduction
1.1. Overview of Proposed System
1.1.1 Existing System
1.1.2 Proposed System
2. System Analysis
2.1 Business Requirements
2.2 User Requirements
2.3 Operational Requirements
2.4 System Requirements
2.5 Software and Hardware Requirement
3. System Design
3.1 UML Diagrams
3.1.1 Class Diagrams
3.1.2 Activity Diagrams
3.1.3 Sequence Diagrams
3.1.4 Data Flow Diagrams
3.2 Data Dictionary
4. Implementation
5. Testing
5.1 Unit Testing
5.2 Recovery Testing
5.3Security Testing
5
Objective
This section presents a conceptual overview of the solution, and then
provides an introduction to its requirements.
Solution Concept
The E- Billing and Invoice System consist of:
Part of the solution will involve converting data from Microsoft Excel to
the Database, system can import existing customer, product data from
predefined MS Excel, CSV format. It reduces the data entry work and
quick implementation of the system.
List of Tables:
Product master
Bill owner
Bill details
Company master
User master
List of Figures:
Class Diagrams
Activity Diagrams
Sequence Diagrams
Data Flow Diagrams
Top level
First level
1. Introduction
1.1. Overview of Proposed System
1.1.1 Existing System:
The client uses MS Excel, and maintains their product list, customer list, and prints the
invoice, however it is not possible them to share the data from multiple system in multi
user environment, there is lot of duplicate work, and chance of mistake. When the
product price are changed they need to update each and every excel file. There is no
option to find and print previous saved invoice. There is no security; any body can access
any report and sensitive data, also no reports to find out the sales volume, stock list, and
summary report
1.1.2 Proposed System:
. This E-Billing and invoicing system is used to overcome the entire problem which they
are facing currently, and making complete atomization of manual billing and invoicing
system
2. System Analysis
The following preliminary lists are based on initial interviews
2.1 Business Requirements:
The business goal for the application is to support an increase the productivity and
complete automation of existing manual bill and invoice generation process. Business
requirements are discussed in the Scope section, with the following additional detail:
Sales representatives need a method to store and access sales opportunity data,
and when a sale is generated, convert some or all of the information into a sales
order without re-entering information.
Each sales representative should receive customer and sales data pertinent only to
them.
Manager must receive his or her customer and appointment data plus detailed and
rollup information for each sales representative on his or her team.
The application should support the capability to use multi user environment.
The MIS Executive should able to generate all type of reports as and when
required by the management.
The sales staff wants to improve their current ability to analyze their customers. In
particular, they want to focus on identifying their best customers and building long-term
relationships within that base. To enable them to accomplish this goal, they want to
extract meaningful data that easily answers the following questions:
Identify which product prices have been modified, especially on current orders in
progress
Use opportunity rules, which are statements that help the sales representative
convert an opportunity into a sale
Enable capture, analysis, and sharing of data about a customer across the
company
Allow all staff to view all contacts, but allow each contact to be assigned to a sales
representative
Accountant
Generate stock reports and check the availability, order the item as and when
needed.
MIS Executive
Share the data, and convert reports to different format like Text, CSV.
Ensure that information is easy to access either, and meaningful for the sales
representative and the company.
Minimize the technical knowledge that sales and marketing staff need to access
the data, generate ad hoc queries, track promotions, and view customer
segmentation information.
Any change to information must be reflected immediately, and the changes must
be propagated to the search engine so that employees that perform searches see
this new information.
12
The application should work with the existing communications and networking
infrastructure.
Previous data of customer, product details must be imported in the new system.
The information must be accessible by everyone in the company as per the rights
specify.
Success Criteria
To determine the success of this project, the following metrics can be quantified and used
to analyze success factors.
Sales Automation
Identification of best customers across product lines and regions. All customers
can be sorted by the factors (to be determined) that rank them qualitatively.
Variable sorts and rankings can be chosen by the sales representative.
Identification of issues across groups. All customers can be sorted by the issues
(to be determined) within group categories that can be updated. Variable sorts
and rankings can be chosen by the sales representative or other user.
13
Software
1. Windows XP
2. VB Run time
3. MS Office
Hardware
1. P-4
2. RAM -256 MB
Database Server
Application Server
1.P-4
2.RAM- 2GB
3.Hard Disk-160GB
4.RAID
1.P-4
2.RAM- 1GB
3.Hard Disk-40GB
14
Simplified Deployment
Improved Coding
Object-Oriented Constructs
COM Interoperability
Back End
1. MS Access
Why MS Access?
MS Access is desktop RDMS support small application with all features like
relational query, different data types, joins, and query. Includes
Scalability
Centralized Management
Reliability
Automating tasks
16
3. System Design
3.1 UML Diagrams
3.1.1 Class Diagrams
17
18
19
Table : product_master
Owner:
dbo
Destination DB name:
ebill
Number of columns:
Number of indexes:
Extended attributes:
OnFileGroup
PRIMARY
Clustered PK
Yes
Columns
Data type
Allow NULLs
Value/rang
e
Sno
ProdType
ProdSubType
Rate
isactive
int
nvarchar(60)
nvarchar(60)
int
nvarchar(30)
Indexes
PK_ProductMaster_sno
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Type
clustered, unique,
primary key located on
PRIMARY
Table : bill
Owner:dbo
Destination DB name:
ebill
Number of columns:
15
Number of indexes:
Extended attributes:
OnFileGroup
PRIMARY
Clustered PK
Yes
21
Columns
sno
Columns
Data type
22
Allow
Value/rang
NULLs
sno
invoiceno
canme
Invoice_date
location
chalan_no
customer_name
Customer_address1
Customer_address2
Total_amt
discount
Amt_words
Paid_type
Cheque_no
Entry_date
int
nvarchar(60)
nvarchar(60)
datetime
nvarchar(60)
int
nvarchar(100)
nvarchar(100)
nvarchar(100)
int
int
nvarchar(100)
nvarchar(60)
nvarchar(60)
datetime
Indexes
PK_Bill_SNO
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Allowed
Not allowed
Not allowed
Not allowed
Not allowed
Allowed
Not allowed
Type
clustered, unique,
Columns
sno
PRIMARY
nonclustered located on
cname
IX_bill_invoiceno
PRIMARY
nonclustered, unique
invoiceno
located on PRIMARY
Table : bill_details
Owner:
dbo
Destination DB name:
ebill
Number of columns:
Number of indexes:
Extended attributes:
OnFileGroup
PRIMARY
Clustered PK
Yes
Columns
Data type
Allow
23
Value/rang
sno
Bill_sno
Prod_sno
qty
rate
amt
NULLs
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
Not allowed
int
int
nvarchar(60)
datetime
nvarchar(60)
int
Indexes
PK_Bill_details_SNO
Type
clustered, unique,
Columns
sno
PRIMARY
nonclustered located on
Bill_sno
IX_bill_deatils_prod_sno
PRIMARY
nonclustered, unique
Prod_sno
located on PRIMARY
Table : Company_master
Owner:
dbo
Destination DB name:
ebill
Number of columns:
Number of indexes:
Extended attributes:
OnFileGroup
PRIMARY
Clustered PK
Yes
Columns
Company_name
Address1
Address2
city
pin
telephone
vatno
Data type
Allow
Value/rang
e
nvarchar(60)
nvarchar(100)
nvarchar(100)
nvarchar(60)
int
nvarchar(60)
nvarchar(60)
NULLs
Not allowed
Not allowed
Allowed
Not allowed
Not allowed
Not allowed
Not allowed
24
Indexes
PK_comapny_master_company
Type
clustered, unique,
Columns
Comapnay_nam
_name
IX_ comapny_master_pin
PRIMARY
nonclustered located on
pin
PRIMARY
Table : user_master
Owner:
dbo
Destination DB name:
ebill
Number of columns:
Number of indexes:
Extended attributes:
OnFileGroup
PRIMARY
Clustered PK
Yes
Columns
user_name
User_password
User_type
Data type
Allow
Value/rang
e
nvarchar(60)
nvarchar(60)
nvarchar(60)
NULLs
Not allowed
Not allowed
Allowed
Indexes
PK_user_master_user_name
Type
clustered, unique,
Columns
user_name
PRIMARY
nonclustered located on
PRIMARY
25
User_type
4. Implementation
FrmLogin
FrmBillSummary
(Show bill summary for particular date range)
'*************************************
'
eBilling System
28
'
Version 1.0.0
'*************************************
'
'
'
: bill_details
Option Explicit
Private Sub CmdClose_Click()
'>>> close the form
Unload(Me)
End Sub
Private Sub CmdGetBill_Click()
'NOTE : it is not the right solution to call crystal report by temp using temp table
'some time it is a good practice for complecated databse relation table
'This may not run properly in multi user environment
'Better approch is passing value by SelectionFormula in crystal report
'but anyway it is a working solution
'>>> find the bill sno from seleted invoice no
'>>> if record found
'>>> delete temp bill na dbill_details
'>>> insert from bill,bill_details to temp_bill, teemp_bill_details
Cn.Execute("delete from temp_bill_details")
Cn.Execute("delete from temp_bill")
29
FrmExportData
(Export product Data in FlexGrid and MS-Excel with formatting)
'*************************************
'
eBilling System
'
Version 1.0.0
'*************************************
' Export product_master in grid and ms-excel
'
31
.ColorIndex = xlAutomatic
End With
With x.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With x.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With x.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With x.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With x.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
'>>> FILL DETAILS
x = Es.Range("A2:" & R2)
x.Interior.ColorIndex = 40
'>>TOTAL
R2 = ReturnAlphabet(Mf1.Cols) & Mf1.Rows
33
Mf1.CellForeColor = vbBlue
Mf1.CellBackColor = vbCyan
Mf1.Col = 1
Mf1.ColWidth(1) = 2500
Mf1.Text = "Product Type"
Mf1.CellAlignment = 4
Mf1.CellFontName = "Arial"
Mf1.Font.Size = 10
Mf1.Font.Bold = True
Mf1.CellForeColor = vbBlue
Mf1.CellBackColor = vbCyan
Mf1.Col = 2
Mf1.ColWidth(2) = 5000
Mf1.Text = "Product"
Mf1.CellAlignment = 4
Mf1.CellFontName = "Arial"
Mf1.Font.Size = 10
Mf1.Font.Bold = True
Mf1.CellForeColor = vbBlue
Mf1.CellBackColor = vbCyan
'>>> find distinct product type from product master
'>>> loop all product type
Dim RS1 As New ADODB.Recordset
Dim Rs2 As New ADODB.Recordset
RS1.Open("select distinct prod_type from product_master", Cn, adOpenStatic,
adLockReadOnly)
Dim i As Integer
Dim j As Integer
For i = 0 To RS1.RecordCount - 1
Me.Caption = i + 1
Mf1.Row = Mf1.Rows - 1
35
Mf1.Col = 0
Mf1.Text = i + 1
Mf1.Col = 1
Mf1.Text = RS1("prod_type")
'>>> query product master for each prod type from outer loop
If Rs2.State = adStateOpen Then Rs2.Close()
Rs2.Open("select prod_sub_type from product_master where prod_type ='" &
RS1("prod_type") & "' order by prod_sub_type", Cn, adOpenStatic, adLockReadOnly)
For j = 0 To Rs2.RecordCount - 1
Mf1.Row = Mf1.Rows - 1
Mf1.Col = 2
Mf1.Text = Rs2(0)
Mf1.Rows = Mf1.Rows + 1
Rs2.MoveNext()
Next
RS1.MoveNext()
Next
End Sub
Private Sub Form_Load()
'>>> cnter the form
Me.Left = (Screen.Width - Me.Width)
Me.Top = (Screen.Height - Me.Height)
End Sub
FrmCompanyInfo
(Add/Modify Company Info)
'*************************************
'
eBilling System
'
Version 1.0.0
'*************************************
' add/edit/delete company details
'
Else
MsgBox("Last Record ..", vbInformation)
RS1.MoveLast()
End If
Call DisplayRecord()
End Sub
Private Sub Command5_Click()
'>>> move last the record pointer and display current record
On Error Resume Next
If RS1.State = adStateClosed Then Exit Sub
If RS1.RecordCount <= 0 Then Exit Sub
RS1.MoveLast()
Call DisplayRecord()
End Sub
Private Sub Command6_Click()
'>>> prepare for add record, clear all text box, set flag to ADD
If RS1.State = adStateClosed Then Exit Sub
If RS1.RecordCount <= 0 Then Exit Sub
AddEdit = "ADD"
Call ClearText()
DE(False, True)
TxtCompanyName.SetFocus()
End Sub
Private Sub Command7_Click()
'>>> prepare for edit record, set flag to EDIT
If RS1.State = adStateClosed Then Exit Sub
39
Call DisplayRecord()
Else
RS1("Address1") = TxtAddress1.Text
RS1("Address2") = TxtAddress2.Text
RS1("city") = TxtCity.Text
RS1("pin") = TxtPin.Text
RS1("telephone") = TxtTelephone.Text
RS1("vatno") = TxtVatNo.Text
RS1.Update()
'>>> if it is edit after requery show the edited record
Dim p As Integer
p = RS1.AbsolutePosition
RS1.Requery()
RS1.MoveFirst()
RS1.Move(p - 1)
Call DisplayRecord()
End If
DE(True, False)
Exit Sub
myer1:
MsgBox("Error Occured : " & Err.Description, vbCritical)
End Sub
Private Sub Command9_Click()
'>>> cancel save
DE(True, False)
End Sub
Private Sub Form_Load()
'>>> center the form
41
5. Testing
System Development and Testing:
System Development is a process of conceiving the specification specified in
the designing stage into source code. Careful study and observation about system
designing were made and accordingly the system was coded to convert from designing
to source code, where visual Basic as the front end and OracleXE as the backend. The
System was developed such that it should be used for the future enhancement.
43
All the module of the system is combined and is put to the operational use. This
means that the new and old system are run in the parallel for sometimes, errors are
identified and the corresponding errors are to be concerned to get the required output.
The set of working programs and initialized tables are also provided for the easy start
of the user, in addition, system documentation is also provided, all users have been
trained to use the system.
This creates two problems,
44
45
Guarantee that all independent paths within a module have been exercised at least
46
once.
Exercise all loops at their boundaries and within their operational bound.
47
6. Experimental Results
FrmLogin
(Module to Authenticate User)
FrmBill
(Create and modify bill and print the saved bill)
48
FrmBillSummary
(Show bill summary for particular date range)
49
FrmExportData
(Export product Data in FlexGrid and MS-Excel with formatting)
50
FrmCompanyInfo
(Add/Modify Company Info)
51
7. Conclusion
This project was developed to fulfill user and business requirement; however there are
lots of scope to improve the performance of the eBilling and Invoice System in the area
of user interface, database performance, and query processing time. Etc.
So there are many things for future enhancement of this project. The future enhancements
that are possible in the project are as follows.
Electronic Data Interchange (EDI) system between banks, other credit verification
agency and their vendors
52
8. References
Websites
http://www.google.com
http://www.microsoft.com
http://www.programmer2programmer.net
http://www.codeproject.com
http://www.msdn.com.
http://www.vb123.com
http://www.vbcode.com
http://www.sqltuner.com
Books
53