In this article
- Which steps sit between placement and invoice?
- Where does the margin leak away?
- Step 1: make the placement the source for everything else
- Step 2: automate the timesheet flow, not the data entry
- Step 3: bring exceptions to the surface
- Step 4: link invoicing to approved hours
- Step 5: fill gaps in the rota without phone rounds
- What should you watch for with candidates and collective agreements?
- When is it still too early?
- Frequently asked questions
A staffing agency earns its money on the difference between what it pays and what it invoices. That margin leaks away in the steps nobody puts on a timesheet: chasing a missing timesheet, a shift that falls through on a Friday afternoon, and an invoice that goes out a week late.
Which steps sit between placement and invoice?
More than you think, and most of them are done by hand.
- The placement: candidate, client, rate, premiums and duration are recorded somewhere.
- The documents: ID, contract and sometimes certificates, which must be complete and valid.
- The hours: entered by the temp worker, approved by the client, processed by the back office.
- The exceptions: overtime, premiums, travel expenses and breaks that don't fit the standard pattern.
- Payroll and invoicing: the same hours, processed twice, with a difference on both sides.
- The follow-up: unpaid invoices and the question of who calls whom, and when.
What this means for each step is set out on our page for recruitment and staffing agencies.
Where does the margin leak away?
In three places. The first is the timesheet flow: every hour that comes in late ends up on the invoice late. The second is the exceptions: a premium that isn't charged on can never be recovered.
The third is gaps in the schedule. A shift that isn't filled is revenue that doesn't exist, and it is usually tackled with a round of phone calls rather than a list.
Step 1: make the placement the source for everything else
At placement, record everything you'll need later: the rate, the premiums, the client's cost centre and who approves. If you don't, every later step has to look it up again.
That sounds obvious, but in practice half of it lives in an email thread. As long as that's the case, you can't reliably automate timesheet processing or invoicing.
So make it a hard rule that a placement only exists once those fields are filled in. It feels strict on day one, and saves arguments between sales and the back office every week after that.
Step 2: automate the timesheet flow, not the data entry
Entering hours is usually digital already. The bottleneck is the approval and the processing that follows. Send reminders at fixed times to anyone who hasn't entered or approved their hours, and only escalate if that doesn't work.
Let the system compare the hours entered with the placement and show only the differences. Nobody needs to check someone who worked exactly to contract. That removes most of the checking work.
Also agree what happens when a client doesn't approve. A deadline after which hours count as approved, or an alert to the account manager. Without that agreement, some hours stay on hold and you only find out at month end.
Step 3: bring exceptions to the surface
An exception isn't an error, it's a decision. More hours than agreed, a Saturday premium, travel expenses that differ from usual. Put them in a list with the context alongside, so the back office can deal with them in minutes.
Important: don't let the system quietly correct anything. A correction nobody sees comes back as an argument with the client or the temp worker, and then you've lost the trust you had just built.
Step 4: link invoicing to approved hours
Only invoice what has been approved, and invoice straight away. At many agencies, the gap between approval and invoicing is the biggest drain on working capital, and the easiest one to remove.
To do that, connect your time registration to your payroll and accounting. Which fields that involves and what to do when a message fails is covered in what an integration costs. For payroll, there is for example integrating Nmbrs.
When integrating, pay attention to the client's cost centre and purchase order number. Larger clients reject invoices without them, and a rejection like that can easily cost you thirty days.
Step 5: fill gaps in the rota without phone rounds
As soon as someone drops out, a system can work out who is available, has the right paperwork and won't go over their hours. It contacts those people in order and records the confirmation.
The planner sees the result and steps in where needed. How such a flow works is described under automating shift filling.
What should you watch for with candidates and collective agreements?
Two things. The first is selection: if you let a system do the groundwork in screening, you must be able to explain what candidates were assessed on, and a person must make the rejection. How to set that up carefully is covered in CV screening with AI and under screening CVs automatically.
The second is the collective labour agreement (the Dutch CAO). Premiums, phases and pay rules change, and they differ by sector. Put those rules in a table an administrator can update, not in code, or every change becomes a project.
When is it still too early?
When your placements still live in emails and spreadsheets. Automating on an unreliable source only gives you faster mistakes. And with a small number of temp workers, the manual route is simply cheaper.
In that case, start with one part: following up unpaid invoices, for example, with credit control. You can work out what your current manual work costs with the cost of manual work.
Frequently asked questions
What can a staffing agency automate first?
The timesheet flow. Reminding people who haven't entered or approved their hours, comparing hours with the placement and showing only the differences. That removes most of the checking work and gets the invoice out days earlier.
How do you make sure premiums are always charged on?
Record the premium rules at placement rather than in an email thread, and let the system flag every exception in the hours with context alongside. Never let it correct things quietly, because that comes back as an argument.
Can you fill the rota automatically?
The searching, yes. A system can work out who is available, has the right paperwork and won't go over their hours, contact those people in order and record the confirmation. The planner sees the result and steps in where needed.
Can AI reject candidates?
Let it do the groundwork and leave the decision to a person. You must be able to explain what candidates were assessed on and with which data. Record for each candidate which requirements were checked and who made the rejection.
How do you deal with changes to collective agreements?
Put premiums, phases and pay rules in a table an administrator can update, not in code. Collective agreements change and differ by sector. If the rules are in code, every change becomes a project with a lead time.
When is it better not to start on this?
When your placements still live in emails and spreadsheets. Automating on an unreliable source gives you faster mistakes. First record where the rate, premiums and approver are kept, then tackle the flow around them.






