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.

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