A simple banking software design and development using VB.Net
BACKGROUND OF THE REPORT
With a view to acquire an in-depth knowledge about the practical orientation and experiences of dynamic software and business applications world, it is obligatory to undertake an extensive study to prepare a project and project paper by the students of Department of Computer Science and Engineering, World University of Bangladesh, who are desirous to the successful completion of their B. Sc. degree. During the preparation of the project paper, the students are guided and supervised by the teachers of the department with whom they are attached to. Each student is required to work on a specific topic relevant to his/her learning with the attachment with any organization. In this backdrop, this report is prepared for fulfilling a partial requirement of the B. Sc. in Computer Science and Engineering Program. Mr. Md. Zahangir Alom, Lecturer of the Department of Computer Science and Engineering, World University of Bangladesh authorized the topic of this report. This report was an attempt to map out a document, which clearly explains the phases of banking application development, different application methods, engineering processes in a comprehensive way regarding the sample “Simple Bank” banking application software.
OBJECTIVES OF THE STUDY
The objectives of the study are: •
To learn practically how an application is developed.
To apply theoretical knowledge in the practical field
To relate the theories of programming , database management with the practical banking activities
SCOPE OF THE STUDY
The Report focuses comprehensive analysis on the topic. Specifically it has covered the following aspects:
Host Organization: Banking Sector in General
Host Platform: Personal Computer with Windows XP, Windows Vista or Later
Branch of a Commercial Bank
Report Engine: Crystal Report
Object: Simple Bank- A sample Banking Software Solution
Application software and a document which clearly explains the phases of banking
With a view to complete this study, the basic strategy and research method have been followed which are stated bellow: •
Incremental process model is used in software design process.
Software user interface design, coding and reporting are based on and conform to VB.Net platform.
Ms Access 2000 database is used in data collection and data organizing.
Conducting interview for data and process collection
Analyzing data and constructing Database
Developing the application and Presentation of project and achievement in a report
1.4 SOURCE OF INFORMATION The project developed and the report has been written on the basis of information collected from1.4. A Primary Sources of data •
Face to face conversation with the bank officers.
Informal conversation with the clients.
Conversion with ex-bank personnel.
Practical interaction of myself as a savings bank account client of a bank.
1.4. B Secondary Sources of data •
Different kind of daily Reports of a commercial Bank in general.
Pro-forma of Clean Cash/Trail Balance, Statement of Affairs, Profit Loss Statement, Balance Sheet available in websites
Prospectus of different banks.
Products brochure of different Commercial Banks
Different Bank Websites
1.5 LIMITATIONS OF THE STUDY The limitations of this project and project report are as follows: •
The knowledge constraint of the project developer, especially regarding banking. Another main constraint of the study is time limitations many of the aspects could not be programmed and discussed in the present project and report such as General Ledger, Remittance sytem, Interest and Charges Calculation modules and Security and Encryption. In further increment this modules can be added in future.
Availability of data was limited. No original data set could be collected from banks due to their principle of customer information secrecy. Dummy data has been used.
As the literature reviews/documentation regarding banking software development was not very available. Different banking software developers don’t want to show their code to others.
1.6 THE PROJECT MANAGEMENT SPECTRUM Four P’s have a substantial influence on software project management—people, product, process, and project. People must be organized into effective teams, motivated to do high-quality software work, and coordinated to achieve effective communication. The product requirements must be communicated from customer to developer, partitioned (decomposed) into their constituent parts, and positioned for work by the software team. The followings are the 4 P’s of the project: 1.6. A PEOPLE One, the developer himself. To compensate the hunger of experienced analyst and developers needed in this kind of project, suggestions from banker/ex-bakers and experienced programmers are resolved. 1.6. B PRODUCT A Core Banking Software Solution can be called “Simple Bank”. The product objective has been defined as to deliver core banking service at a state of the art way promptly, efficiently and flawlessly. And scope of the project is defined by answering the following questions:
Context: How does the software to be built fit into a bank business context and what constraints are imposed as a result of the context? Information objectives: What customer-visible data objects are produced as output from the software? What data objects are required for input? Function and performance: What function does the software perform to transform input data into output? Are any special performance characteristics to be addressed? Additional questions also self analyzed are: • Who is behind the request for this work? • Who will use the solution? • What will be the economic benefit of a successful solution? • How would you (the customer) characterize "good" output that would be generated by a successful solution? • What problem(s) will this solution address? • Can you (Bank Officer) show me (or describe) the environment in which the solution will be used? • Will any special performance issues or constraints affect the way the solution is approached? The set of questions enables me to gain a better understanding of the problem and the customer to voice any perceptions about the solution. After scoping Problem decomposition or partitioning or problem elaboration has been done by me to elaborate the scope of the project. Each of these features represents a sub function to be implemented in software
1.6.c PROCESS Choosing the software engineering paradigm that is best for the project and the software engineering tasks was a difficult decision. A relatively small project that is similar to past efforts might be best accomplished using the linear sequential approach. But the project “Simple Bank” comprises not a small project. So the linear sequential approach is rejected. If very tight time constraints are imposed and the problem can be heavily compartmentalized, the RAD model is probably the right option. Here the project has to be accomplished at a very tight schedule but the human resource is not adequate to run a RAD model. So the RAD model is rejected. If the deadline is so tight that full functionality cannot reasonably be delivered, an incremental strategy might be best. In this project it is considered that the incremental process model will best serve the product development. The incremental model combines elements of the linear sequential model (applied repetitively) with the iterative philosophy of prototyping. The incremental model applies linear sequences in a staggered fashion as calendar time progresses. Each linear sequence produces a deliverable “increment” of the software. In this project, banking software developed using the incremental paradigm can deliver basic banking activities such as an account opening, cheque book maintenance, payment processing, summation of transactions and document production functions in the first increment; more sophisticated editing and report production capabilities in the second increment; parameterized system implementation in the third increment. The Interest and charges application module will be delivered in the fourth increment in future, and if necessary further addition will be made in further increment. The process flow for any increment can incorporate the
prototyping paradigm. When an incremental model is used, the first increment is often a core product. That is, basic requirements are addressed, but many supplementary features (some known, others unknown) remain undelivered. The core product is used by the customer (or undergoes detailed review). As a result of use and/or evaluation, a plan is developed for the next increment. The plan addresses the modification of the core product to better meet the needs of the customer and the delivery of additional features and functionality. This process is repeated following the delivery of each increment, until the complete product is produced. So, here the core product (mainly the transaction screen) is developed in first increment and after evaluation next additions such as account opening, cheque book maintenance, parameter, user activity in further increments.
Figure 1: The incremental process model used in this project The chief reason to select the incremental process model for this project is that it is iterative in nature. But unlike prototyping, the incremental model focuses on the delivery of an operational product with each increment. Early increments are stripped down versions of the final product, but they do provide capability that serves the user and also provide a platform for evaluation by the user. Incremental development is particularly useful for this project because staffing is unavailable for a complete implementation by the project deadline that has been established for the project. Early increments have been implemented by only one people- here the developer himself. 1.6.d PROJECT In order to manage successfully the software project, I have tried to understand what can go wrong by the following ways: 1. Start on the right foot. This is accomplished by my working hard (very hard) to understand the problem that is to be solved and then setting realistic objects and expectations 2. Maintain momentum. My emphasizing is on quality in every task the project/software performs. 3. Track progress. In this software project, progress is tracked as work products (e.g., specifications, source code, sets of test cases) are produced (using formal technical methods) as part of a quality assurance and easy scalability activity.
1.6.e PROJECT SCHEDULE This Software development project schedule was very hard to estimate accurately. But as an examination project my effort to develop the software was in 4(Four) months. No.
Identify Project Steps
Meet with bankers
Establish product statement
Define desired output
Define function/Behavior/ Processes
Collect Common Products
Make data flow diagram
Make data dictionary
Make E-R diagram and relationship
Make Physical Database
Make User Interface
Table 1: Project Schedule 2. PROJECT OUTLINE 2.1 IDENTIFY PROJECT STEPS: The project steps are outlined as follows: Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Step 10 Step 11 Step 12 Step 13 Step 14 Step 15
Identify Project Steps Meet with bankers Establish product statement, Problem of the current system Define desired output Scope detection Define function/Behavior/ Processes Collect Common Products Make data flow diagram Make data dictionary Make E-R diagram and relationship Make Physical Database Make User Interface Coding Testing Documentation
2.2 MEET WITH BANKERS: To gain an insight about banking and the manual system the first practical work was interviewing of bank professionals. I have gain knowledge about bank products, daily operations and different terms of banking from Mr. A. Qaium, Senior Officer, BRAC Bank Ltd. To know the problem of the manual system I have extensively interviewd Mr. K. M. Najmul Ahsan, Asstt. Operation Manager of Sonali Bank Ltd. Through them I have also interviewd several colleages of the said two. I have prepared questionnaires (Appendix 1-4) for the interview which helped me a lot to prepare the outline of the proposed software system. 2.3 ESTABLISH PRODUCT AND PROBLEM STATEMENT In-promptness in payment system, hard labor requiring in maintaining daybook and ledger, Inconvenience in maintaining precision in summation and balancing, Inability to give any kind of bank service one stop, manual working for interest calculation and charges deductions, Inability to get customer account statement on the go - are the most objectionable characteristics of manual bank system. On the contrary, in the proposed system a passing officer can get a customer signature card on the computer screen when he just enters the customer account number and if the cheque leaf presented in the counter for payment of that account holder is registered/entries in the system earlier against that account then the cheque can be easily recognizable as valid for payment provided that the balance of the account held sufficient for the transaction without any obligations. This dynamically reduces passing time of a cheque for payment in a bank counter than that of a manual system. In the new system account statement of a customer can be given instantly. I wanted to introduce a feasible system that faster and convenient. 2.4 DESIRED OUTPUT a. Transaction processing screen that can provide party account balance that can process credit transactions that can process debit by cheque transactions that can process debit by voucher transactions that can provide other operational status of a party b. Customer Account Statement c. Daily Transaction sheet/ Day Book d. Cheque Book statement/Register 2.5 SCOPE DETECTION
To determine scope I have answered the following questions: • How the software to be built does fit into a bank business context? The new system will take place of the manual day book, ledger, and registers and will assist the users/officers to take prompt action providing various information and constraints automatically. • What function does the software perform to transform input data into output? The software will permit the data to enter if it is a valid transaction and will store the transaction in physical database. The output of the data will be daybook, account statement, updated account balance etc. • Who is behind the request for this work? The customer of the bank will request a service such as payment of a cheque, or may request his account balance or may request for a cheque book to the Bank Officials. • Who will use the solution? Bank officials of different mid level position such as Asst. Officer, Jr. Officer, Officer, Senior/Executive Officer, and Senior Executive Officer The development environment scope is defined as followed:
Host Platform: Personal Computer with Windows XP, Windows Vista or Later
Development Platform: Front End:
Report Engine: Crystal Report 2.6 DEFINE FUNCTION/BEHAVIOR/ PROCESSES Several functional areas in general banking are identified as: a. Account Open b. Cheque Book / Receipt Block Issue /Stop Payment c. Debit Party Account d. Credit Party Account e. Summation of Party Account Balance in Ledger f. Bank Statement Issue g. Change Party Account Status a. Account Open When a customer first come to a bank to transact on a relationship basis- the bank opens an account in the name of that customer and thus the banker-customer relationship builds. Commercial banks offer many deposit and advance products to their customers to choose and then open the customers account
on the selected/intended product ledger. Such as a man named A. Latif came to a bank to open an account in which he can transact by depositing and withdrawing from his balance. In this case his preferred product is Saving Deposit. The Bank will then provide him a savings bank account opening form which he will sign, fulfill and submit to the related bank official. The bank official will check the documents and then provide an account number particular to A. Latif. b. Cheque Book / Receipt Block Issue /Stop Payment After A. Latifâ€™s account opens the savings bank account holder will deposit his money to the bank. When he intends to withdraw his money in future he will need a cheque book. So after opening an account the bank will provide a cheque book. The bank will provide cheque book to the account holder broadly to the products of the category 1 and category 2 Category 1. Time and Demand Deposit (Except Fixed Deposit) Category 2. Advances Category 3. Fixed Deposit Alike Product Account holder will get a Deposit Block Receipt instead of a cheque Category 4. Annuity Deposit account holders will not receive any cheque book. c. Debit Party Account When an account holder comes to withdraw money he will just place a cheque (which was issued to his account earlier) to the counter. The passing officer will verify the cheque and after his full consent and passing payment will be done to the account holder. In case of annuity deposit account holders (like SDPS, DPS) the money returned by Pay Order when an application of withdrawal from the account holder received. The fixed deposit account holder will just place his Fixed Deposit Receipt to withdraw the money. d. Credit Party Account When an account holder comes to deposit his money the cashier will take his money and will give back the customer part of the related voucher and the banks part will be retain for transaction. An officer will then make entry in scroll and ledger to update his balance. e. Summation of Party Account Balance in Ledger When a transaction is done the ledger balance of that account is also updated. For a credit transaction of Tk.500/- in A. Latifâ€™s savings account an officer will just open the account related folio in the ledger and just put 500 on the credit side. Finally he will just add 500 with the balance in the previous row to get account current balance. f. Bank Statement Issue Sometimes a customer may ask for his transaction statement. An officer after receiving such request will then make a hand copy of the transactions in the ledger for that account on a prescribed format. g. Change Party Account Status
Party account status may be changed in different circumstances differently because, 1) A party may wish to close his account or 2) may gone deceased or 3) may have no transactions since 2/3 or more years or 4) may done fraudolous activities in his account. In several circumstances like these it is required that the account status is marked properly. In circumstance 1 the account status will be ‘Closed’, in 2 that will be ‘Deceased’, in 3 that will be ‘Dormant/ Inoperative’ and in circumstance 4 that will be ‘Restricted’. 2.7 COMMON PRODUCTS AND SERVICES IN COMMERCIAL BANKS A bank has wide range of product line to suit the need of the people of all strata. In addition to convention product a Bank offers special credit products for its customer. •
3.7.1 Personal Banking Product
Deposit Product Current Deposit Savings Deposit : Urban Area (City Corporation, Municipality, Upazila Sadar Branches ) Rural Area Savings Deposit from Foreign Remittance Short Term Deposit: Fixed Deposit : 3 Months or above but less than 6 months 6 Months or above but less than 1 year 1year or above but less than 2 years 2years or above but less than 3 years DPS: SDPS/SPS/MPS: 5 years 10 years SDS/RDS: 5-7 years MES/EDS: 3-10 years MDS/MMS/Double: 6-10 years
Avg. Rate Nil Others
5.00% 6.00% 6.50% 3.50% 7.50% 8.00% 8.25% 8.50% 15.00% 8.00% 10.00% 8.50% 8.00% 8.00%
List 1: Common Deposit Programs in Banks (Ref: Website) •
3.7.2 International Banking Product 1. Export Credit (Pre-shipment & Post shipment) 2. Facilitating Supplier's Credit 3. LCs (Letters of Credit) 4. Guarantees in Foreign Currency - Bid Bond - Performance Guarantee - Advance Payment Guarantee. 5. Bill Purchasing/Discounting 6. Remittance, collection, purchases & sales of Foreign Currency & Traveler’s Cheque.
3.7.3 Trade Financing Products
A Bank extends multiple credit facilities to boost up trade, commerce and industry. The credit packages and interest rates are as under: Credit Packages Credit to Trade and Commerce Credit for Power Driven Vehicle/Water Transport. Overdraft against: Fixed deposits DPS Accounts Five years period Ten years period Wage Earners Dev. Bond Housing Loan Residential Commercial Small Loan Consumers credit Loans to Public Sector Enterprises. Cash credit facilities for Small Business enterprises Cash Credit facilities against Bricks Manufacturing
Avg. Interest Rates 14% 14% 13% 17% 12% 14% 13% 13% 14% 14% 14% 14% 14% 14%
List 2: Common Loan and Advance Products in Banks (Ref: Website)
3. SYSTEM ANALYSIS 3.1 FUNCTIONAL MODELING As information moves through software, it is modified by a series of transformations. The data flow diagram is the graphical representation of the functional area that depicts information flow and the transforms that are applied as data move from input to output. The data flow model for the system designed below:
Cheque Lot Issue process
File Cheque Issued File
Cheque Book Issue process
Stop Payment File A/C Status File
Cheque / Other Stop process
A/C Status process
A/C Open Process
Debit by Cheque Tr.Proce s
Ledger balance file
Debit by Voucher Tr.Proce s Credit Transacti on.Proce s Report/ Balance. Process
Day Book, Ledger, Statement
Diagram 1: Data Flow Diagram of the system
3.2 DATA MODELING Data modeling answers a set of specific questions that are relevant to any data processing application. To resolve the database structure I questioned myself the following questions: What are the primary data objects to be processed by the system? What is the composition of each data object and what attributes describe the object? Where do the objects currently reside? What are the relationships between each object and other objects? What are the relationships between the objects and the processes that transform them? In answering these questions, I have made use of the data dictionary and entity relationship diagram. The E-R-D enabled me to identify data objects and their relationships. On diagram 2 shown the relationship view of data objects based on the E-R-D. 3.2.a Data Dictionary Account Number Department Account Group Customer first name midname last name guardian mother name gender profession dob age id/passport village Post office Police Station District home phone office phone introducer opening Date expiry date ledger number Operation Mode Account Status Account of Caution savings current overdraft cash credit fixed deposit Table 2: Data Dictionary
month limit of transaction year limit of transaction interest-bearing commercial account minor account current balance Limit department name cheque pages prefix number of chq books starting chq leaf ending chq leaf lot issue date period initial deposit auto renew duration installment installment per year transaction number transaction type amount chq leaf particulars verified passing officer monthly savings deposit sps,dps loan signatory
Diagram 2: Relational Data ( In context of E-R Diagram)
3.2.b Relational Data
Following Data tables created after normalization of data based on the data model. Table No.
Table 4 Table 5
Table 7 Table 8
Table 10 Table 11 Table 12 Table 13 Table 14 Table 15 Table 16 Table 17 Table 18 Table 19 Table 20
tblAllTransactions tblchqbook tblchqlot tblstop tblBankBranch tblBankdate tblnotice tbldept tblotherparam tblrate tblOld2New
Table 21 Table 22 Table 23
tblcurrentbalance tblsignatory tblUser
Table is used to store input data from account opening form/ Customer information Table is used to store Current date transaction Table is used to store characteristics information of a product department Table is used to store account specific data of time and demand deposit accounts (except fixed and annuity group) Table is used to store account specific data of fixed deposit accounts Table is used to store account specific data of annuity deposit accounts Table is used to store account specific data of Loans and Advance accounts Table is used to store all the transactions done from starting. Table is used to store cheque book issue information Table is used to store cheque lot information Table is used to store Account status information Table is used to store Bank name and branch information Table is used to store current bank date Table is used to store withdrawal notice on an account Table is used to store Department code and name Table is used to store other parameters of a product Table is used to store interest rates for all products Table is used to store Old account number with new a/c number reference Table is used to store account balance of all accounts Table is used to store signature of account holder Table is used to store user information
Data table structures are given hereafter.
4. USER INTERFACE DESIGN 4.1 User Login form: When simplebank starts a log on box appears. User have to input user id and password in the specified boxes and then click logon button to get logged in and the main screen appeared with menu.
Fig 1: User Login form 4.2 Menu form: Provides the entire menu for the system.
Fig 2: Menu form
4.3 Transaction form: User can simply put a customer account number in the a/c no. box and press enter. User will find that all information regarding the account holder such as name, account status, account open date, current balance etc. in different areas in the transaction screen. If User want to do any transaction on that account he can just select transaction type,
fill necessary information such as amount, batch number,cheque number (if a debit by cheque transaction), particulars code etc. and then press â€˜Postâ€™ button. If the transaction is valid the account data will be updated.
Fig 3: Transaction form 4.4 Account open/edit form: User just fills up necessary information according to information and presses the create button.
Fig 4: A/C open/edit form 4.5 Signatory form: To save a signature User will click â€˜take cardâ€™ button and then select the card picture and then click save.
Fig 5: Signatory form 4.6 Change Account status form: User just put the account number and change account status by selecting from status combo box and then press change status button.
Fig 6: Change Account status form: 4.7 Notice form: User just puts the account number, put amount of notice, select date of notice and press set notice button.
Fig 7: Notice form 4.8 Cheque Book Maintenance form: User just puts the account number, number of leaf the book contains, starting leaf and then presses Issue button.
Fig 8: Cheque Book Maintenance form 4.9 User Maintenance form: Super User can create a user, give power to that user, restrict his credit and debit limit here.
Fig 9: Cheque Book Maintenance form
4.10 Parameter control panel form: User can change parameter such as interest rate, charges rate, create new module here.
Fig 10: Parameter control panel form 5. TESTING Testing is a process of executing a program with the intent of finding an error. To find an error to resolve black box testing method is used in the project. Black-box testing, also called behavioral testing, focuses on the functional requirements of the software. Through Black-box testing I have attempted to find errors in the following categories: (1) incorrect or missing functions, (2) interface errors, (3) errors in data structures or data base access, (4) behavior or performance errors, and (5) initialization and termination errors. By Black-box testing I have applied all possible sets of input conditions that will fully exercise all functional requirements for the program. By equivalence partitioning method the input domain of a program divided into classes of data from which test cases can be derived. In the test case single-handedly uncovers a class of errors e.g., incorrect processing of all character and numerical data. An equivalence class represents a set of valid or invalid states for input conditions. I have exercised every possible input the user can do in different controls. For example, an user may provide wrong account number or number with less or more digit, user may
enter cheque prefix with less characters or no character, user may enter character where only a numeric input is required, user may provide wrong transaction code, user may provide wrong cheque book starting leaf, user may provide wrong decimal amount such as an amount with three or more digit in the right of precision point etc.All the aforesaid input conditions are handled programmatically so that user may not be able to enter invalid data. Boundary value analysis is also done to several numerical controls. All the possible minimum and maximum values are exercised to find out error in the numerical controls such as account number textbox, amount text box, batch number text box, cheque number text box etc. in the transaction form. 6. DOCUMENTATION 1. Installation: Step 1: Run the setupreport.exe. It will install related files for the report engine. Step 2: Copy the Sbank.mdb database to C:\ drive of your system. Step 3: Copy simplebank.exe and paste a shortcut in desktop. Step 4: Step 4 is needed if the dotnet framework is not available in your system. Just run the dotnetfx.exe to setup dotnet framework 1.1. 2. Run Just double click the simplebank.exe and log in using valid id and password. 3. Operation: Log On: When simplebank starts a log on box appears. You have to input your user id and password in the specified boxes and then click logon button to get logged in and the main screen appeared with menu. Menu Description: a) Transaction You can simply put a customer account number in the a/c no. box and press enter. You will find that all information regarding the account holder such as name, account status, account open date, current balance etc. in different areas in the transaction screen. If you want to do any transaction on that account just select transaction type, fill necessary information such as amount, batch number, cheque number (if a debit by cheque transaction), particulars code etc. and then press â€˜Postâ€™ button. If the transaction is valid the account data will be updated. c) Account Open/Edit Just fill up necessary information according to information and press the create button. d) Account Status Just put the account number and change account status by selecting from status combo box and then press change status button. e) Signatory To save a signature just click take card button and then select the card picture and then click save. f) Cheque Book
Just put the account number, number of leaf the book contains, starting leaf and then press Issue button. g) Seven Days Notice Just put the account number, put amount of notice, select date of notice and press set notice button. Reports: a) Account Statement Just put an account number and click account statement button to get account statement. b) Other daily statements Select desired options and click on radio buttons of your required report. c) Help Help text can be find here. d) About The Project Information about the project developer. Maintenance: a) User Maintenance You can create a user, give power to that user, restrict his credit and debit limit here. b) Parameter You can change parameter such as interest rate, charges rate, create new module here. Process: a) Backup Backup database. b) Restore Restore database. c) Day end Day ends if the both transfer sides are equal and given cash balance is equal to simple bank system summation. Then the next day is initialized. 7. CONCLUSION This report was an attempt to map out a document, which clearly explains the phases of banking application development, different application methods, data and function engineering processes with self description and documentation in a comprehensive way about the sample â€œSimple Bankâ€? banking application software. Today it is widely recognized that availability of efficient information and transaction systems is essential for financial organizations like banks. So definitely there is good market for banking software and banking software developers. I am confident that I have acquired indepth knowledge about the practical orientation and experiences of dynamic software and business applications world after finishing this project.
8. RECOMMENDATION •
Back end or database can be upgraded to SQL server for greater data integrity, security and functionality.
To enable working in Network environment .net class and SQL features can be used in future.
Before launching the software in live mode the manual system and the automatic system should run parallel for 1 month so that any discrepancy in the new system can be detected.
The banking system should be operated by computer literate as well as ‘Simple.
Users should maintain their passwords secret.
Everyday backup of the banking database is strongly recommended.