Source control records — including version control histories, commit logs, and branch records — can help support software R&D tax credit documentation. This page explains how source control can support a credit claim. It is educational and is not individualized advice. For the general documentation concepts, see our page on R&D tax credit documentation.
How Source Control Supports the Alternatives Element
Source control can help support the process-of-experimentation element by showing the alternatives that were evaluated. Branches that show alternative approaches, and commits that show different implementations, can help demonstrate an evaluative process of alternatives. For more, see our page on process of experimentation.
How Source Control Supports the Iteration Element
Commit histories can help show the iteration process — how the software changed in response to testing and evaluation. Commits that show what changed and why can help demonstrate a genuine evaluative process.
How Source Control Supports the Timeline
Commit timestamps can help establish when activities occurred, which can be useful for establishing that the work was contemporaneous.
What Makes Source Control Records Useful
Useful source control records for R&D documentation tend to:
- show branches with alternative approaches;
- include commit messages that explain what changed and why;
- show iterations in response to testing;
- have timestamps showing when work occurred.
Hypothetical Example
Consider a software company that has branches showing alternative algorithm approaches, commit messages explaining what was tested and what the results were, and a history showing how the code changed in response to testing. These source control records can help support the alternatives, iteration, and timeline elements.
By contrast, a single branch with generic commit messages like "update" is less useful.
These examples are illustrative only.
Key Takeaway
Source control records can help support software R&D tax credit documentation by showing design alternatives, iterations, and experimentation. Commit histories and branches are most useful when they show alternatives and changes. Because documentation adequacy is fact-specific, professional review is appropriate.