SR&ED | Software

SR&ED tax credits for software companies

Software development does not need to involve laboratory research to qualify for SR&ED. It does, however, need to go beyond routine development.

Software development team testing technical solutions for an SR&ED project

A project may qualify where the development team faces a technological uncertainty that cannot be resolved using established techniques, available documentation, or standard experimentation. The work must involve a systematic effort to test possible solutions and advance the company's technical knowledge or capability.

We handle both the technical and tax sides of software SR&ED claims, from project interviews and documentation through developer salary calculations, T661 preparation, and the T2 return.

Software development team testing technical solutions for an SR&ED project

What software development work may qualify?

The difficulty of a project does not determine whether it qualifies. The key question is whether the team encountered a technological uncertainty that required investigation or experimentation.

Potentially eligible work may include:

Performance and scalability

Development undertaken to overcome limitations involving processing speed, latency, concurrency, data volume, or system capacity where established approaches did not provide a workable solution.

System architecture

Work involving architectural constraints, distributed systems, fault tolerance, synchronization, or other technical challenges that require competing approaches to be designed and tested.

Complex integrations

Integration work may qualify where incompatible systems, undocumented behaviour, protocol limitations, or other technical constraints create uncertainty beyond ordinary API implementation.

Algorithms and data processing

Projects may involve uncertainty around the design, accuracy, efficiency, or performance of custom algorithms, models, or data-processing methods.

Machine learning and artificial intelligence

Some machine learning work may qualify where the team must experimentally address limitations involving model architecture, training methods, data quality, accuracy, performance, or deployment.

Using an existing model or service in a routine way is generally not enough.

Security and reliability

Work may qualify where developers must experimentally address technical limitations involving encryption, authentication, data integrity, resilience, or system recovery.

Routine development generally does not qualify

Routine software development usually does not qualify merely because it required time, skill, or extensive coding.

Examples can include:

  • Standard website or application development
  • Routine use of established frameworks and libraries
  • Ordinary API integrations
  • Configuration of existing platforms
  • Regular maintenance and security updates
  • Bug fixes where the cause and solution are readily identifiable
  • Replication of an existing product or feature
  • User interface and cosmetic design changes

A larger project may contain both eligible and routine work. The claim should distinguish the experimental development from ordinary commercial development.

How software SR&ED eligibility is assessed

A potentially eligible project generally involves three connected elements.

Technological uncertainty

The team could not determine in advance whether or how the technical objective could be achieved using the available knowledge and established methods.

Systematic investigation

Developers formed ideas about possible solutions, tested them, reviewed the results, and adjusted the approach based on what they learned.

Technological advancement

The work generated new knowledge or capability for the company, even where the project did not produce the intended commercial result.

A failed approach can still contribute to an eligible project when it helps resolve the underlying technological uncertainty.

Salaries are often the largest part of a software SR&ED claim

For many software companies, the most significant eligible expenditure is the salary paid to employees who directly perform or support the experimental development.

This can include time spent by:

  • Software developers
  • Software architects
  • Engineers
  • Data scientists
  • Quality assurance personnel involved in experimental testing
  • Technical founders who perform eligible development work
  • Product or technical managers who directly support the eligible work

The full salary of each employee is not automatically eligible. The claim should reflect the portion of their time that relates to qualifying SR&ED activities.

We review payroll records, employee responsibilities, project timelines, development records, and other available information to determine a supportable allocation.

Contractors and other expenditures

Software companies may also incur other qualifying costs.

Canadian contractors

A portion of amounts paid to arm's-length Canadian contractors for SR&ED work performed on the company's behalf may be eligible, subject to the applicable rules.

Contracts, invoices, project records, and the location where the work was performed should be reviewed before including these costs.

Materials

Material costs are less common in software claims but may arise where physical items are consumed or transformed during related experimental development.

Overhead and other expenditures

Eligible overhead may be calculated using the prescribed proxy method or the traditional method, depending on the circumstances.

Government assistance, grants, and other funding may reduce the expenditures available for the claim.

Documentation for software SR&ED claims

A separate formal research report is not necessarily required. Records created during normal development can often help support the claim.

Useful documentation may include:

  • Development tickets and issue histories
  • Source control and commit histories
  • Architecture and design documents
  • Test plans and test results
  • Performance benchmarks
  • Error logs
  • Technical meeting notes
  • Prototype records
  • Internal messages discussing failed approaches
  • Emails documenting technical decisions
  • Payroll and time-allocation records

The records should help show what uncertainty existed, which approaches were tested, what happened, and what the team learned.

How we prepare a software SR&ED claim

1. Identify potential projects

We discuss the software developed during the year and identify projects that involved meaningful technical uncertainty and experimentation.

2. Interview the technical team

We speak with the developers, founders, engineers, or other personnel who understand the work.

The discussion focuses on the technical limitations, attempted solutions, test results, and changes in approach.

3. Prepare the technical description

We organize the project history into a clear account of the technological uncertainty, systematic investigation, and advancement.

4. Calculate qualifying expenditures

We review salaries, employee responsibilities, contractor costs, and related financial records to calculate the expenditures connected to the eligible work.

5. Coordinate the claim and corporate tax return

The SR&ED schedules and tax credits are prepared consistently with the corporation's year-end accounting and T2 return.

6. Support CRA questions

Where CRA requests additional information or reviews the claim, we help prepare the response and explain the technical and financial basis of the filing.

Common software SR&ED issues

Claims can become difficult to support when:

  • The description focuses on the product rather than the technical uncertainty
  • Commercial features are presented as technological advancements
  • Routine development is included without distinction
  • Employee time is estimated without supporting records
  • Contractor work is included without reviewing eligibility
  • The claim describes only the successful solution
  • Project documentation is created entirely after the fact

We help clients present an accurate claim based on the work actually performed and the records available.

A software SR&ED claim should explain the technical uncertainty and experimental work, not simply describe the product or its features.

New to SR&ED? Our plain-English guide What is SR&ED? explains how the program works, who can claim, and what to expect from a CRA review.

Corporate Tax · SR&ED · Advisory

Explore your software
SR&ED claim.

Tell me what your team was developing, the technical problems encountered, and who performed the work. I will review the information and let you know whether the project appears suitable for a more detailed SR&ED assessment.