Automating Payroll payments with Wise and Starling
Automating salary payments using Wise to save time and reduce risk.
Running a business like The Curve presents various challenges, a subset of which are to be carried out on a regular basis. For any of these tasks that are regular and frequent enough we do our best to outsource, automate them or at the very least make them less tedious or "painful".
I've found paying staff to be one of the more challenging, risky and painful tasks as the team has grown - this post looks at ways to automate as much as possible to remove as many risks as possible.
The approach below also has the benefit of masking individual salary transactions on the bank feed which makes it safer to give others access for reconciliation purposes - for example we link Starling to Slack which helps, especially with non-GBP transactions:
When we started it was easy, we paid ourselves a fixed amount each month as directors.
Once we started bringing on staff it got more complicated.
Our accountants have always processed payroll for our PAYE employees meaning we provide any instructions or variances and they work out the final take home pay, pension and national insurance contributions and send it to us as a set of PDFs.
We then transfer the take home pay to each employee based on the data from the accountants, as well as scheduling up the Employer NI payment and putting the pension contribution aside which is collected via direct debit.
Paying employees is most the risky bit - for each person you have to identify the right amount and then complete a bank transfer. Copying the wrong cell from the PDF can result in the wrong person receiving the wrong amount of money as the summaries have multiple rows (one per employee) and often multiple views such as take home pay, cost to employer, pension, NI, etc...
It's also fairly tedious for us to process numerous payments as the Starling app asks for your password every time - which is great and secure - but despite having a web app which makes life a little easier, each payment can only be confirmed on a mobile device.
Typing a complex password on a phone is a pain and the app prevents pasting.
Scale this up to 20 staff and the time taken processing payroll feels like an age.
In fairness, an iPad with a keyboard helps a lot and while I have largely reduced the whole process down to around 10 minutes, the risk of paying the wrong amount is still not ideal and as we continue to grow the process will take longer and the chance for mistakes is likely to increase.
We've also had our account temporarily frozen due to making numerous payments in a short space of time.
Wise (formerly TransferWise) started as a cost effective cross-currency money transfer system but has since broadened it's services.
Once signed up and approved (there were a few hoops to jump through here) you can make Batch payments by nominating payees and transfer amounts in one step (via a spreadsheet upload) and then transferring the full amount of money in one lump sum to initiate the payments.
There is a small fee per transaction (£0.32 at the time of writing).
I have created a template to use with Wise based on their sample which includes the employees and their bank details.
Each month I copy it, add (or incredibly rarely remove) rows as needed and input the salaries by copying from the Payroll PDF.
I can quickly sum the column to ensure the total is correct and compare that to the sum on the Payroll PDF.
Then I download the CSV version ready to upload to wise.
Start a new payment batch with the "Send money" call to action on the left.
Then select "Batch payments":
Now the CSV (or XLSX) file can be uploaded.
There are also templates available to download which is how I created my initial payroll sheet, I opted to "Send to bank accounts" so if the recipient list changes I don't have to manually add or remove staff from Wise:
Rows can be added by submitting a form - I used sample values to acquire the template then added in the real details using Google Sheets:
It is important for the "Amount currency" to be "Target currency" ("target" in the sheet), even though its GBP on both sides as this then also ensures the fee is on top rather than subtracted from the pay.
Once the file has all the required details it can be uploaded:
After a brief processing time a preview is generated of all the transactions that will be carried out.
Once I'm confident the transfers are correct we have to add funds to Wise. For a batch we can do a one-off transfer with a unique reference. Below we can also clearly see the fees (£5.76 for 18 transactions).
Making the Payment
When I'm ready to pay I simply do one transfer using the details provided.
I can prepare the batch in advance and transfer the funds later, or pay it immediately.
After the transfer, Wise confirms and starts the subsequent payments.
Within the batch we get a summary of all the payments and there status:
Each payment can also be inspected:
This process is probably not much faster than the rapid-fire payments I was making before - but it is less rushed, less error prone and certainly less tedious.
As the size of our team scales this process should not take exponentially longer as I am just copying columns between sheets.
There is a cost, but it's trivial especially if weighed up against the value of time or the cost and impact of mistakes.
I am aware of other ways to solve this problem, including paying other companies to handle it, but at our size that feels like overkill.
Xero have support for batch payments through Wise but as we don't use Xero to manage payroll there don't appear to be major gains there.
I understand larger/high street banks can take payment files - we do have other accounts but do not appear to have access to such features - that said we currently do not spend any money on business banking or fees.
Starling have also added a bulk/batch payments feature but that currently costs a bit more than the Wise fees.
Ultimately I expect we'll outsource wholesale as the risk is then not ours, but for now the low fee and multi-step process with a few confirmation points works well for us.
Let me know in the comments if you have another approach!