Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: Onfolk (YC S21) – Modern HR and Payroll in One Place (For the UK)
113 points by 4thstreet on July 14, 2021 | hide | past | favorite | 34 comments
Hey, we’re Naz and Charlie! We're building Onfolk (https://onfolk.com/). We’re a couple of engineers who discovered that payroll in the UK is pretty backward and that building good software can raise the bar. You can check out some pics on our Product Hunt post [1] or see a quick video [2].

To set the scene: we were software engineers at Monzo for 4 years. Joined at 400k customers, left at 5.5M. We took voluntary furlough in April 2020 ("furlough" is the UK government’s scheme for keeping workers paid for a bit so that companies don't have to lay them off). During that time, Monzo changed payroll provider. The old one sucked and had errors. The new one sucked and had errors. It took a consultant a year to implement the new one.

We wondered how on earth a company with our funding, whose main asset was its people, couldn't find a good way to pay them. We dug into what doing payroll actually means (shout out to payroll guru Duane Jackson [3] for the early pointers!). Turns out, payroll is: (1) gross-to-net calculations, (2) reporting that to the government, and (3) making payslips. It’s not conceptually hard but you have to be meticulous. Complicated, not complex.

Some of the payroll products in the UK have 0 automated tests in their software. A typical process is run on spreadsheets pulled out of HR softwares or emails to accountants. No validation, data keyed in on the other end. Payroll is unloved.

There are a huge amount of edge cases. Tax systems aren't put in place all at once – they evolve over time. So when you're programming payroll you run into things like: gender is a mandatory field to report to the government and a binary male/female. Until April 1977 married women could choose to pay a reduced rate of national insurance (our word for "social security" in the UK). Anyone who opted into that scheme before 1977 might still be on it.

Another one: Deep-sea fisherman have their own national insurance rates [4]. The government changes people's tax codes periodically, and sometimes the reasons can seem baffling. It's not a very transparent system

Turns out the competition is listed on the government's website [5]. There’s about 130 other payroll softwares. Desktop software still dominates the UK market ("butt" is a feature in payroll land).

We discovered the certification process to get on the list, found the right person in the government to email when we had questions, and kinda just started building. We trundled on over our weekends until we got on the list (might still be under our old name, “Hyko”, at the time of writing. Hyko is a dog [6]).

Then, a friend whose payroll provider had just got their numbers wrong gave us a shot. I phoned up Charlie, who said “I guess I’d better put the kettle on”. We had less than 2 weeks to get it done and worked like maniacs over Christmas to arrive at something that looked like a payrun.

The calculations were run from test files on our local machines, as was notifying the government via their XML API with it's random polling intervals. Payslips were cobbled together on Figma. It was artisanal.

Since then, here’s a few ways we’ve tried our best to raise the bar on the software side: Thorough automated unit tests on our calculation logic; integration tests for playing through multiple months of salaries (especially important as tax calculations in the UK care about the cumulative amount paid over a year vs. only concerning the current month); whenever anything changes, we recreate payments for the current month on the fly. So that the user always has a live view of what payroll will be (vs. finding out on the day); Reconciliation logic. So that if things that should add up don't add up, we error loudly way before payday. This reduces the chances that we'll ever run payroll with incorrect numbers (techniques learnt while interacting with banking ledgers); Wrote in a language with a strong compiler (Go); Generally validate the shit out of everything.

Since Christmas, the product has expanded from payroll into one tool for everything that touches employee data. We think that a ton of the manual admin work in UK companies results from no 'single source of truth' for employee data (often spread across Xero, accountants, spreadsheets, time-tracking software, Google Drive).

The same data is duplicated in multiple tools, which means it has to be synced, which means spreadsheet exports and manual process. e.g. when an employee leaves, you usually want their remaining time-off allowance to be automatically added to their final salary, reported to the government as such, and to have them removed from payroll, time-off rotas etc. Typically, that means a bunch of faffy jobs where people get paid wrong if you mess up.

We’ve tried to kick off everything that needs to be done from key actions (new joiner, leaver, salary update, payrun). When a payrun is started, from our backend: the UK government is notified, payslips are created, journals are posted to accounting software, pension contributions are posted, and payments are scheduled.

As an employee you don’t have to log in to “myEPayslipPortal” to get your payslip. It’s there alongside your time-off and personal info. Currently we charge £8 / employee / month and have a bunch of startups on board.

This autumn we’ll be working on exposing our backend as a UK payroll API, so anyone can have payroll in their product without having to care about unintuitive tax calculations and keeping up with changes in regulations.

I’d be interested if our findings ring true with anyone's payroll experiences. Any ideas for applications for a payroll API? Or interesting implications come to mind with having a source of truth for all your employee data?

Thanks all!!

[1] https://www.producthunt.com/posts/onfolk

[2] https://loom.com/share/3ac431db7c4e46e7a14921c5f98a3f68

[3] https://www.theguardian.com/society/2015/aug/16/i-got-caught...

[4] https://www.gov.uk/government/publications/ca42-foreign-goin...

[5] https://www.gov.uk/payroll-software/paid-for-software

[6] https://www.lukeleighfield.fyi/blog/hyko




> “butt” is a feature in payroll land

Cloud-to-butt extension? :D

Great initiative; UK payroll systems are indeed a mess. Wishing you the best of luck - you clearly have the skills and experience to make a success of this clear gap in the market. I’m familiar with Monzo’s engineering and cultural standards, and hope you carry those to this startup too.


No way, and now I can't edit it haha

I really should turn that off...


There's quite a few modern HR platforms floating around, like CharlieHR, and it seems (as an outsider) that these platforms have explicitly decided not to enter payroll because it's such a nightmare. From my own experience, payroll is very hands-on because of edge-cases: make one mistake with one employee and you're sixty emails deep with a payroll administrator trying to clear things up (I've been on the receiving end of payroll hell quite a few times in my career!).

I think applying best engineering practices to business problems (i.e: unit testing your payroll logic) is a vastly undervalued opportunity and I think offering a payroll API is a fantastic opportunity for companies like CharlieHR to gain this functionality.

1. If we use CharlieHR as an example, how do you tackle building a relationship with them as a service provider (Payroll API) while competing with them on the product side? CharlieHR would need to disclose the relationship to their customers (since the data would be shared) -- do you plan to spin out a separate "brand" for the API?

2. How do you accommodate the inevitable Payroll hell: do you have (or plan to have) a staff of payroll administrators (and accountants?) to handle the edge-cases? Are you insured against any mistakes? Have you encountered any challenges so far / identified any big wins?

Thanks and good-luck, I'll pass this on to our HR team!


1. We're still figuring that one out. From an HR software's point of view, we think they ideally want the payroll API to be white-labelled, so that their customers don't have to think about another product. We're not yet experts on the legal relationship here, but I imagine disclosure can be covered in a privacy policy and we're the "data processor" for them under GDPR. As far as a separate brand for the API, it's a little early to say. We're talking to lots of people at the moment about their use cases. I think we'll figure out how to market it later on.

2. We do indeed have liability insurance! We usually have the accountants of our customers raise any weirdness to us before payruns / run things in parallel for a month or two before going live. That's thankfully become much less common as we've done more reps.

In our second month of payruns we made an error where we didn't factor in the 4k employer allowance in the UK for one of our customers, which resulted in their PAYE bill being off.

The only way to react to those moments in my experience is to admit it and own it. Doing everything in your power to communicate exactly what went wrong, rectify the issue (usually via a correction to HMRC made over their API), and put tests in place to ensure it can't happen again. Integration tests can really help here, defining the exact scenario that led to the weirdness and asserting that the correct response comes out from now onwards.

Thankfully it's been a while since something like that's happened. We've had offers from a few payroll pro's to stress test the product which we'll definitely be taking them up on.

The trickiest scenarios that often catch people out are when employees move from part-time to full-time or paid weekly to paid monthly. So far we only support monthly payroll, but we'll definitely move into weekly at some point. Time is hard!

I dearly wish that every month was 28 days long.

Another tricky thing is communicating to customers things like how income tax is calculated. It's not done per month, but based on the amount you've paid so far this year. The method is different for directors, for whom you get to choose between two methods of calculation: https://www.gov.uk/employee-directors


> It's not done per month, but based on the amount you've paid so far this year.

Does this mean you get paid more at the beginning of the year than the end?


Not a payroll human but someone who lives in the UK.

It does not, we have various brackets that you fall into as your income rises.

- No income tax is paid on the first £12,500 of your earnings - 20% on everything between £12,500 and £50,000 - 40% on anything between £50,000 and £150,000 - 45% on anything over £150,000

The way that HMRC likes to figure it out is that you take the salary of the person in question, and then you take into account all of the above bracketing plus more little gotchas. And spread their tax over the course of the whole year as evenly as possible.

This gets more complex when you change jobs or get a new salary midway through the tax year and then payroll software has to account for that and try and even out all the payments for the rest of the year.

Hopefully that makes some sense!


It's quite complicated. Income Tax is spread over the year as the first £12k or so is not taxed, so they try to use that balance across the 12 months. We also have something called National Insurance through which eligibility for a state pension is calculated and that's calculated weekly/monthly. There are also student loan repayments, and depending on when you studied at University it changes the threshold you repay at.


just noticed your username :D thank you for the kind words!


One of my previous stints was with a small team that was building a cloud-based payroll and HR platform for the Australian market (potentially going abroad as well). It definitely opened my eyes to how complicated award rules can be.

I also remember testing being a challenge, particularly when things like multiple backpays, accruals, or one off adjustments were involved.

There was also an integration API, but I didn't stick around long enough to see it evolve enough for widespread third-party adoption.

Anyway, congratulations on the launch!


Interesting to hear your experience, thanks!


TechnologyOne? Xero?

I was at the former :).


Hello from a fellow UK HR (ish) company. This looks like a strong start - payroll is hard!

Good luck, we all need to band together to get rid of these insane portals of horrible UX


Hello, thanks for the kind words!

It is indeed tricky, but in a meticulous way. I wouldn't claim that we're doing anything truly hard like quantum computing or predicting the weather :)


From someone who spent 10 years in the UK Payroll industry, good luck! I’ve spent many hours thinking about doing this myself.

One question that’s not clear from your website, what part of the market are you targeting? Payroll for a 10-person company is vastly different from a 10,000-person company (As I’m sure you are aware).

Regarding the API, personally I wouldn’t say the payroll processing API is a feature I’ve seen requested, but I like concept. The most common API requests are for employee data. No matter how good your integrations are, somebody is going to want names and addresses they can extract on demand.


For the all-in-one HR & payroll product, we're targeting startups in the 0-50 person range. Part of that is pragmatism: as a young company smaller startups tend to be discerning early adopters who we can easily relate to as a small startup ourselves.

Initially we did wonder if we could sell it back to Monzo, but I think that's a way off - supplier onboarding requirements alone make it hard for a new player to sell to a large company (especially banks, which typically are demanding with supplier onboarding).

Thanks for the thoughts on the API!


That sounds good and perfectly sensible. All the best & I’ll follow your progress with interest.


Congratulations on the launch!

I've recently moved to UK and doing research on payroll/tax matters. I am working remotely for an overseas company making foreign income.

Do you support foreign company having employees in UK? The things I think needed support are

- Send Full Payment Submission to HMRC

- Apply pay as you earn scheme for employer (or is it for employee?)

- Filing Self Assessment tax returns to report foreign income

I am new to this matter so am not sure if the list makes sense at all.


Hi! If I understand correctly, you're working for a foreign company but living in the UK and hoping to go on UK payroll?

We support UK payroll, but there's a few other hoops your company may have to jump through in order to employ you in the UK.

Things to be aware of are whether your work in the UK will trigger "permanent establishment", which could have corporation tax implications for your company.

If your employer has a UK entity we can support them, but if not you might want to suggest a Employer of Record setup to which will abstract away a lot of compliance headaches for your company (e.g. https://www.letsdeel.com/ , https://www.boundlesshq.com/ , https://remote.com/)

Hope that helps!


Thanks so much for the pointers, super helpful!

May I know what is the implication of not going UK payroll, i.e. earning foreign income? I might go for submitting an annual self assessment on my foreign income if there is no huge downside. Also definitely looking into "permanent establishment". The EOR suggestions are very helpful!


Congrats on the launch! Must take lots of guts to compete in a market with these many competitors. Hope this works out for you guys.

One thing that caught my eye was that the other softwares do not have automated tests. How do you know this?

Do you consider this to be a USP of your software? I do not think end users will care about whether tests exist or not.


> One thing that caught my eye was that the other softwares do not have automated tests. How do you know this?

Talking to ex-employees

> Do you consider this to be a USP of your software? I do not think end users will care about whether tests exist or not.

I wouldn't go so far to call it a USP (many payroll softwares will test decently), more a baseline for quality. It's not uncommon to hear of payroll errors when talking to people who run payroll. While end users don't care about tests, they very much care about being paid the correct amount.

These errors seem to fall into two categories: manual entry and software errors. Manual entry errors are by far the most common, and seem to be symptomatic of confusing UI and a lack of validation on input (easy to mistakenly put an extra 0 in a number field, not doing a checksum on an account number, no regex on a national insurance number)

That said, calculation errors do happen. When furlough was brought in, lots of payroll softwares struggled. We think part of that could have been avoided with better testing.


> many payroll softwares will test decently

That's certainly the impression I got from working in this field for a while. I've worked on one of the products on that list of UK payroll providers, and it has one of the most extensive test suites that I've seen. And some of my colleagues there had previously worked for its competitors, and they mentioned similarly good test coverage there.

I'm sure the quality & amount of testing varies a lot between different products, and I have to imagine there are some dreadful ones. But at the same time, I don't think having thorough test coverage for this type of product -- especially for the parts of the product that deal with monetary calculations -- is particularly unusual either.


I assume there's no definitive list of all the quirks and edge cases involved. Will you have to rely on customer reports where you're missing a bizarre edge case like [making this up] a person with a mononym wants to use the cycle to work scheme?


I wish that list existed! You're right, there's tons. HMRC have a few test cases you have to pass in order to get recognition, but it's the tip of the iceberg. Getting recognition does not mean you're done.

What we've strived for is to make our software super defensive to input it hasn't seen before. So if you enter a tax code or national insurance category that isn't strongly defined, we error, get alerted, then jump on it (instead of falling through to some default behaviour).

One nice thing is that a few of our customers give access to their accountants, who are very on it with challenging us if anything doesn't look perfect. When we get a report, usually it's an accountant telling us ahead of time vs. a customer finding out on payday, which is a sanity check we're grateful for.


LOVE the website design. Fresh, FAST and easy to understand. Kudos on the launch.


Couldn't agree more - "Fresh, FAST and easy to understand"

wish everyone could this.


Aw thanks - hearing that makes me disproportionately happy :D Was inspired by https://pry.co/, so props to them!


I'm curious about your reasoning to provide an API to potentially other companies that could offer payroll service. Do you see this as financially better than providing the service directly yourselves?


The API is something we're exploring alongside the all-in-one HR & payroll product.

With the API you get much higher volumes for a lower price. It's mice vs. whales! See here for what I'm on about: http://christophjanz.blogspot.com/2019/04/five-years-later-f...

As far as how well financially one model turns out to be vs the other, I think a lot of that depends on market size. I do wonder how big the market is for a payroll API. Though we've come across some interesting applications (employer of record companies, accounting firms, hr products etc).

The cool thing that I've always liked about API businesses, is that it's like building really fertile ground for new things to arise that don't even exist yet.

Interesting to think about what new modals could bloom over a fully-featured payroll API


Awesome, bookmarked for the future when I have HR needs :D


nice one, hopefully we can help you out one day :)


Looks really cool. I am the CFO for a post series A company with 25 employees in the UK and last month migrated to Pento, who I guess you would consider a competitor?

I love the new employee experience. Now payslips get synced straight into our HR system (HiBob) and everyone can delete the horrible MyEPayWindow website from their bookmarks.

More importantly for me, the payroll administration side is significantly slicker. We used to spend significant time back and forth in emails with our payroll administrator providing manual updates of new starters and payroll changes. This was not scalable as our headcount grew. Now changes get synced automatically from HiBob. We actually pay slightly more to Pento than we paid the administration firm, but our calculation was that the time we saved was a bigger saving overall.

Anyway I think you are playing in a great space and there is a huge market. I look forward to following your progress.


I really like the product Pento are building, interested to hear how robust the HR syncing proves to be. Sounds like it's going well for you?


Anything to reduce the number of people working in HR is a good thing. They’re a plague on the industry and on society.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: