Commercial or retail banks use what is known as core banking software which record and manage the transactions made by the banks customers to their accounts. For example, it allows a customer to go to any branch of the bank and do its banking from there. In essence, it frees the customer from his home branch and enables him to do banking anywhere. Further, the bank's databases can be connected to other channels such as ATMs, Internet Banking and SMS based banking.
Banking software is used by millions of users across hundreds or thousands of branches. This means that the software must be managed on many machines even in a small bank. The core banking system is a major investment for a retail banks and maintaining and managing the system can represent a large part of the cost of running a bank.