A Guide to Claiming R&D Tax Credits for Software Development
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.
However, in our experience, when HMRC tend to set the bar for eligibility slightly higher than for other sectors and scrutinise such claims more closely. This is likely due to the comparatively high number of software claims that are filed each year and the mistaken perception by some claimants that development projects become eligible simply because they offer new features.
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. In this article we aim to shed some light on all the things to consider when assessing your software development project for eligibility.
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.
The R&D tax credit scheme requires that a project fulfils 2 main criteria: The advancement of knowledge and the resolution of uncertainty.
1. The Advancement of Knowledge
When we assess whether a software development project meets this criterion, we first examine the technology baseline – the state of knowledge that is currently available in the industry. We then compare this baseline to the project’s own goals.
The advancement of knowledge could be made by you developing of a new product or platform, but it could also mean that you are adding to the industry’s knowledge in a specific technology area, development architecture or methodology within the development process.
It’s worth noting that developing a product that already exists in the market does not exclude 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, a 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.
2. The Resolution of Uncertainty
The ‘resolution of uncertainty’ criterion can be met in one of 3 ways:
- The 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.
- The project presents a technical 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 a development project becomes complex due to various systems or technologies interacting with one another. In this case, eligibility for the scheme comes from the work required to optimise or resolve conflicts in these interactions.
Tasks that are seemingly routine but which help to advance an eligible project 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. However 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.
The Baseline Criteria
As in all sectors, in order to be considered for the scheme, a project must be funded by a company that falls under UK corporation tax. The actual R&D work can take place anywhere in the world but there are various rules around how full-time employees, contractors and subcontractors are considered under the scheme.
Related article: R&D Claims, Subcontractors and Externally Provided Workers.
Lastly there may sometimes appear to be ‘grey areas’ and borderline cases where it is not clear if the software development is qualifying. Like 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 to give HMRC a clear path towards agreeing the claim.
We hope this article was useful in helping you to assess your own project. If you need any help is assessing your eligibility or building a watertight claim for your software development project, contact us.
Key points for claiming R & D tax credits for software development
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 are be classified as ‘R&D’ and can be used to claim R&D Tax Credits.
The first step is to consider where the technological advancement 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. For example, a CRM system could require a technological advance if it was a RESTful application providing a highly-scalable application compared to say, a simple web service.
R&D tax credit claims for software development can be complex
Correctly identifying what qualifies as R&D expenditure in software development requires both legislative knowledge and a solid technical understanding of the development process.
When creating an R&D tax credit claim for software development, your company will be required to meet more criteria than in other sectors. Even the default criteria of ‘advancing knowledge’ and the ‘resolution of technological uncertainty’ can be tricky to map onto a project without having the specialist knowledge.
This is where our team’s expertise comes in. Here are just a few examples of the types of software development activities that we have successfully claimed for:
- Maintaining intermediate states of multi-step dialogues
- Determining if or how state should be maintained on the client if hidden iFrames are used
While determining the boundaries of an R&D project 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 this case, the key is often differentiating between the development required to meet user requirements and the development required to resolve technological uncertainty.
Tips for maximising your software R&D tax claims within an Agile environment
Create an R&D champion within your company.
This person should be someone who manages projects and is familiar with the standards and processes of software development in your company. Ideally this team member already produces items such as Sprint summaries as part of his/her role. As “R&D Champion,” they are the primary resource for all R&D related questions and can enforce the implementation of these ideas through existing and new project management records.
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.
Email is an often overlooked area of R&D documentation
You can create a R&D specific account such as firstname.lastname@example.org and CC/BCC the email when R&D specific emails are sent. Emails that discuss technological obstacles, uncertainties and experimentation are worth documenting as are technical difficulties with suppliers.This method is a good way to improve your R&D documentation with minimal overhead. This email account can now be retrieved regularly or at the end of the year when you need to compile your R&D claim.
HMRC’s view on R&D Tax claim documentation
Larger claims should, in theory, have more comprehensive documentation. HMRC also expects that larger, more complex software development environments have more mature and formal documentation; if your claims are large, your level of documentation should correspond accordingly. 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.
Subcontracted software development costs can also be used to claim
Under the SME scheme, subcontracted software development may be used to claim R&D tax credits. The subcontracting company does 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.