The verdict in three sentences
For an agency receiving 12,000 resumes a year, a custom candidate portal costs between 60,000 and 130,000 CAD in Toronto in 2026, depending on the level of automation. The payback comes mostly from cutting processing time in half: less manual data entry, assessments taken online before the interview, and candidates tracking their own application. PIPEDA compliance and a clean Bullhorn integration must be designed in from the start, otherwise the project stalls when a large client audits your data handling.
What a candidate portal includes in 2026, and what it costs
A serious candidate portal for high-volume recruitment is more than a resume upload form. It must absorb peaks of 300 applications a day during a contact center campaign, sort profiles automatically by language and availability, and give recruiters a clear view of the files to process.
| Module | Scope | 2026 price (CAD, estimate) |
|---|---|---|
| Candidate core | Account, profile, resume upload, tracking dashboard | 14,000 to 26,000 |
| Resume parsing | Automatic extraction (identity, languages, experience), deduplication | 9,000 to 22,000 |
| Online assessments | Language tests, typing tests, timed role plays | 11,000 to 24,000 |
| Recruiter back office | Pipeline per campaign, filters, notes, interview scheduling | 12,000 to 28,000 |
| Notifications | Email, SMS and WhatsApp at each step | 3,000 to 8,000 |
| Bullhorn integration | Two-way sync of candidates, jobs and placements | 6,000 to 15,000 |
| PIPEDA compliance | Consent, retention periods, access requests, audit log | 5,000 to 7,000 |
| Total | Full project, 10 to 16 weeks | 60,000 to 130,000 |
Hosting and maintenance usually run 800 to 1,800 CAD a month, depending on stored resume volume and the expected support level.
Custom build, SaaS ATS or spreadsheet: the comparison
Many agencies start with a shared spreadsheet and an inbox. Others rely only on an off-the-shelf ATS. Both options show their limits once volume exceeds 5,000 resumes a year or when a client requires tight control over data.
| Criterion | Spreadsheet + email | Off-the-shelf ATS only | Custom candidate portal |
|---|---|---|---|
| Upfront cost | 0 CAD | 2,000 to 6,000 CAD setup | 60,000 to 130,000 CAD |
| Annual cost (10 recruiters) | Lost time | 20,000 to 45,000 CAD in licenses | 10,000 to 22,000 CAD in maintenance |
| Built-in language tests | No | Often a paid add-on | Yes, tailored to contact centers |
| PIPEDA compliance | Weak | Varies by vendor | Controlled by design |
| Average time to process a file | 8 to 10 days | 5 to 7 days | 4 to 5 days |
| Ownership of data and code | Yes, but messy | No | Yes |
In Toronto, the custom portal usually sits on top of Bullhorn rather than replacing it: Bullhorn stays the system of record, and the portal handles the candidate experience and the assessments.
Compliance points you cannot skip
PIPEDA, and Ontario's expectations for employers, require a clear purpose, meaningful consent and limited retention of resumes. In practice, the app must offer a timestamped consent checkbox, automatic purging of inactive files after 24 months, a data export on request and an access log for recruiters. If you recruit for clients in Quebec, Law 25 adds privacy impact assessments for transfers outside the province.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Nadia runs a high-volume recruitment agency in Toronto, processing 12,000 resumes a year with 8 recruiters. Each file currently takes about 25 minutes of manual entry and sorting, or 5,000 hours a year. With resume parsing and online assessments, that drops to 11 minutes per file, or 2,200 hours. The 2,800 hours saved, valued at a loaded cost of 38 CAD an hour, are worth about 106,000 CAD a year. For a 100,000 CAD project, payback comes in roughly 11 to 12 months, before counting the extra campaigns the agency can take on with processing time cut in half.
FAQ
How long does it take to deliver a candidate portal?
Plan 10 to 16 weeks for a full project. A first version with resume upload and back office can go live in 6 weeks, with parsing and assessments added in later releases.
Does resume parsing handle English and French resumes?
Yes, 2026 engines handle English, French and many other languages, with correct extraction rates of 85 to 92 % depending on file quality. A quick recruiter check is still recommended.
Do we have to replace Bullhorn?
No. A two-way integration costs 6,000 to 15,000 CAD and keeps Bullhorn as your system of record, which is what most Toronto agencies prefer.
What about Quebec candidates?
If you process data of Quebec residents, Law 25 applies on top of PIPEDA. Budget 3,000 to 6,000 CAD for the privacy impact assessment and consent adjustments.
What should we budget after launch?
About 800 to 1,800 CAD a month for hosting, maintenance and security updates, or 10,000 to 22,000 CAD a year.
Let's scope your project. Share your resume volume, typical campaigns and ATS setup, and we will price a candidate portal between 60,000 and 130,000 CAD with a 10 to 16 week plan. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.