A quick note before we get started: The scope of this article relates to commercial software vendors who license the use of their software to end users. The development of software for a company's own internal use is not covered. To learn about other forms of software use that qualify for the R&D Tax Credit, read this article: R&D Tax Credit Qualification: Understanding Software Innovation.
When you hear the term “Research and Development Tax Credit” or “R&D Tax Credit,” you may think of cleanrooms and white lab coats. Yet, the R&D Tax Credit actually applies to a wide variety of industries, which includes supporting continued innovation in the software industry.
Developing new software and R&D go hand-in-hand; you can’t have the former without the latter. So naturally, there are bound to be qualified research expenses for the R&D Tax Credit if your company is developing (or has recently developed) new or improved software.
There are 7 qualifying phases when claiming R&D Tax Credits for software development:
- Requirements & Analysis
- Systems Design
- Development & Coding
- Testing & Integration
- Operations, Maintenance, and Enhancements
These qualifying phases match up with the Software Development Life Cycle (SDLC). Let’s explore how each phase has activities you need to pay attention to.
The first step is to define the scope of the problem and determine potential solutions. An organization identifies whether or not new software is required to solve a business problem in the market. Then, confirm general requirements (cost, time, resources, benefits) and estimate the potential ROI to determine if viable solutions exist.
The planning phase answers these typical questions (among others):
- What approach should we take to solve the identified business problem?
- What are the primary capabilities, functions and features?
- What benefits will the users receive?
- What resources are required?
- Does this give us a unique competitive advantage?
- Will this help prevent competitors from entering the market?
2. Requirements and Analysis
A software company now moves on to detailed information/requirements gathering and analysis; analyzing the needs of end users to ensure the systems being considered meet their expectations. The goals of this step: confirm the business needs, determine how those needs will be met, identify who will be responsible for each piece of the project, and establish timelines and budget.
These activities related to gathering requirements and analysis likely qualify as R&D:
- Gathering Detailed Information
- Defining Requirements
- Prioritizing Requirements.
- Developing User-Interface (UI) Dialogs
- Defining Functional Requirements
3. Systems Design
End users will now define their detailed business requirements for the proposed system, which should include the necessary specs, functions, features, and operational requirements. Considerations include the essential hardware and/or software components, structure (networking/cloud capabilities), processes, and procedures that allows the system to meet its objectives.
Here are some qualifying activities involved in the design phase:
- Developing logical and physical designs.
- Producing meta-data, data dictionaries and data flow charts.
- Evaluating and deciding on programming languages, databases, hosting environments and security infrastructure.
4. Development and Coding
Work begins in earnest during this step as programmers, network engineers, database developers, and others begin executing to create the project deliverables. This phase typically involves translating developed requirements and specifications into code within the required technical environment, ensuring user and business needs are met.
In addition to core development/coding, here are other activities that are usually considered qualified research expenses:
- Developing and documenting test and user acceptance criteria
- Iterative process of testing and updating code to achieve the desired result
- Technical, environmental, system and program documentation
- Supervisors' / managers' time involved in leading, directing and coaching the staff performing qualifying activities
A specific example of an activity that does not qualify is development of user/help documentation that may occur during this phase.Back to top
5. Testing and Integration
A quality assurance (QA) professional now follows up with additional tests to check for errors, bugs, interoperability, and to determine if the proposed design meets the documented business goals. Verification and validation are also performed by end users to ensure the software’s operational readiness. Testing could result in the need for additional R&D to resolve any identified defects.
Specific activities that could qualify include:
- Developing a testing plan, strategy, and process for implementation
- Designing test cases
- Building test cases
- Executing test cases
- Documenting and analyzing results
- Correcting any identified defects
- Repeating the process until all defects are eliminated
Back to top
Next, programs are put into production, which may be a complex undertaking based on how significant the impact of the new software is on the operation as it relates to data migration, system integration, cut-over processes and procedures, user and operational training, etc. Companies should carefully document all activities in order to determine the activities that qualify and to receive the biggest benefit.
Many activities involved in getting programs and environments ready for implementation/production qualify for the R&D Tax Credit:
- Environment set-up
- Data conversion
- Code deployment
- Monitoring and maintenance utilities
Back to top
7. Operations, Maintenance, and Enhancements
The final iterative step improves and fine-tunes the system to enhance performance, add new capabilities, or meet additional user requirements. Depending on the scope of the work, the process may begin again at step one or any of the other six steps. Activities that usually qualify are enhancements or improvements made over time to meet evolving customer needs.
It’s important to think in terms of “enhancements” versus “maintenance.” These ongoing activities would NOT qualify:
- Routine post-production support
- On-going technical updates
- Bug fixes
- Cosmetic changes
- Developing user documentation
As you can see, every phase of the SDLC involves research and development. It’s also important to note that many of the phases include points where your business may have to stop and start over if the identified solutions aren’t working. This could add even more activities that could qualify for the R&D Tax Credit.
Lastly, once you’ve identified potential qualifying activities, run it through the Four-Part Test to verify. Applying for the R&D Tax Credit isn’t incredibly difficult, but it can be a complex process. Consult with a professional and set up a free assessment by completing the form on this page.Back to top