Hypercube Inc vs. Her Majesty The Queen demonstrates how the CRA apply standard practice or routine engineering to deny weak software development claims.
Analysis:
I’ve broken down the case by the Five Criteria established by Judge Bowman in the case of Northwest Hydraulic Consultants Ltd. v. Canada which is commonly referred to by the Tax Court.
1. Was there a technological risk or uncertainty which could not be removed by routine engineering or standard procedures?
The project,
consisted of developing a program to read and analyze source code from Web sites to detect weaknesses
This was to be a web crawler designed to replace a manual process of analyzing website code and provide a report to help programmers do their checks.
The Judge referenced the facts:
[18] Mr. Villeneuve noted that no existing technology allowed this to be done. Current technology, he explained, could not collect the information, validate it and retrieve it in the way they wanted it to. Mr. Villeneuve stated in his testimony that the program would improve the underlying technology. He described the underlying technology as being various programming languages.
[21] Regarding the technological uncertainties facing the appellant, Mr. Villeneuve stated that they were connected with the underlying technology. The uncertainties related to whether the underlying technology could be improved so that a crawler could be programmed as required to carry out the project.
Available languages may be a limitation but Improving programming languages seems to be beyond the scope of creating a new web crawler. Additionally, it is contradicted by an earlier statement that suggest the project started when the required tools were available :
[11] Mr. Villeneuve stated that he began thinking about this project in 2010 and discussed it with the appellant’s other employees around the beginning of 2012. Page: 3 The project was the product of a reconsideration of the various programming tools available.
2. Did the person claiming to be doing SRED formulate hypotheses specifically aimed at reducing or eliminating that technological uncertainty?
The hypothesis established by the claimant was that,
if a new way of performing Internet diagnostics was adopted, significant effects in terms of technological advancement could be observed”.
This isn’t a scientific hypothesis as it does not propose a “new way” and does not postulate an effect.
3. Did the procedure adopted accord with the total discipline of the scientific method including the formulation, testing and modification of hypotheses?
The work described failed to demonstrate any modifications of the hypothesis:
[20] Mr. Villeneuve explained that the project was carried out methodically, using a process of [TRANSLATION] “trial and error”. The appellant’s employees analyzed whether they could retrieve an initial piece of information in a Web site’s code, validated their attempt and then made another attempt to obtain a second piece of information, and so on.
[22] Mr. Villeneuve then spoke in more detail about what he saw as the problems they experienced in developing the program and explained the various measures taken to resolve them.
[23] An initial problem was that the program did not work for certain domain names that were being used by the Web sites being analyzed. Changes were made to the program so that it would work with all existing domain names.
By explaining the work as a series of problems that were resolved individually only standard programming work was demonstrated.
4. Did the process result in a technological advancement?
While they succeeded in creating a new website analysis tool, the judge applied the following logic:
[47] Although the appellant’s program could constitute an entirely new product, it was created using well-known techniques. Novelty or innovation in a product is not sufficient to illustrate technological advancement.
The claimant failed to demonstrate any new knowledge gained from their work.
5. Was a detailed record of the hypotheses tested, and results kept as the work progressed?
There was little documentation submitted to the court and, as the judge notes, the evidence was not explained.
[48] Moreover, the appellant produced very little evidence documenting its project. The only documents introduced in evidence are the program’s tree diagram and a log of hours worked. This tree diagram was not specifically explained in Court, and the time log does not appear to reflect reality. I do not think that this evidence is sufficient to support an SR&ED claim as prescribed by the ITA.
Documentary evidence could have helped verify the testimony but the claimant had already failed to meet the other criteria.
Conclusion:
This case demonstrates poor project framing. The objective was a high level advancement in the “underlying technology”, namely programming languages, but the work was low level resolution of issues. I think the project could have qualified if described somewhere in the middle. A more feasible advancement would have been an improvement web crawling methods; the underlying technology behind their objective to automate website analysis. The hypothesis would build on this by stating the web crawling methods they thought could improve the crawlers performance. The experimentation would then focus on more fundamental changes to the web crawling methods and associated variables with any issues encountered classified as support work.
Discussion:
Do you think this project should have qualified for ITC’s? If so, how would you frame it?