All articles

Custom software for recruitment and staffing agencies

A recruitment agency has two customers at once and a process no generic ATS quite fits. Here is where custom software earns its keep — and why to start with an assessment, not a demo.

A recruitment agency is a strange kind of business: it sells the same thing to two sides at once. You are matching candidates to clients and clients to candidates, and both are your customers, both can walk away, and the deal only exists when the two agree. Most software sold to agencies is an applicant tracking system that models one of those sides well and the other as an afterthought. That mismatch is where a generic ATS starts to force your process instead of following it — and it is where custom software begins to earn its keep.

Start with an assessment, not a demo

Every agency thinks its process is roughly standard until you watch it for a week. Then the specifics show up: the search desk that works differently from the volume desk, the client who insists on a particular submission format, the fee model that changes by role, the handoff between a consultant and a resourcer that lives entirely in someone's inbox. A short, fixed-fee assessment maps that reality and finds the two or three points where your current tools cost you placements or hours. It is cheaper to learn in two weeks that your bottleneck is candidate re-engagement, not sourcing, than to migrate to a new platform and discover it afterwards.

We start here because the answer is often not a full rebuild. Sometimes the highest return is a thin layer that connects the ATS you already have to the job boards, the inbox and the payroll system, so your consultants stop copying data between five screens. You cannot know that from a feature comparison. You know it from watching the work.

Two-sided by nature, so model both sides

The single biggest reason generic tools frustrate agencies is that they pick a side. A CRM models clients and treats candidates as contacts; an ATS models candidates and treats clients as a field on a job. In reality your business is the relationship between the two, and the valuable data lives in the join: which candidates a client rejected and why, which clients a candidate will not work for, how a particular consultant's submissions convert with a particular account. Software built for an agency models both pipelines as first-class and makes the connection between them the thing you can actually see and act on. That is not a feature a generic product bolts on later; it is the shape of the whole system.

The practical payoff shows up in the moments that decide a placement. A client reopens a role they paused six months ago; in a system that models both sides, the three candidates who were shortlisted last time, why each fell through, and who is now available surface immediately, and a consultant can re-submit before a competitor has finished a fresh search. In a tool that treats candidates as loose contacts, that history is scattered across inboxes and someone's memory, and the head start is gone. The relationship data is the asset an agency actually owns, and software that lets it decay is quietly throwing away the one thing that compounds with time.

Matching and search over CVs

The core daily act is finding the right people, fast, in a database that grows every day. This is a search problem before it is an artificial-intelligence problem. A consultant needs to search across CVs and profiles by skill, location, availability, salary expectation, right-to-work status and the notes from the last three conversations — and get results in seconds, ranked in a way that reflects how your desks actually judge fit. Automated matching and ranking can genuinely help here, surfacing candidates a keyword search would miss. But the honest framing is that it augments a consultant's judgement, it does not replace it, and a system that pretends otherwise loses trust the first time it confidently suggests someone obviously wrong. The build that pays off is fast, precise search that a consultant controls, with smart ranking as an assist — not a black box that hides why it chose whom.

There is a quieter win in the same feature: parsing. A CV arrives as a document in one of a dozen layouts, and having a consultant retype its contents into fields is both slow and where good candidates get lost because no one finished the data entry. Reliable parsing that pulls skills, history and contact details into a structured, searchable record — with the consultant confirming rather than typing — is often the single change that makes the whole database usable, because a searchable database is only as good as the data that actually made it in.

Compliance and GDPR are the foundation, not a feature

An agency holds a lot of personal data about people who never became its customers, and European data-protection law takes that seriously. Consent to hold a candidate's data has a lifespan; a right-to-be-forgotten request has to actually reach every copy; data you collected for one role should not silently power a search for another years later without a lawful basis. If this logic is retrofitted, it becomes a permanent source of anxiety and manual clean-up. Built in from the start, it is quiet: candidates have a clear record of consent and its expiry, deletion genuinely deletes, retention rules run on their own, and you can show a regulator what you hold and why. For an agency this is not compliance theatre — a candidate who feels their data was mishandled is a candidate, and often a client, lost.

Job posting and multi-channel reach

A role rarely goes to one place. It goes to several job boards, the agency's own site, a LinkedIn post, maybe a partner network — and each of those sends applicants back in a different shape, through a different mechanism, at a different time. Consultants spend real hours posting the same job five times and then copying applicants back into the system by hand. Software that posts once and distributes, then pulls every response into one candidate pipeline with the source attached, removes a whole category of drudgery and finally lets you see which channels actually produce placements rather than just applications. That last number — cost and yield per channel — is something most agencies cannot see clearly, and it changes where you spend.

Timesheets, placements and margin for staffing

Permanent recruitment ends at the placement; staffing does not. The moment you place contractors, your software has a second life: timesheets have to be submitted, approved by the client, and turned into both an invoice to the client and a payment to the worker, with your margin sitting in the gap. That gap is the business, and it leaks through mundane failures — a timesheet approved late, a rate entered wrong, an overtime rule applied inconsistently, a contract extension no one tracked. Generic tools handle placement or invoicing, rarely the full loop from hours worked to margin realised. Custom software closes that loop, which is why staffing agencies feel the pain of generic tools most acutely: their money moves through exactly the part the generic tool treats as an edge case.

The margin detail is where this becomes concrete. Suppose you place a contractor at a client rate and a lower pay rate, with overtime billed at one-and-a-half after a threshold and a small statutory cost you carry on top. If those rules live in a spreadsheet a coordinator updates by hand, an error is invisible until it has run for weeks — and a margin quietly eroded across dozens of contractors is a serious number by quarter-end. Software that computes the client charge and the worker pay from the same approved timesheet, applying the rate rules once and consistently, protects the margin without anyone policing it, and shows you which placements actually make money rather than which ones simply keep someone busy.

Integrations decide whether it lives

An agency system that does not integrate is a data-entry burden wearing the costume of a productivity tool. The value is in the connections: job boards for posting and inbound, email and calendar so the conversation history and interview scheduling live where the work does, and — for staffing — payroll and accounting so hours become payments without re-keying. The realistic risk with any custom build is that these integrations are underestimated; they are fiddly, the third-party APIs change, and each one is a small ongoing commitment. A good partner scopes them honestly up front, builds the two or three that carry the most manual work first, and does not promise a frictionless bridge to a system whose API will not allow one. Integrations are where the promised time savings are real or imaginary.

Why a generic ATS forces your process

A generic ATS is built to fit the average of thousands of agencies, which means it fits none of them exactly. It has opinions — about pipeline stages, about how a submission works, about what a candidate record contains — and where its opinions differ from yours, you adapt to it. For a young or small agency that is often the right trade: the product's process is a decent default and you have bigger problems than software. The calculation flips when your process is your edge — the specific way your desks work, the niche you dominate, the client relationships that do not look like anyone else's — because then bending yourself to fit the tool erodes the thing that made you worth hiring. The way to tell which side of that line you are on is not to sit through another demo. It is to have someone map your actual process and tell you honestly where the generic tool would cost you, and where it would do fine. That is where we would start.

Is your ATS following your process or fighting it?

A short, fixed-fee assessment maps how your desks actually work, finds where placements and hours leak, and tells you honestly whether to build, integrate or stay put.

Book a recruitment software assessment