The programs at a glance

SR&ED

Scientific Research & Experimental Development

Up to $2.1M/yr
TypeRefundable tax credit — CRA sends a cheque
Rate35% on eligible expenditures (CCPCs)
When paidYear-end, after filing T2
Administered byCanada Revenue Agency
ApplicationFiled with T2 — no prior approval needed
Revenue req.None — pre-revenue qualifies
Size limitNone for basic rate; CCPC enhanced rate phase-out at $75M taxable capital
NRC IRAP

Industrial Research Assistance Program

Up to $10M
TypeNon-repayable grant — no equity, no repayment
RateUp to 75% of eligible labour costs
When paidMonthly — after submitting timesheets
Administered byNational Research Council
ApplicationThrough an assigned ITA — no open portal
Revenue req.None — pre-revenue qualifies
Size limitUnder 500 employees

The most important difference: when the money arrives

SR&ED is a tax credit. You spend money on R&D, file a claim with your T2 at year-end, and CRA processes a refund — typically several months after the fiscal year closes. For a December 31 year-end, that's often a cheque arriving mid-to-late the following year. The cash lag between spending and receiving can be 12–18 months.

IRAP reimburses monthly. You pay your team, submit timesheets, and receive reimbursement on a 30–60 day cycle throughout the year. For a startup managing runway, this timing difference is significant — IRAP functions more like ongoing cost-sharing than a year-end windfall.

Cash flow implication A company spending $50K/month on eligible R&D labour receives IRAP reimbursements throughout the year — effectively reducing their monthly burn in real time. SR&ED on the same spend arrives 12–18 months later as a lump sum. Both are valuable. They serve different cash flow needs.

What costs each program covers

Cost category SR&ED IRAP
Canadian employee salaries (R&D) Yes — 35% credit Yes — up to 75% grant
Canadian contractor fees Yes — 80% eligible Yes — up to 50% grant
Non-Canadian contractors Not eligible Not eligible
Cloud / GPU compute costs Via overhead proxy Not directly covered
Capital equipment (post Dec 2024) Yes — restored by C-15 Not directly covered
Materials consumed in R&D Yes Sometimes — check with ITA
Overhead (rent, utilities) Via 55% proxy method Not eligible

SR&ED has broader cost coverage — it captures overhead and compute through the proxy method, and after Bill C-15 it covers capital equipment again. IRAP is narrower, focused primarily on labour, but it pays a higher rate on that labour (up to 75% vs SR&ED's 35%) and pays it faster.

Eligibility: where they differ

Both programs require genuine technological uncertainty — work where the outcome isn't known in advance and systematic investigation is underway. Routine software development, standard engineering, and API integrations without novel technical challenge don't qualify for either.

Beyond that, the requirements diverge:

The practical difference SR&ED is retrospective — you do the work, then claim it. IRAP is prospective — you engage an ITA before spending, get a contribution agreement, then get reimbursed. This means IRAP requires earlier planning. A company that discovers IRAP after completing a project cannot retroactively claim it. SR&ED can be claimed up to 18 months after fiscal year-end.

Can you claim both?

Yes — and for most qualifying companies, you should. The programs cover different cost buckets on the same project, which makes simultaneous claiming entirely legal. IRAP's grant covers a defined portion of your eligible labour. SR&ED then applies its 35% credit to the eligible R&D spend that IRAP didn't cover. No dollar gets counted twice.

The combination also covers more of your total R&D spend than either program alone. IRAP at 75% on its portion plus SR&ED at 35% on the remainder means a higher blended recovery rate than either program would produce independently. Ontario's 8% OITC stacks on top of the SR&ED portion at no additional effort.

When one might make more sense than the other

There are situations where one program is a better fit to pursue first, or where one doesn't apply: