ink drop - stock.adobe.com

IR35: HMRC rushing to restore CEST source code deleted from Github ‘in error’

HMRC has confirmed online repository containing code underpinning maligned IR35 status-checker tool has been taken down ‘in error’ by team working to decommission legacy platform that used to host platform

The source code for the decision engine underpinning HM Revenue & Customs’ (HMRC’s) much-maligned Check Employment Status for Tax (CEST) tool has been erroneously deleted from public view during efforts to decommission the platform hosting it.

The tool, released ahead of the April 2017 public sector roll-out of the IR35 reforms, is designed for use by public sector entities and medium-to-large private sector firms to help ascertain the employment status of contractors they engage.  

As previously reported by Computer Weekly, HMRC completed the migration of CEST to a new in-house developed platform known as Ocelot in October 2023 to add functionality that would make it easier for users to access interactive guidance about how to operate it.

HMRC is now in the process of decommissioning the platform where CEST used to reside, and – during that process – the contents of CEST’s Github repository got removed by mistake, Computer Weekly has learned. 

According to a source working on the project, HMRC is scrambling to restore public access to the code, as its removal puts the government tax collection agency at direct odds with the contents of the Cabinet Office’s 14-point Service Standard document.

Point 12 of the document, which is geared towards helping government departments “create and run great public services”, states that public sector IT teams must “write code in the open from the start and publish it in an open repository”, and, if it is not possible to do so, “provide a convincing explanation [about] why this cannot be done”.

A spokesperson for HMRC confirmed the error should be corrected within days, and insisted the department remains committed to ensuring the underlying decision engine logic for CEST remains accessible to the public. “We apologise for removing the logic of our CEST tool from Github,” said an HMRC spokesperson, in a statement. “It was taken down by mistake during work to re-platform the tool and will be republished onto Github by the end of Thursday 11 April.”

Repository removed

As well as hosting the underlying decision engine for CEST, the repository containing the code for the tool’s front-end has also been removed.

“Its removal has no impact on the tool itself, so it can still be used to make status determinations,” the spokesperson added.

It also remains unclear whether HMRC will be able to restore details of all of the past updates and changes made to CEST since it was first uploaded to Github – or if it will just be the most recent version of the code that returns to public view. Computer Weekly put this question to HMRC, but was still awaiting a response at the time of publication.

Even so, the timing of the repository’s deletion has raised eyebrows, given it comes less than two weeks after HMRC found itself under fire following the disclosure of a Freedom of Information (FOI) request that showed CEST had not been updated in five years.

Dave Chaplin, CEO of contractor compliance consultancy IR35 Shield, was the recipient of the aforementioned FOI request. He told Computer Weekly the timing of the repository’s removal is unfortunate.

“It’s somewhat of a coincidence that HMRC removed the source code from public scrutiny just as the five-year stagnation revelations came out,” he said. “It would take a matter of minutes to restore access in Github, so we would expect the purported mistake to be rectified overnight. Why isn’t it?”

Why is the outcome of the Atholl House IR35 case so significant?

The outcome of the 10-year Atholl House Productions Ltd vs HMRC case is considered significant in contracting circles because it (eventually) served to show that the government tax collection agency’s long-term view of employment status and its approach to determining it was too narrow.

Atholl House Productions Ltd is owned by TV personality Kaye Adams, who successfully won an appeal against HMRC, who claimed she owed £124,000 in unpaid tax on mis-classified inside IR35 engagements she participated in between March 2015 and April 2017.

The case travelled through four separate tax tribunals, three of which she won, prompting HMRC to throw in the towel and opt out of pursuing the matter further.

Atholl successfully appealed at the first-tier tax tribunal, which HMRC then unsuccessfully tried to overturn by appealing to the upper-tier tax tribunal. HMRC appealed to the Court of Appeal, which agreed there were some errors in law, and the case was remitted back to the first-tier tribunal to hear more evidence. The first tier’s final judgment ruled that IR35 did not apply.

The importance of the Court of Appeal is crucial because HMRC advanced many case law arguments that aligned with their long-term view on status, but the Court of Appeal dismissed them. In this specific case, there were four reasons why HMRC felt IR35 should apply that were dismissed.

  1. HMRC sought to argue that factors outside the contract should not be considered, which was dismissed.
  2. HMRC sought to argue that the right of control was a binary matter and that the extent of control should not be considered further, which was dismissed.
  3. HMRC sought to argue that “treating someone’s status over their entire career as a relevant factor in the analysis of their status under a particular engagement places an unduly onerous compliance burden on HMRC”. The courts decided it would be myopic to ignore the career history.
  4. HMRC also argued that mutuality of obligation only meant that someone might get paid. This was not fully correct, but the nature of the mutual obligations and where they might sit in a multi-factorial determination is a matter which the Supreme Court is currently considering in another case.
  5. The courts confirmed that a multi-factorial determination should be made when considering status.

Therefore, the Court of Appeal effectively showed that HMRC’s historical long-term view on status and its approach was too narrow.

Chaplin’s FOI response name-checked the Github repository as the location of the most up-to-date source code for CEST’s underlying decision engine, and its contents provided further confirmation that the last time it received an update was October 2019.

This is despite the head of HMRC, Jim Harra, describing the process of updating CEST to the Public Accounts Committee (PAC) in March 2019 as an “ongoing, unending process” and that the tool would be “continually updated” as “new tribunal and court decisions” on employment status emerge.

On this point, there have been at least 20 IR35 tax tribunal hearing decisions since October 2019, but CEST has not been updated at all since then.

HMRC claims this is because CEST is “constantly” tested to ensure it “reflects the employment status case law” and – based on these tests – its underlying decision engine does not need updating.  

However, Chaplin has called that claim into question, citing a 2022 Court of Appeal hearing involving Kaye Adams and her production company Atholl House, that ruled HMRC’s “view of employment status” is incorrect, meaning the logic underpinning CEST needs amending.

“Version 2.4 of the CEST logic tables were designed five years ago to align with the HMRC view of status, and HMRC have claimed that none of the case law in the past five years has challenged that view,” said Chaplin.

“That stance does not align with the representations made by HMRC to the Court of Appeal in the Atholl House case and the decision published on 22 April 2022.”  

Read more about CEST

Read more on Healthcare and NHS IT