Skip to content
Exodus Consulting Exodus Consulting
Book a free audit

Industries / Recruiting and staffing

Your recruiters were hired to place people, not chase timesheets.

A staffing agency sells speed and trust, and both leak in the back office: the candidate line that rings all afternoon, the timesheet that arrives late, the invoice that gets disputed, the worker who finished on Friday and took another agency's shift on Monday. We connect to the ATS and payroll system you already run, take the routine work off the recruiters, and put a person in front of every decision that touches a placement or a pay cheque. The number we are measured on is agreed in writing before we build.

Who this is for

How it actually runs

Before anything is built, this is the week we are describing.

No software can be scoped from a category name. These are the specifics of recruiting and staffing that decide what is worth building and what is not.

  1. 01

    The morning is order intake, the afternoon is chasing

    Client orders land by phone, email and text before nine. Recruiters spend the first two hours searching the ATS and calling the bench to fill them. The rest of the day goes to the other direction: candidates ringing to ask whether their timesheet went in, when pay lands, what the address is. The same questions, from different people, answered one call at a time.

  2. 02

    Friday payroll is the busiest and most fragile day

    Temp agencies pay weekly. Hours come in as photographed paper, client portal exports, emails and texts, in different formats for every client. Someone keys them into the payroll system against the assignment record, applies overtime and statutory holiday rules by province, and runs pay. A missing approval or a wrong rate is found by the worker on Saturday, or by the client when the invoice arrives.

  3. 03

    Who to submit is a gut call on stale data

    The ATS holds thousands of candidates. Many are duplicates, many have dead phone numbers, and the notes on the good ones live in one recruiter's head. So the recruiter submits the three people they spoke to last week, not the best three on file. The database is an asset on paper and a liability in practice, because nobody trusts it enough to search it.

  4. 04

    Redeployment is noticed after the worker is gone

    A worker finishing an assignment on Friday is the cheapest placement the agency will ever make: screened, onboarded, proven. Most agencies find out the assignment ended when the timesheets stop. By then the worker has taken a shift from another agency. Nobody has a list of who finishes in the next two weeks, so the redeployment conversation never happens on time.

  5. 05

    The owner never has a clean gross margin per client

    Bill rate minus pay rate looks simple until burden, statutory holiday pay, overtime, unbilled hours and credits for disputes are counted. Those live in payroll, the ATS, the accounting system and a spreadsheet. The owner can tell you revenue per client and can guess at margin. The clients that feel busiest are often the ones paying least, and nobody has the number to prove it.

Where it leaks

Every one of these is measurable. Most are not measured.

The free audit prices these in your own numbers before anything is scoped. You keep the map whether or not you hire us.

Where the money and the hours go in recruiting and staffing, how it is measured today, and what closes it.
The leak How it is measured today What closes it
Hours worked that are never billed, or billed at the wrong rate Discovered by the client disputing the invoice, weeks later, if at all Reconciling approved hours against pay and invoice lines before either goes out
Proven workers finishing assignments and not redeployed Not measured; noticed when their timesheets stop and another agency has them A list every Monday of who finishes within fourteen days, matched to open orders
Recruiter hours spent answering the same routine candidate questions Nobody counts it; it is the whole afternoon and everyone knows it A voice agent and a chatbot that answer the routine and hand over the rest with context
Duplicate and stale candidate records that make the database unsearchable Recruiters dialling dead numbers and re-sourcing people already on file Reconciliation with confidence scores, merges kept under human control

What we build

6 builds that pay for themselves here.

Each one states what it reads, what it does, and what a person still approves. Scope is agreed after the audit, one build at a time, against a baseline you sign.

A voice agent on the candidate line

The agent answers the worker line, identifies the caller by phone number against the ATS, and reads the assignment, timesheet status and pay date from the staffing platform. It answers the routine questions, sends the shift address by text, and transfers anything about a dispute, a rate or a complaint to a recruiter with a written summary. It never changes pay, hours or an assignment.

Measured by: Calls per week resolved without a recruiter picking up

A website chatbot for candidates and clients

The chatbot reads your registration steps, required documents, office hours, timesheet deadlines and client approval process, and answers those questions on the site in plain language. It collects a name, phone and role interest into the ATS as a lead with a consent flag. Anything about a specific placement, pay or a complaint goes to a named person by email with the transcript.

Measured by: Front-desk emails and calls per week asking a question the site already answers

Candidate records reconciled with confidence scores

The system reads every candidate record in the ATS, job board exports and the payroll worker list, matches them on phone, email, name and work history, and scores each match. High-confidence duplicates are merged with a full history kept. Anything below the threshold is queued for a recruiter to confirm or reject. Government identifiers are never used as a match key and never leave your systems.

Measured by: Duplicate rate in the ATS, and dead numbers dialled per recruiter per week

Onboarding and compliance intake that chases itself

When a candidate is marked ready to onboard, the system sends the document requests by text and email: identification, work eligibility, certifications such as WHMIS, forklift or Food Safe, banking for direct deposit. It reads what comes back, checks expiry dates, and builds the compliance file. A person verifies identity documents and signs off before the worker is marked available for assignment.

Measured by: Hours from offer accepted to cleared for first shift

Timesheet to payroll to invoice reconciliation

Before payroll runs, the system reads approved hours from the timesheet source, pay and bill rates from the assignment, and the provincial overtime and statutory holiday rules for the work location. It compares hours approved, hours paid and hours to be billed, and lists every line that disagrees with the reason. A controller clears the list; nothing is paid or invoiced by the system itself.

Measured by: Invoice credits and pay corrections issued per month

Shift broadcast to the right workers first

When an order lands, the system reads the role, certifications, location, shift time and rate, then ranks available workers by matching certifications, distance, past attendance and consent to be contacted. It drafts the text message and the ordered list. A recruiter approves the list and the send. Replies are written back as pending confirmations, and the recruiter confirms the final assignment.

Measured by: Minutes from order received to shift confirmed

The numbers

Borrowed statistics, with their sources and their limits printed.

None of these are our results. They are the published state of recruiting and staffing, linked so you can check them, with the caveat attached where the number is a survey, a forecast or a vendor's own figure.

4.3%

Operating profit margin across Canada's employment services industry in 2024, on $24.3 billion of revenue that fell 1.7 percent from the year before.

Statistics Canada, 2025

Industry-wide average including the largest national firms; temporary staffing was 48.2 percent of sales. It was the first annual revenue drop since comparable data began in 2013, excluding 2020.

28.5%

Share of Canadian job vacancies that had been open for 90 days or more in the fourth quarter of 2025, out of 495,100 vacancies.

Statistics Canada, 2026

Covers all Canadian employers, not agency-filled roles specifically. The overall vacancy rate was 2.8 percent, holding steady for a third consecutive quarter.

14.6 hours

Hours per week a recruiter spends searching for the right candidates, according to the largest annual survey of the staffing industry.

Bullhorn, 2025

Vendor survey of more than 1,500 recruitment professionals worldwide, not Canadian-specific. Bullhorn sells the software the survey argues for.

Where the data comes from

Your systems of record stay exactly where they are.

We read them, we do not replace them. Each one below says what we connect to, how, and the line the build does not cross.

Applicant tracking system and CRM

Usually: Bullhorn, JobAdder, Crelate, Vincere, Loxo

What it holds. Candidates, resumes, notes, job orders, submissions, interviews, placements, client contacts and recruiter activity.

How we connect. REST API and webhooks where the product offers them (Bullhorn and JobAdder both do), otherwise a scheduled export. We read candidates, jobs and placements, and write back notes, tags, consent flags and reconciliation results to fields agreed in advance.

Where it stops. Nothing submits a candidate to a client, changes a placement status or edits a pay or bill rate without a recruiter or manager approving it in the tool they already use.

Front-to-back staffing platform with timesheets, payroll and billing

Usually: Avionté, TempWorks

What it holds. Assignments, pay and bill rates, timesheets and approvals, payroll runs, invoices, worker onboarding documents and compliance items.

How we connect. API where licensed, otherwise scheduled exports of timesheets, assignments and invoice lines, read into a reconciliation layer that compares hours approved against hours paid and hours billed.

Where it stops. We never approve a timesheet, run payroll, or issue an invoice. The system flags the mismatch and a controller decides. Rates are read, never written.

Accounting and Canadian payroll

Usually: QuickBooks Online, Sage 50, Xero; Payworks, Wagepoint, ADP Workforce Now

What it holds. The general ledger, receivables, remittances, T4 and ROE records, and for agencies without a front-to-back platform, the payroll run itself.

How we connect. API read for invoices, payments and payroll journals. Where we create anything, it is a draft invoice or a draft journal entry that appears in the accountant's queue.

Where it stops. No journal entry posts, no remittance files, no ROE issues without a bookkeeper approving. Statutory deductions stay with the payroll provider; we read them, we do not calculate them.

Built around your rules

The regimes that govern this work, and how the build answers each one.

Constraints come first, because they decide the architecture. Bring us your hosting, residency and regulatory rules at the start and we design to them rather than around them.

Regulatory and professional obligations that shape a build in recruiting and staffing.
Regime What it demands here How the build complies
Ontario Employment Standards Act, 2000: temporary help agency and recruiter licensing Since July 1, 2024, temporary help agencies and recruiters operating in Ontario must hold a licence from the Ministry of Labour, backed by $25,000 in security for most applicants. Clients are prohibited from knowingly using an unlicensed agency. Penalties start at $15,000 and rise to $50,000 for repeat contraventions. Licences now run two years. The licence number and expiry live on the agency record and appear on client-facing documents the system drafts. Renewal is flagged 90 days out. Any workflow assigning a worker to an Ontario client checks that a valid licence record exists and stops if it does not.
BC Employment Standards Act employment agency licence, and the Temporary Foreign Worker Protection Act An agency recruiting for more than one employer in BC needs an employment agency licence and must keep records of each employer served and each person directed to them for two years. Recruiting foreign nationals needs a separate recruiter licence with $20,000 security and four years of records. No fee may be charged to a job seeker for core placement services. Every placement and referral writes the record the Act requires, with retention timers set to the longer period where a worker is a foreign national. No part of any intake or chatbot flow can take a payment from a candidate. Records export in the form the Employment Standards Branch asks for.
PIPEDA and BC Personal Information Protection Act Candidate files are personal information: identification, work eligibility, banking, health and certification details. The agency must state the purpose, obtain consent, collect only what it needs, keep it only as long as needed, and safeguard it. Information that crosses a border falls under the federal Act regardless of province. Consent and purpose are captured at intake and stored on the record. Identification numbers and banking details are never passed to a language model and never used as a match key. Hosting stays in Canada where the agency requires it. A retention schedule produces a deletion queue that a named person approves.
Canada's Anti-Spam Legislation (CASL) Commercial electronic messages need express or implied consent, must identify the sender, and must carry an unsubscribe mechanism that is honoured promptly. Client marketing emails and texts fall squarely inside it; candidate outreach is safest treated the same way. Every contact carries a consent flag with its source and date. The shift broadcast and any client campaign only draw from contacts with consent on file. Every message identifies the agency and carries a working unsubscribe, and opt-outs are written back to the ATS the same day.

What we will not automate

  • Submitting a candidate to a client. The system shortlists, drafts and ranks; a recruiter decides who is put forward, because a bad submission costs the client relationship, not a click.
  • Changing a pay rate, a bill rate, or running payroll. A controller approves every rate and every run, because a wrong pay day loses the worker and a wrong invoice loses the client.

A person stays in the loop

Anything that spends money, sends something irreversible, or carries a professional obligation arrives as a draft with a named reviewer. The system prepares the work. A person decides whether it ships.

You own the code and the data at the end of the engagement.

Questions

The questions we get asked in recruiting and staffing.

No. Both have APIs, and where a product does not, a scheduled export does the job. We connect to what you run, agree field by field which system owns which piece of data, and write that down before anything is connected. Your recruiters keep working in the tool they know. What changes is that the routine work around it stops landing on them.

It stays in your systems and in a data layer we build for you. If you need every model and every byte hosted in Canada, we build to that from the first day; it is a constraint we design to rather than patch around later, and it rules out some vendors. Identification numbers and banking details never go to a language model at all. You own the code and the data.

It depends what it does. A worker calling to ask whether their timesheet went in wants the answer in twenty seconds, not a callback. The agent answers that kind of call and hands everything else to a recruiter with a written summary, so the person picking up already knows why they called. We measure the handoff rate and the callbacks, and adjust what the agent is allowed to handle.

The free audit maps where recruiter hours and margin go today and prints the arithmetic. If we build, we agree one number in writing first: calls resolved, invoice corrections, hours to first shift, or whatever the audit shows matters most. The clock starts at deployment. If the system misses the agreed bar, we keep working at no additional cost until it clears, and you can cancel any time.

What happens next

Start with the audit, and know the number before you commit.

Three to five days. We map where the hours and the money go in your recruiting and staffing operation and hand you a ranked plan with the payback attached.

We map where time and money leak, and show the arithmetic before you commit to anything. You keep the map whether or not you hire us. If we do build, we agree the baseline in writing first, the clock starts at deployment rather than signature, and you own the code.

Who you talk to
Shiv and Vishal. No account managers, no slide decks.
Direct
shiv@exdsconsulting.com
Read next
What we build, then Our work.