How to check if a contract is inside or outside IR35
An inside-IR35 result moves a contractor's pay onto PAYE, and the deemed employer then funds employer National Insurance at 15% on top of the agreed fee since 6 April 2026 [6]. With roughly 120,000 contractors caught by the private-sector reform, checking status accurately matters to both sides of every engagement [1].
Checking IR35 status is not a single yes-or-no test. It is a review of how the work is actually carried out, measured against the case-law factors HMRC uses to separate genuine self-employment from disguised employment. This guide walks through what to check, how to use HMRC's own tool, and what to do when a decision looks wrong.
Contract terms matter less than working practices
The most common mistake is to check only the written contract. HMRC usually opens an enquiry by reading the contract, but it then clarifies the real terms with the end client, and the underlying legal principles mean working practices take precedence over the paperwork [1]. A contract that describes an outside-IR35 arrangement carries little weight if the day-to-day reality looks like employment.
A proper check therefore compares the contract against how the engagement runs in practice. Where the two diverge, the practice wins. HMRC states that a determination must be based on the actual contract and the working arrangements together, not on the document alone [4].
The factors to check
HMRC weighs the whole relationship rather than scoring individual points, but three primary factors carry the most weight, supported by a set of secondary indicators [3]. The table below sets out what each factor looks like on either side of the line.
| Factor | Points to outside IR35 | Points to inside IR35 |
|---|---|---|
| Control | The contractor decides how, when and where | The client directs method, hours and place |
| Substitution | A genuine, usable right to send a replacement | The work must be done personally |
| Mutuality of obligation | No duty to offer or accept further work | An ongoing expectation of work |
| Financial risk | Fixes defects at own cost, can make a loss | Guaranteed payment regardless of quality |
| Equipment | Provides own significant equipment | Uses the client's tools and systems |
Control, substitution and mutuality
Control asks who decides what is done, and how, when and where it happens; the more the client directs the work, the stronger the pull towards employment [3]. Substitution asks whether the contractor must perform the work personally, and a genuine right to send a qualified replacement points away from employment, provided the right is real rather than a clause everyone knows will never be used [1].
Mutuality of obligation asks whether the client must offer work and the contractor must accept it. A single defined project with no promise of more work points outside IR35, while a rolling arrangement resembles employment [3]. None of these decides a case on its own; a check has to weigh them together against the real working pattern [1].
Being in business on your own account
Beyond the three main tests, HMRC looks for signs that the contractor runs a genuine business. Financial risk is a strong indicator: a business on its own account can make a loss, has to rectify unsatisfactory work at its own expense, and is not guaranteed payment for substandard delivery [3]. Providing significant equipment essential to the work also points towards self-employment [1].
Secondary indicators reinforce the picture: holding business insurance, marketing to and working for several clients, and carrying the ordinary overheads of a business. These do not override the main tests, but on a finely balanced engagement they can tip the assessment [3].
Using HMRC's CEST tool
HMRC provides a free tool, Check Employment Status for Tax (CEST), which works through a series of questions about the engagement and returns a view on status [2]. HMRC will stand behind the result as long as the answers remain accurate and reflect how the work is actually done, so the questions should be answered on the basis of day-to-day reality, not the contract wording [2].
Anyone running a check should gather the engagement details first, then save or print the CEST outcome as a record, because that printout is the evidence HMRC will expect to see later [2]. CEST can also return an undetermined result on borderline facts, at which point the decision has to be reasoned through by hand rather than left unresolved [4]. A question-by-question walk-through sits in the Moonworkers guide to the CEST tool, and the wider mechanics are covered in the overview of the off-payroll working rules.
What happens after the check
Where the client is a medium or large private-sector organisation, or any public-sector body, the client carries out the check and records it in a status determination statement, then passes it to the worker and down the labour supply chain [4]. Where the client is a small private-sector organisation, the contractor's own company remains responsible for checking and applying its status [6].
An inside-IR35 result routes the pay through PAYE. The deemed employer deducts Income Tax and employee National Insurance and reports the payment to HMRC on a Full Payment Submission, exactly as for a directly employed worker [6]. Businesses that process these payments handle them through HMRC-recognised UK payroll software, while agencies and platforms paying many contractors often embed an HMRC-recognised payroll API to run the calculation and RTI submission inside their own systems. Contractors who fall outside IR35, and who continue to pay themselves through their own company, can produce a compliant record with an instant payslip generator when they need one.
Disagreeing with a determination
A worker who believes an inside-IR35 decision is wrong can challenge it through the client's disagreement process. The client must respond within 45 days of receiving the objection, either confirming the original statement with reasons that engage with the challenge or issuing a new statement reaching the opposite conclusion [5]. The original determination stays in force while the client considers the point, so deductions continue at the inside rate until a decision changes [5].
An effective challenge is substantive. It should identify the specific factors, such as control, substitution or mutuality, where the statement misread the working practices, and back each point with evidence [5]. A client that ignores a well-reasoned challenge, or misses the 45-day deadline, risks HMRC treating that as a failure of reasonable care, which can shift the tax liability onto the client [6].
Conclusion
Checking IR35 status comes down to honesty about how the work is really done. The contract is the starting point, but control, substitution, mutuality and the wider signs of running a business are judged on the practice, and a printed CEST result plus a documented rationale is what stands up if HMRC asks. A check is only as good as the working arrangement it describes.
Status is also not fixed for the life of an engagement. Working practices drift, projects change shape, and a role that started outside IR35 can move inside it. Treating the check as something to revisit when the arrangement changes, rather than a box ticked once at the start, is what keeps both the client and the contractor on the right side of the rules.
Frequently asked questions
Does my written contract decide my IR35 status?
No. HMRC reads the contract first but then checks the real working arrangement with the end client, and the legal principles mean working practices take precedence over the paperwork [1]. A contract describing an outside-IR35 role carries little weight if the day-to-day work looks like employment. Any check has to compare the two [4].
Can I rely on the CEST tool result?
HMRC will stand behind a CEST result as long as the answers are accurate and reflect how the work is actually done [2]. The answers should be based on day-to-day reality rather than the contract wording, and the outcome should be saved or printed as evidence. On finely balanced facts CEST can return an undetermined result, which then has to be reasoned through by hand [2].
Who checks IR35 status, me or my client?
For public-sector engagements and medium or large private-sector clients, the client checks status and issues a status determination statement [4]. Where the client is a small private-sector organisation, the contractor's own company remains responsible for checking and applying its status [6].
How do I challenge an inside-IR35 decision?
Raise a written challenge through the client's disagreement process, setting out the specific factors the decision got wrong with evidence from the real working practices [5]. The client has 45 days to respond, and must either confirm the decision with reasons or issue a new statement. Deductions continue at the inside rate until the decision changes [5].



