A Small Business Payroll Solution – how and why I moved our payroll process from an accounting firm to do it ourselves using ‘Software as a Service’

My apologies in advance for the grammar and sentence structure. I haven’t blogged for ages but having just overhauled my small business payroll solution and procedures this post will help me remember what, why and how I did things and also may help someone else going through the same steps.

Starting point:

My small business has 4 employees. Many, many years ago we paid for Sage software’s payroll solution. It cost a lot of money every year. We then moved to ‘Payroll as a Service’ where a local accounting firm charged a £50 per month to do all of our payroll needs and had been doing that for many years. I’d email the accountant our workers hours, variations for the month for sick pay, etc. The accountants would do: all the calculations, report to HMRC, send me a list of journals for Sage Line 50, post printed payslips to us. It worked, things were good.

Why the change:

Sending the accountants the hours and variations each month added a few days between knowing these numbers and when I could actually set things up to pay people. We pay for the whole month on the 26th of the same month. Allowing me time to set up the payments meant I wanted to know the numbers by around the 22nd. To allow time for the processing and weekends I’d be emailing the accountants around the 18th, probably trying to find out how many hours people had done from the 15th. Accounts are human too so allow for the occasional error and time to fix, I started to look for ways to improve the process and reduce the time I needed to wait for numbers.

We’d already moved onto Xero a couple of years ago [1] and they have a payroll module so my starting point was to assume that we’d start using that instead of our accountants.

Planning ahead:

Before changing our processes I like to try and work through all the details. My experience is that no software or system is perfect and my goal is to find out what is likely to go wrong or work in unexpected ways so we can mitigate any impact. As well as Xero I looked at several other payroll software providers, lead mostly by a list of suppliers on the HMRC web site https://www.gov.uk/payroll-software

Xero were out of the frame quickly due to [attitude towards bug reports] + CIS + [the mess of their user forums] + [finding someone having significant payroll issues on a forum and seeing them getting nowhere]. I went through several other vendors and opened up trial accounts with fictitious payroll data to see how they worked.

I was generally not feeling very good about changing at all, until I finally contacted payfit.

I’d excluded them early as they had no prices on their web site and to find out more the only real option was to ‘book a demo’. They appeared a relatively new company and I’d briefly researched them to find they had some <large number to me> venture capital funding a couple of years before. Their move into the UK market was newer still and seeing no prices I thought their target was much larger business than our small business. I also expected their prices to be out of our league but having excluded all other options as being no better than our current process I bit the bullet and got in touch. I was pleasantly surprised! The demo answered all my questions and the software looked like something I could work well with. The price was good too(better than using our accountants) so I decided to switch.

The switching process

Let’s not hide from the fact, payroll is complicated by all the details and rules, the variations and exceptions, the historic requirements and the new things constantly being applied as legislation changes. My switch has been stress free because I’ve been working to keep ahead of things that could trip us up.

Firstly, Payfit provide an onboarding point of contact and they were great at working with me to make sure every detail was complete before the first pay run. I was sent an invite to a secure file sharing platform which contained some spreadsheets for me to complete. They contained placeholders for employee names, rates of pay, hours of work, holiday entitlement, pension provider details and so on. Whilst I could answer most questions for the few I couldn’t I solved by a) Asking payfit for help (every query answered same day) and b) sending copies of my previous months pay slips and journals (the onboarding contact then pointed out several other answers to questions I hadn’t yet asked which was handy). It took me about 2 hours to find all the answers but that was spread over 5 days.

Next was the first pay run, set for 3 days before the pay day. It wasn’t perfect. I found errors like a wrong amount of tax taken on one employee. I messaged payfit and within hours I’d had emails explaining what went wrong and that they had fixed the problem, including regenerating payslips. Yes, within hours! I was very relieved at this point. I think payfit must have been newer than I thought, or maybe no one reports bugs as thoroughly as I do, because one of the issues was that an export of different reports reused the same file name. I reported that and it was fixed the same day! That’s a small detail but the different file names help me automate things as you’ll see later.

Having got everything working well, and repeated a second month, I could start perfecting my automation. I still had a few problems but that was mostly related to me learning how to enter hours, pay rates and sick pay. Once again, Payfit answered questions the same day and reran reports to show corrected information. I also discovered the helpful UI messages within the app, for example, this one

Automation – because I don’t like typing numbers repeatedly.

So, I now have a payroll software as a service application that will generate reports in various formats. Payfit provide a journal template for Xero and several other things but like most businesses I have requirements that are slightly different from the next business. For example, our Xero account numbers are different than the default numbers Xero uses. We want to record some staff as a direct cost and some as an overhead. I also want to take all the numbers from Payfit and set up payments to my employees, tax payments to HMRC, the pension scheme and so on. Less typing means less chance for typping errors, and it’s also very fast 🙂

Here’s my magic Payfit-to-Xero conversion spreadsheet and you’re welcome to use it and modify it to meet your own needs

There are notes throughout the sheet to help you. As a rule, I put formulas in blue text (so I know not to edit them) and Yellow background cells need editing each month.

My process is as follows:

  1. From:
    Payfit > Accounting > Reports > [Set Month!] — Company costs : Employee Pay Structure : Pension contributions
    Download and copy the 3 tables into this spreadsheet
  2. Write the pay date into the yellow box (these words are used to creating meaningful descriptions in journals and bills)
  3. Employers Allowance Calculations Make a note and adjust values if we have any employers allowance left to use.
  4. Go to NEST Pensions web site (our pension provider) and create a schedule based on the numbers in the ‘Pensions’ table.
  5. Data Exports and Imports:
    1. Export spreadsheet tab ImportTemplateBill as a CSV file then import to Xero as a bill
    2. Export spreadsheet tab ImportTemplateJournal as a CSV file then import to Xero as a journal
  6. Approve the draft bills in Xero.
  7. Pay HMRC and Employees in normal way, I use batch payment for the relevant dates and upload the file to our bank in advance
  8. NEST is a direct debit, so ‘view bill’ then pay from bank (without actually going to bank and sending money, so the Direct Debit will match the payment when it happens and it wont be listed on bills waiting to be paid)

If you find the spreadsheet useful or if you use it an improve it leave a comment to help others.

[1] Foot note on Xero: A blessing and a curse.

Xero does the basics fine but I find the CIS implementation is awful (how dare I receive a credit note from a subcontractor in the same month and expect the monthly total to work! – let alone make an input error and use a credit note to make the correction) and when I reported an error with an export format for bank transfers (Xero doesn’t follow the spec – I even sent a link to the specification file on the bank web site) after 12 months of requesting updates on a fix I was told they’re not going to fix as it doesn’t affect enough users. How hard can it be to export a TXT file with a correct date? Generating the wrong date creates a failed import so I have to hand correct each one.

I still like Xero for the basic accounts functions & that out of all the accounts software I tested it was the only one at the time that allowed me to do my own form of project costing (using ‘tagging’ + several custom reports). I hate Xero for it’s poor support, terrible user forum/platform, limitations in report formatting and exports.

How many 1st class stamps to use on heavy letters?

In our office, we buy Royal Mail stamps in ready to use denominations of “1st Class”, “2nd Class”, “Large 1st Class” and “Large 2nd Class”. However, these are only useful for 100g weight letters.

For heavy letters, we can use multiples of these stamps. I noticed I was routinely having to do the calculation in my head as to what is the optimum combination of stamps. For example, what to stick on a 500g 2nd class large letter. I know that’s £1.58, I know the stamps represent the 100g values, so 1st=65p 2nd=56p Large_1st=98p and Large_2nd=76p.

It’s not too hard to work out, but it takes time and gets harder with bigger letters and parcels.

For a coding challenge, I wrote “Stampulator“. It’s a single web page that tells us which combinations of stamps to use, so for the 500g 2nd Class large letter, £1.58 example, we need 1 x 1st class and 1x Large 1st class. That’s over by 5p, but it’s the nearest value to the cost.

I also made it so that if I have different value stamps or a different target value to reach (say; special offer or I’ve been slow to update the values when Royal Mail prices change) I can input those and get an instant result.

I then printed the page and stuck it buy our post box.  Stampulator is on my web server and free to use – it works well from a mobile phone too.

Post a comment here if it’s useful and that’ll encourage me to keep it up to date.

Google Chrome ” Failed – Network Error.” on downloading files greater than 5MB (ish) – solution for me = Disable QUIC

For the last few weeks I’ve had trouble downloading from Google Photos files. It only happened on large files; videos & zip files of multiple images. The problem only affected Chrome – the files would download fine using Firefox. For single images the download would work so I decided it must be something related to the files size. A lot of googling and it seemed to only affect me so I removed and fully reinstalled chrome, that didn’t fix it.

I found similar problems in the help forum but none of them had solutions (technically, one did by changing the download folder location but that didn’t work for me).

I used developer console to see what happened on the page and try and get more of an error message. I found “load resource: net::ERR_QUIC_PROTOCOL_ERROR”. I then googled that and found a page on stack overflow suggesting that disabling QUIC would help, and to disable it here: chrome://flags/#enable-quic

What is QUIC? It appears to be a protocol to improve performance of pages of the network using UDP. There were mentions that some networks/routers/devices don’t work properly with this format. I don’t know which part of the network between me and Google Photos is at fault, but once I disabled QUIC the downloads completed perfectly. If you want to know more, you’ll need to research it from here yourself. Sorry, I have work to do 🙂