Software Research & Development Tax Credit Study

How can software qualify for the R&D tax credit?

Despite being a huge benefit to software and technology companies around the country, the Research and Development Tax Credit is often overlooked. From evaluating algorithms to testing and releasing, there are qualified activities throughout software development. At Calvetti Ferguson, we stay up to date with relevant IRS literature, as well as case law, and have extensive experience working with a variety of engineering, manufacturing, and software companies to qualify and quantify the tax credit.

Commonly Qualified Activities in Software

  • Concept development
  • Brainstorming alternatives
  • Software requirements analysis
  • Proof-of-concept and prototyping
  • Programming new features, modules, enhancements
  • Design reviews, scrums, code reviews
  • Static testing
  • Dynamic testing
  • Unit testing
  • Integration testing
  • Build verification tests
  • Creating test cases
  • Developing automated testing methods
  • Alpha and beta testing

Commonly Qualified Projects in Software

  • Mobile applications
  • Manufacturing controls
  • Virtualization software
  • Order tracking systems
  • Internet security software
  • Software as a Service (SaaS)
  • Claims processing software
  • Financial transaction software
  • Hardware/software combinations
  • Content management systems
  • Analytic software packages



In order to qualify, your business activities must satisfy a four-part test, as outlined by the internal revenue code (IRC § 41). If your activities satisfy this four-part test, then the associated wages, supply costs, and/or third-party contractor expenses could qualify towards the tax credit. 


  • New or Improved Business Component for a Permitted Purpose: Must develop a new or improved product, process, formula, invention, software, or technique for the purpose of performance, functionality, quality, or reliability.
    • Programming a new module or program
    • Improving efficiency, functionality, stability of existing code
    • Developing new algorithms
  • Process of Experimentation: To overcome uncertainty, you must evaluate one or more alternatives in a systematic way.
    • Evaluating alternative architectures, prototypes, algorithms
    • Systematic process of testing an evaluation
  • Encounter Uncertainty:  During the development of the “business component”, you must encounter uncertainty regarding the final design, methodology of achieving desired outcome, or capability of achieving the desired outcome.
    • Appropriate technology
    • Correct architecture: Fundamental structures of software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.
    • Integration: Back-end development of new software applications and platforms, such as CRM applications or engines using sourcing codes (C++ or Java) and ties into web base front end.
  • Technological by Nature: Development must rely on the principals of computer science and engineering.

Software Company Case Study

Calvetti Ferguson performed an R&D tax credit study to review the software company’s activities and expenses during tax years 2017-2019. As a result, Calvetti Ferguson assisted the software company in receiving over $275,000 in Federal tax credits.

During the study period, the Company designed and developed unique software to provide companies control over their telecom and wireless asset management. This qualified business had annual revenues averaging between $8 to $11 million and employed between 100-130 employees.

Examples of qualified activities identified during the study period

    • Concept development
    • Improving efficiency, functionality, stability of existing code
    • Evaluating alternative architectures, prototypes, and algorithms
    • Developing new algorithms
    • Software requirements analysis
    • Feasibility studies
    • Proof‐of‐concept and prototyping
    • Programming new modules, enhancements, and features
    • Design reviews/scrums/code reviews
    • Static testing
    • Dynamic testing
    • Unit testing
    • Integration testing
    • Building verification tests
    • Developing automated/manual testing methods
    • A/B testing

Ready to learn if you qualify? Complete the below form and we will contact you regarding an initial complimentary evaluation.