Application Development and System Integration:
SR&ED in the Software Industry
Written by:
Nicolas DesRoches, Technical Writing Team Lead.
Keeping up with today’s ever-changing technologies can be
a daunting task, but also a lucrative opportunity for software
companies looking to cater to new markets or take advantage of
new technological possibilities. Much of this work is concerned
with developing new applications and integrating systems. Testing
and developing networks and systems, experimenting with crossfunctionality
and adaptability, and ensuring seamless integration
and multi-layer communication are all key functions of software
development, and some or all of these processes may be eligible
for SR&ED tax credits.
The use of multiple platforms, a variety of operating systems, nonrelational
databases, complex algorithms, multithreading, and
intermediary layers can all present difficulties, and overcoming these
issues can be no small task. Data validity issues can be present at
any and every level, and hardware limitations like processor speed,
available memory, and limited hard drive space create challenges
that require experimentation to overcome. Work performed to
overcome these technological limitations, beyond routine tasks
such as hardware upgrades or adoption of plug-and-play solutions,
may be eligible under the SR&ED program.
Often, eligible SR&ED projects in software development are subsets of larger business projects. Software work can often be chalked up as due processing, standard practices, or bug resolution, none of which are directly SR&ED eligible. However, the aforementioned work can potentially be eligible as supporting work for a qualifying SR&ED project after an actual technological uncertainty is defined.
For example, a company recently developed a new software system which allowed manufacturers to manage and schedule their
operations. Part of the development involved the utilization of a distributed cloud storage system. This presented a number of
technological uncertainties, especially because it was difficult to verify the integrity of data in outsourced storage. Through multiple
iterations and experiments, the company developed an efficient and scalable scheduling strategy using client-server integrity verification
and quick access indexing. By carrying out a series of tests to overcome obstacles which available knowledge and practices could not
solve, and advancing their organizational knowledge, the company met SR&ED program requirements. They were consequently able to
claim some of their due processing and issue resolution activities as part of their SR&ED claim, proving the iterative steps they took to
resolve the technological uncertainty. With a successful claim, they were able to offset labour costs through SR&ED tax credits.