Online bank for both private and business customers. Probably the 1st in Russia. Tiit, Anton, Andrei, 24 Mar 2015

We had previously revamped online banking for private customers for Bank Saint Petersburg (BSPB) and got positive feedback from its customers. Then mobile banking. So, it was time for business customers.


In Russia, when we first saw a typical online bank for private persons, we were frightened. Then we saw a typical offering for business customers and understood that private persons were lucky.

Today’s online banking for Russian business customers can be described with the following words:

  • domination of standard “box” solutions by a few providers;
  • private and business online banks are separate;
  • while online banking offering for private customers has seen active development in past years by the top banks (and we took an active part in it!), then business online banking has remained outdated.

Despite that, we strongly believe that using online banking should be the same for private and corporate customers, because in the end there is the same person behind the screen - the role is just different. Add to this the benefit of fast changes and easier maintenance for a single system on the bank's side.

In Swedbank we merged bank's website and online bank for private customers already in 2008 and added corporates in 2009. This became the benchmark and is offered today by most banks in Estonia and neighbouring countries.

When we were making demo for the first time at BSPB in early 2012, the idea of single online bank was perceived well, but was put on the shelf to wait for better times.

Better times come

Things change. Success of the new online bank and mobile bank for private customers as well as the new bank's website on the same technical platform helped BSPB to decide to disrupt the market again and launch the full remake of online bank for business customers.

The goal was to build on the successful solution for personal online banking and to reuse what had already been developed to offer completely new user experience for business customers. As stated earlier, they were used to rather dull and difficult to understand screens originating from the 1990s. Plus one must not forget the potential for cross-sales through private customers bringing their companies to become bank customers through great digital relationship they already have.

Sounds easy: we could reuse tons of code and usability patterns - just had to make it possible to fetch business customer's data from backend systems just like we do with privates. However, business customers need some additional functionality that privates don't have, and we had many ideas how to make business customer's daily life easier.

But the real limiting factor to implementing all the great ideas right away was that we had to match the functionality of the existing online bank first, and there were many many nuances to reach that goal. Think inefficient and outdated laws, bureaucracy and conservatism. But more on that later.

Naturally, we started with our usual agile and step-by-step way: first version was up and running after a month of development, where a small group of test customers could select a company that they are representing after login and have roughly the same functionality that private customers have access to, with proven cool features, like smart payment suggestions, bill payments, visual presentation of bank cards, to name a few. We also added calendar, where customers can see the expiration of bank cards and other bank products, future payments, etc, with some extra features for businesses, who even more need to be reminded of many banking and legal events.

Not easy to run a business in Russia!

Simple users, as most of us are, do not even imagine how hard it is run a business in Russia! Massive load of bureaucratic and reporting nuances that need to be considered in everyday life. For instance the bank is helping companies in their relationship with the state by displaying important dates in reporting (and there are many of them!). We added auto-suggestions for tax codes, currency codes, etc on complex forms. We tried hard to make many forms less complex and more understandable to novice users than they usually are. We strived for helping the users and improving usability in every step.

Acquiring, another important area for businesses (receiving card payments and operating POS terminals), got simplified as well and easy to read reports made available for customers.

Payroll management is a very important functionality for Russian business customers and banks, as most employees are required to receive their salaries in the same bank where their employer chose to be. The fight for customer acquisition is (still) in full swing and getting the next thousand of private customers through payroll management for a business customer is a lucrative goal. Most likely this will change in the years to come, and our code is already ready for paying salaries to accounts in other banks as well.

Currency inspection is another Russian peculiarity. After the domination of US dollar on the local market in 1990s and early 2000s, the country tries to monitor all foreign currency transactions very closely. A huge and difficult legal framework have been built to report everything, so our users need lots of help with coping with these requirements.

Payment preparation and acceptance is another bit of functionality that business customers need. Usually, company accounts are accessed by several people with different roles and hence rights of access. E.g. an accountant prepares payments, and the owner accepts them as a batch, with the possibility to cancel, revoke, etc. And with a possibility of several layers of acceptance, if needed. We would have preferred to have a simpler system, but we couldn't deliver less that was already possible before.

Data import and export was also extended for businesses. Often, companies use 3rd-party software for accounting or ERP, so we had to make it possible to exchange data with this software. The most popular solution is by company called 1C, so we added support for their de-facto standard file formats.

While not technically a part of online banking, we also worked on a Gateway, a machine-to-machine interface to the bank for the biggest customers.

Everyone can try the demo version!

A rather unprecedented feature in the Russian market is the free availability of an actual demo version, where potential customer can click through most of the functionality in demo mode. We hope this enables BSPB to increase its customer base among small and medium size businesses, its target market.

Technical challenges

Cryptography is difficult in Russia, while required by law for bigger transactions. In Estonia we are happy to live in a country that was the first in the World to make digital signatures legal and a commodity. We have government-provided infrastructure and software for that (and we took part in developing it). In Russia the laws are in place, but there is no technical support from the government or even standard way to do that. There are a handful of commercial providers of incompatible cryptographic solutions that all must be certified by FSB before they can be used in a court. De-facto standard is to use USB tokens for key and certificate storage, and these must be provided by the bank. We had to develop the whole infrastructure, including a CA (Certification Authority) for managing and issuing of digital certificates to customers, including hardware support for several types of tokens in several browsers across several operating systems. Needless to say, these things take time.

Some good things still - we were able to implement the server side support using open source tools. On the customer side we had to rely on 3rd party solutions. There are many ways to improve the situation and we hope to participate in this process as well.

More complexity - here we go! Although Microsoft announced the end of Windows XP, we had to support it since surprisingly large number of bank customers are still using it with no short term plans to upgrade.

The same applies to browsers. When private customers update to newer versions rather quickly, this does not apply for corporates. We had to guarantee all works on IE8, which had proportionally 3 (!) times more users compared to private customers. This meant that we had to backport some of the sexy functionality and introduce many workarounds for a browser that is more than 6 years old.

We hoped to maximize reuse of components developed for private online bank, but ended up with a separate integration. The reason - in core systems private and business customers are treated differently and stored in different subsystems. An account is an account and a customer is a customer, isn’t it? Well not always and here we see many reserves in performance improvement and complexity reduction.

And of course, making bureaucracy user-friendly is a great challenge, too. Sometimes you have a monstrous 40-field form, and you try to pack it into something smaller and more useful.

Not only technical challenges - legacy in thinking

It does not come as a surprise, that business is heavily regulated in Russia. As a result, finding a balance between one of our mottos “less is more” or “keep it simple” and a very regulated banking for corporates was very demanding, at least we felt so. Often we were asked just to implement xyz (Central Bank) requirement line by line, as the rule said. Bank employees were afraid to check with the regulator to give it a second thought with the goal to simplify. “Their lawyers will not accept this” was a phrase we heard often.

One separate “world” in regulation is currency inspection, mentioned above. In short, every foreign currency transaction over 50,000 roubles has to be declared by corporates in Russia, and we had to implement this in online bank as well. During the project, the scope of this task grew significantly (which is completely OK in agile world!) and “a couple of forms and documents to print” turned out an almost endless array of nuances and respective user stories. For instance fields on the forms are used not for original purposes: a date field becomes a text field, making automated control impossible. Paper thinking is overwhelming in the country and it is taken without adjusting the logic to the online world.

Which takes us to the endless tuning of print forms. There are really tons of them! Every little step has its special form (either standard or agreed with lawyers) and they seem to be hard to change… We could have spent almost indefinite amount of time discussing them to find out what can we do to save time in development and move further. There’s good point as well - we did it! Not only, in the process we improved our skills covering PDF-s and using digital signature with automated testing.

Lessons learned

As private persons, we are all great testers for personal online banking. To get real customer feedback early on during development, the entire project team was lacking the experience as business user (if we do not count Anton as Board member of Codeborne, but that’s another country). We had to use all our imagination, what the real user should see on the screen.

Small steps

It was great that the bank opted for a gradual shift. From the official launch on October 1st 2014 the new customers are signed up to the new online bank. Existing customers will be switched when their certificates expire (during 1 year) or when they decide themselves to switch. This results in gradual increase in load.

Many people may think that Agile is not for “serious” projects like business online banking. On the contrary! When a private person discovers a problem, they will usually wait for a day before checking whether it has been fixed. Business customer calls back in an hour and checks, is it OK already? Again a big plus for agile approach since if it is a critical problem, we do fix it right away! Thankfully, our platform allows updating the production system during the working hours without any downtime. The more serious business, the better is to approach it in agile way.

Customer feedback - too nice!

The bank organized a group of customers to test the solution already after the first month of the project. We got the feedback through bank employees and it helped to debug common problems from the beginning.

The bug reporting system built within the online bank is helping us to discover problems and react promptly. For instance, once it turned out that there was a company with more than 160 characters in its name (!?!) that did not fit on screens / printing forms.

After the public launch some accountants told the bank “it’s too colorful”! The companies they worked for had accounts in several banks and they had to use different interfaces. The others, they claimed, “were more table / box-like and grey”.

Interesting to note that the end users have given very little feedback about the regulated print forms (that were super-important during development), there are rather more comments on usability and functionality they would like to see next.

And it was not only customers who gave us feedback. Andrei, one of our BSPB team members, posted on the official launch date in his FB the news and pretty soon his friends - testers - had tried the demo interface and found a few small bugs … Crowdsourcing works even in this area!

What next?

Today BSPB is probably the first bank in Russia which is offering similar look and feel for all of its customers in internet which runs on the same technical platform in the background. As on the first stage the focus was on matching the functionality of the existing online bank, many good ideas were put on hold. Now we get to work on these plus of course mobile applications for iOS and Android. If... there are not too many regulatory changes coming along...

Have you seen it yet? - Check out the demo