Guide: How to automate payment reconciliation with virtual IBANs


Posted on March 14, 2023
Guide: How to automate payment reconciliation with virtual IBANs
Manual payment reconciliation is giving your Ops team nightmares. Virtual IBANs could offer a better way.
OpenPayd Editorial Team
OpenPayd Editorial Team
March 14, 2023

Most people will have parts of their job that they like less than the rest of it. Particularly tasks that are draining because they’re repetitive, difficult or simply because they prevent us from doing more interesting work.

Manual payment reconciliation ticks all three boxes. Funds need to be reconciled accurately for a business to run smoothly and remain financially compliant, but clunky payment infrastructure can make this a painstaking task.

But this article is about good news. Improvements in payments infrastructure are not only helping to ease this problem, they’re eliminating it.

Under the hood of payment reconciliation

Let’s say your business is a remittance service, enabling people to send funds to family members across the world in various currencies. Perhaps you have an investment platform, which customers use to buy stocks, crypto or exchange currencies. Or maybe your online marketplace lets customers put money in an eWallet for subsequent purchases.

What unites these businesses? Their customers all need to send money to the business, and then track pay-outs using that client balance. There are thousands of companies like this across different industries, each with their own nuances and quirks.

However, all of these businesses need to reconcile the payments that come in from their clients and the standard approach to reconciliation will probably look something like this:

  1. The company has a single master account for all incoming customer payments.
  2. When a customer wants to add funds to their account via bank transfer, they need to include specific reference information to differentiate it from every other incoming payment.
  3. If the reference information is correct, the company’s back-end system will detect where funds should be allocated and update accordingly.
  4. If the information is incorrect or if their back-end system doesn’t automatically reconcile incoming payments, the operations team will have to manually assign the payment to the user.

Now, put yourself in the shoes of the operations (Ops) team member charged with fixing this. You have no idea where the payment should be allocated to. All you have is a sum sat in the company’s master account, an incorrect or missing payment reference, an irate customer wondering where their money has gone and a lot of questions.

That’s when the hunt begins to determine which customer the payment belongs to. This could involve opening investigations with service providers, downloading and reviewing transaction statements and back-and-forth conversations with the customer to receive proof of payments. All of this takes time and further complicates the process of settling the payment.

If this is painful for your Ops team, it’s infuriating for the customer. They will want to use their funds as quickly as possible and a missing payment will stop them in their tracks.

For a small business processing just a few incoming payments each month, reconciling them isn’t going to be a big job. But for businesses that are scaling rapidly, payment reconciliation becomes incredibly taxing for Ops teams.

Payout pains

Then there are payouts. For many services like remittance businesses, customers will be making a payment out every time they use the company’s services. But if the beneficiary’s account does not recognise where those funds are coming from, or labels the transaction as suspicious because the reference information, sender, details and ID data doesn’t match up, that transaction is likely to fail. In that situation, the funds will be sent back to the account or held by the recipient’s bank.

The tricky part is that when those funds come back, the returning payment may not have any reference information that could direct it to the right place. So more detective work ensues, with the Ops team manually trying to determine exactly which customer the failed payment belongs to, so they can allocate the funds as quickly as possible back to them and the customer can attempt the payment again. This can involve more difficult conversations with beneficiary banks, more back-and-forth with customers and more laborious reconciliation work in an endless CSV file.

Two big issues jump out here. Firstly, reconciling these failed payments involves a huge amount of work from a business’s Ops team. It’s not uncommon for employees to not only spend a portion of their working day trying to resolve failed payments, but to spend their entire job handling them. Even when they find where a failed payment has probably come from, there’s still a lot of guesswork involved.

Many Ops teams will be up against the clock. Segregated master accounts are the gold standard for keeping client balances separate from a business’s corporate accounts. But that extra protection for customers comes with additional scrutiny: depending on their licence, companies will have to reconcile the funds held in their client safeguarded account within a certain timeframe – they are legally required to ensure there’s no residual balance that can’t be accounted for.

Secondly, it’s an abysmal customer experience for the end user. Their payment has failed, and their funds are missing while the Ops team investigates. And of course, there’s still a risk of human error – if funds are then sent to the wrong user by mistake – which creates another set of problems for Ops teams.

Virtual IBANs – a better way to pay

If you work in Ops and you found the previous section triggering, we’re sorry. But there is a much better way of reconciling payments that’s possible with virtual IBANs.

By issuing virtual IBANs (vIBANs) to every single user, they will each have distinct payment information for every payment in and out that is associated with them. Because the IBAN is unique to the customer, when they make a bank transfer to your company, there’s no need for additional reference information, as the payment is routed directly to that vIBAN and automatically allocated to the client account.

This basically addresses the payment reconciliation issue at the source. With unique payment information for each customer, there’s no room for human error when making a payment to the business. That in turn means Ops teams don’t have to dedicate hours or days every week to reconciling payments with incorrect reference information.

For payouts, transactions are again being sent out via the same vIBAN. If that payment fails, the Ops team doesn’t have to bust out their deerstalker and pipe: the payment returns via the same user-specific vIBAN it came from, allowing for the return to be instantly allocated back to the customer.

In terms of both operational overhead and customer experience, the difference is night and day. Ops teams are able to focus on solving other business challenges and growing the business, while customers aren’t left wondering what happened to their payments.

How to automate payment reconciliation with OpenPayd vIBANs

Everything we’ve discussed so far has been theoretical; now let’s get our hands dirty with some real Banking-as-a-Service that we do at OpenPayd. 

This is how we use vIBANs to address our customer’s issues with payment reconciliation:

1. Create a segregated master account

For a client that’s handling a lot of pay-ins and pay-outs on behalf of users, we’ll start by issuing a segregated master account. This will keep user payments and balances separate from the business’s day-to-day spending from their corporate account.

Anyone can test the account functionality by creating an account in our Sandbox environment that will let them test the functionality. You can see how to do that in our interactive demo:



However, our production environment is slightly different. During the onboarding process, our team will create a master account for a new client as the first step towards setting up their account infrastructure. 

2. Issue vIBANs at the user level

Now we’re cooking with gas. Once you have the company-level account infrastructure set up, we can start to create the underlying virtual IBANs for individual users. Within our API documentation, you’ll see these referred to as “Linked Clients” – this just means a person or business that is receiving a unique IBAN and pay-in/payout functionality. Our Linked Client page explains this in more detail.

To create a vIBAN, you will need to use the Create Linked Client API call. The format will depend on whether this is a business or individual who we are creating the vIBAN for.

Typically, this API call will be integrated into the onboarding process of a new user. Because most of our clients will already have a comprehensive onboarding process, they’ll look to integrate this data collection and account creation into their existing user journey. Once a user has input the relevant information into your platform, it will send an API call to our system to create a matching account in the user’s name. This will take some developer work to set up the API calls and integrate it into the user onboarding journey.

Other API calls for actions like Updating a Linked Client Account can then be integrated into other stages of the platform’s user lifecycle management, depending on your need.

At this point, you’re ready to start using vIBANs for incoming and outgoing payments. Depending on the type of payments you’re receiving from users, this will dictate how you integrate the unique information into your systems – if you’re accepting bank transfers from users, you can simply create a List Bank Account API call which will retrieve and display for a user their unique vIBAN information. They can then use this information to send a payment from their banking app. On the other hand, if you’re receiving direct debits, the user will never see their unique IBAN – the vIBAN infrastructure is a purely internal reconciliation tool for those direct debits.

There are a few additional API calls required to make payouts from a user’s virtual IBAN – such as creating a beneficiary – which we won’t go into detail on here. From a payment reconciliation perspective, once the vIBAN is created, any payouts will automatically be reflected in the user’s balance. If there are any failed or returned payments, they will all return to this vIBAN and its balance will be updated accordingly.

One final decision you will have to make is whether to sweep client balances from the vIBAN level up into the master client account. This won’t affect the vIBAN’s role in payment reconciliation – it will still track every incoming and outgoing payment for a user. However, some of our clients find it easier to manage client balances when they are all held in one central account, rather than distributed across hundreds or thousands of underlying accounts.

3. Integrate into your existing services

We now have a full payment and account infrastructure that automatically receives, holds, sends and reconciles user payments. In other words: we’ve built a single source of truth which records exactly how much money you’re holding for each user.

There’s just one piece missing: integrating this functionality into your other systems and processes. We’ve touched on some of these so far, with the various API calls that can be used to create accounts and initiate payments. This is where webhooks come in.

Webhooks will allow your systems to receive automated messages when specific actions occur on our platform. For example, if a user payment fails and is returned, we might want to let the user know that their payment has failed. Setting up a webhook to fire when this happens allows our clients to then notify their user that they have had an issue with their payment, with an in-app notification or SMS for example.

For operations teams, these webhooks might be used to send automatic notifications of failed payments, daily updates on residual client balances, or any other operational flows that the team requires. This allows our clients to build custom information flows on top of their payments – either automating more manual processes, or introducing manual checks for failed or cancelled payments.

You can configure a webhook in the OpenPayd platform, under the Developer Tab within the OpenPayd platform – if you haven’t already, you can create a sandbox account here to explore our platform and see all the webhooks we offer.

Webhook endpoint visual from the OpenPayd platform

In a nut-shell, webhooks allow our clients to pull out individual data points they need from our system, and send that data to where it’s needed, as often as it’s needed, without the operations team lifting a finger. 

The future is automated

This covers (at a very high level) how to issue vIBANs with OpenPayd and how they can be used to resolve payment reconciliation issues.

If you’re interested in using vIBANs for your business, contact our team today. Once set up with OpenPayd you can issue hundreds of thousands of vIBANs, fast. Your Ops team can finally get a good night’s sleep.