A Guide to Claiming R&D Tax Credits for Software Development
Table of Contents
- Does your software development project qualify?
- Costs that you can include in your claim
- Claiming for subcontracted development
- Calculating your claim
- Things to consider during claim preparation
- Tips for maximising your software R&D tax claims
- Frequently Asked Questions
1. Does your software development project qualify?
Software development projects are often experimental by nature and contain many technology unknowns at the outset. For these reasons they often present a good case for claiming under the R&D tax credit scheme.
Firstly, in order to qualify your company must be subject to UK corporation tax and it should be funding the development project that you want to claim for. This can come in the form of paying for developers’ salaries or subcontracting the development out. The actual development work can take place anywhere in the world but there are different rules for including full-time employees and subcontractors in a claim – more on this later.
Now that you have met the basic criteria, you can start to assess the eligibility of your individual projects. To qualify, your project must meet two criteria: The advancement of knowledge and the resolution of uncertainty.
PS. If you are completely new to R&D Tax Credits, you can head over to our R&D scheme overview page for a top-level summary of the scheme.
1.1. The Advancement of Knowledge
To meet this criterion, you first need to examine the technology baseline – the state of knowledge that is currently available in the industry. Then you compare this baseline to your project’s own technology goals. If you are attempting to surpass this baseline in some way or you are facing unique constraints that you need to overcome then you have met this criterion.
It’s also worth noting that developing something that already exists in the market does not disqualify you from claiming R&D Tax Credits. The scheme is more concerned with the methods that you use to reach an objective rather than the objective itself. In fact, your project does not even need to be successful or complete to qualify. Also, a project that makes appreciable improvements to an existing product can also qualify.
To summarise, the advancement of knowledge could be made by you developing a new software product or platform, but it could also mean that you are adding to the industry’s knowledge in a specific development area such as development architecture, performance, integration, security and many other areas.
1.2. The Resolution of Uncertainty
Your project meets this criterion when your solution is not either “publicly available or readily deducible to a competent professional”. In other words, it’s not in the public domain and it’s not obvious. You can meet this criterion in one of 3 ways:
- Your development project presents a technical challenge and it is not known at the outset whether this challenge can be solved by a competent professional. For example, this challenge could come in the form of performance, security, scalability or reliability.
- Your project presents a technical challenge and it is known that a competent professional can solve it but it is not clear how in practice to achieve the desired result. This uncertainty would then require experimental development to resolve it. For example, you may have to test different algorithms, protocols, development frameworks etc. until you are confident that you have reached the optimal solution.
- The third type of uncertainty is called ‘system uncertainty’. This uncertainty occurs when your development project has complexity due to many different systems or technologies interacting with one another, maybe because you are stressing those components beyond their normal capabilities or using them in a new or untested way. In this case, eligibility comes from the work that’s required to resolve conflicts in these interactions.
Now that you have a better understanding of the criteria for claiming, here are few examples of project-types that often qualify:
- Any development that includes AI or Machine learning
- Development of neural networks
- Algorithm design
- Developing programs that process big data
- Projects that include data science
- Software development for robotics, IoT and IIoT
- Blockchain development
- Firmware development
- Game design
However, it’s important to keep in mind there are countless other examples. Your project type is less important than meeting the criteria
2. Costs that you can include in your claim
In your software development claims, the majority of costs typically come from paying technical staff who have directly contributed to meeting the above criteria. These are usually software architects, software developers, project managers, DevOps engineers etc.
Even tasks that are seemingly routine can still be included in a claim providing they directly contribute to the resolution of technological uncertainty. Testing is the usual example given but in software development, work performed on graphics or business logic may also be allowable where they are part of the process of resolving the technological uncertainty. In these cases it is important to give HMRC the context of these activities and to give some details on how and why they were performed.
3. Claiming for subcontracted development
Under the SME scheme, you can also use your subcontracted software development costs to claim R&D tax credits. Your subcontractors do not need to be based in the UK and the work that they carry out doesn’t need to be considered R&D in itself as long as it is contributing to the larger goals of a qualifying project.
There are a few things to keep in mind about claiming for subcontracted software development:
- You can only include 65% of subcontracted development costs vs. 100% of the costs of salaried employees.
- In most cases you (as the company who is funding the eligible project) will hold the right to make an R&D claim but there are some exceptions.
- If you are a loss-making company that is subcontracting a large portion of your development, you may be subject to a recent PAYE cap that introduced by HMRC as an anti-abuse measure. Read more about this topic here.
You can read more about the topic of subcontracted R&D in our article: R&D Claims, Subcontractors and Externally Provided Workers.
4. Calculating your software development claim
Once you have determined exactly what projects and activities should be included in your claim and you have attributed the correct amount of time and qualifying costs to each project resource, you are ready to calculate the benefit that you can expect from your claim.
There are two types of R&D claims and each are calculated differently:
- SME Scheme – used by companies that have less than 500 employees and either less than 100m euros annual turnover or 65m euros on their balance sheet. Profitable companies claiming under the SME scheme can expect a claim benefit of 24.7% of their eligible expenditure while loss-making companies can claim back 33.4%.
- RDEC Scheme – typically used by larger companies or by SMEs who have either received some kind of grant for the R&D work or where it has been subcontracted to them by a non-SME. They can expect a claim value of 9.72% of their eligible expenditure.
5. Things to consider during your software claim preparation
The software being developed does not need to be unique
Software development teams often have to create new programming approaches and methods in order to meet a project’s goals. This is where the innovation happens! These unique methods of solving the project’s technology challenges can fall under the definition of R&D for tax purposes and can be used to claim R&D Tax Credits.
The first step is to consider where the technological advance has occurred during the project’s development rather than focusing on the application’s features and functionality. You can have two identical applications that function the same, but with entirely different architectures, algorithms and developmental challenges behind them. One application may qualify for R&D tax relief and the other one may not.
The consequence of this is that it does not matter if your application is a CRM system, CMS, or any other business application. What it does is irrelevant – what matters is how it does it.
Be aware of the ‘grey areas’ and borderline cases
If you are still not sure whether your software development project qualifies as R&D, it may be time to call in someone that has both legislative and technical knowledge to build an optimal claim. They will need to work with your team members who have solid technical understanding of the development process that was used.
The person building your claim will need to determine the boundaries of an R&D project. This may be much easier with a waterfall type development methodology with clearly identifiable phases. Using Agile methods may be more challenging in determining where the technological uncertainty starts and ends due to the iterative nature of the development process.
In the latter case, the key is often differentiating between the development required to meet user requirements and the development required to resolve technological uncertainty. If you have any doubt, contact one of our team for an obligation-free assessment of your software development project.
6. Tips for maximising your software R&D tax claims
Manage the risks of triggering an enquiry
HMRC R&D claim inspectors have access to software specialists who they can call upon to help them to assess whether your software development project truly qualifies. In our experience they are more likely to do this when reviewing larger software claims. This level of scrutiny means that companies filing software R&D claims must take care to ensure that their projects are compliant or they run the risk of triggering an HMRC enquiry or dispute. Read more about how to avoid an HMRC enquiry here.
Add R&D commenting during source code check-ins
An example of how an existing development process can be modified to suit R&D purposes is by using source code repository check-ins to document R&D. Your developers may already add their check in notes. By mandating the use of R&D “tags” with additional notes on experimentation performed leading to the code output you now have a diary of all your R&D results. This repository can then be searched when you need to document and compile your claim.
Use of sprint/scrum reports and wiki notes
Adding three R&D relevant fields in your sprint summaries or scrum reports – R&D: Yes/No; Technological Obstacles; Experimentation Performed- will ensure that you capture the R&D work done within the context of your existing reporting. You can also add the “R&D” tag to wiki entries that may relate to R&D work. This tag can be easily searched when you need to develop your R&D claim for related sprints or tasks.
Source code commenting
While source code is an accepted form of R&D documentation, it only shows the results of R&D, rather than the process of R&D. Identifying specific algorithms tried and the experimentation undertaken as comments in code is a good way to document the R&D process. When appropriate, commenting out failed code or iterations of algorithms is a good way to tag R&D work. Adding shorthand to the comments, such as initials of the programmer and dates, can strengthen the reliability of this type of documentation.
By implementing these simple steps in conjunction with their existing process, software companies of all sizes can adapt their agile development to improve R&D documentation, resulting in more effective and timely R&D claims.
Frequently Asked Questions
Q: How can I know for certain whether my software development project qualifies?
A: We have covered this in the above section. However there are some scenarios where it is not clear whether your project meets the criteria. Like in any area of tax under self-assessment, it is up to the claimant to present clear evidence that any work claimed for meets the tax definition of R&D, as well as presenting a convincing narrative that is backed up by data. This gives HMRC a clear path towards agreeing the claim. If in any doubt, contact one of our team.
Q: We hired another company to carry out our software development. Do I have the right to make an R&D claim or do they?
A: It depends on whether you have subcontracted R&D or purchased a deliverable. In many cases, you will have the right to claim, but each case needs to be examined on its own merits. Read more about this topic here.
Q: Does it matter if I hired overseas developers for my projects?
A: "It doesn't matter. The development can take place anywhere in the world. However, this may be considered as subcontracted R&D which will affect some aspects of the claim. Read more on this topic here.
Q: Can I claim for IT infrastructure costs such as hosting, cloud infrastructure and technical support?
A: No. These items are either not in a qualifying cost category or do not usually require the resolution of technological uncertainty.
Q: What software licensing costs can I claim for?
A: Software licences can be claimed for to the extent that they directly contributed to the resolution of technological uncertainty on a qualifying R&D project.
Q: Can I claim for software that I developed myself?
A: Yes, so long as the company makes payments in one of the qualifying cost categories. You cannot, for example, claim for dividend payments.