What this models
The calculator stacks the federal production services credit with the selected province's
credits and expresses the result as a net effective rate on total
budget — not on qualifying labour — because that's the number producers actually compare
across jurisdictions.
The stack, simplified
provincial = rate × base (base = labour OR all-spend, by province)
regional = base × regional bonus × regional day share
federal = 16% × max(0, labour − provincial credit)
net effective rate = (federal + provincial + regional) ÷ total budget
The interaction that breaks DIY spreadsheets: under ITA s.125.5(1), "assistance" —
including the provincial credit itself — grinds the
federal qualified-labour base dollar-for-dollar. So the provincial credit is computed
first, and the federal PSTC applies to what's left.
Program structures by province (sourced 2026-07-29)
| Province | Program | Structure |
| BC | PSTC 36% (+2% >$200M) | Labour · +6% regional |
| ON | OPSTC 21.5% | All-spend · no cap |
| QC | QPSTC 25% | All-spend · +16% VFX labour |
| AB | FTTC 22% | All-spend · 30% AB-owned |
| MB | Election | 45% labour or 30% all-spend — we show the higher |
| NS | NSFPIF 26% | All-spend · +2% rural · fund, not credit |
| SK | Creative Sask 25% | All-spend · grant, not credit |
| NL | Placeholder | Pending primary source |
Full statutes, eligibility tests, thresholds and filing mechanics live in
docs/tax/ (federal PSTC/CPTC + per-province files), each with
source URLs and an access date. Rates on this page carry that verification date.
Cash timing & financing cost
Credits are typically assessed and paid 12–24 months after spend. The waterfall assumes
quarterly assessment cadence; the discounting estimate applies 7% annual cost over an
average 18-month receivable to show net present value.
Data provenance
| Layer | Status | Source of record |
| Federal PSTC | Verified 2026-07-29 | ITA s.125.5 / Reg. 9300 (docs/tax/federal-pstc.md) |
| Provincial rates | Verified 2026-07-29 (NL pending) | Provincial authorities (docs/tax/province-*.md) |
| FX | Static snapshot | Daily rates in production |
| Interaction model | Simplified | Single base per province; no caps, proration, or per-province netting quirks |
Every rate in the production system carries effective_from,
effective_to, source_url,
verified_on and verified_by. Changes are
published to a public changelog. Automated monitoring flags authority-page changes; a human
verifies before anything publishes.
Estimates only — not tax advice. Confirm with a Canadian production accountant.
(We can introduce you to one.)