Invoice and credit notes are not a separate job
The placement is in. The driver went out. The client is happy. Then finance opens a different file entirely.
Someone copies the hours from the placement sheet. Someone checks whether this was PAYE or umbrella — often from a note in a CRM field nobody trusts. Someone raises an invoice in Excel, or in accounting software that never saw the job. A credit note lands weeks later because the shift was cancelled or the rate was wrong, and nobody can tie it cleanly back to the placement without asking the consultant who was on that day.
The recruitment part worked. The billing part became a second project.
For UK HGV and industrial agencies, that split is so ordinary it barely registers as a problem. It is still how errors creep into margin, how clients get chased for the wrong thing, and how Mondays start with reconciling two versions of last week.
Placements and money share the same facts
On a real desk, a placement is not just a name on a board. It is a worker on a client's job, for a defined engagement, on a commercial route that matters downstream.
PAYE and umbrella are different things. The hours, the rate, the client, the site, the dates — those facts already existed when someone decided who could go out. They were checked against licence categories, CPC and tachograph expiry, DVLA status, and Right to Work on the worker record. They were tied to a vacancy the client raised, with a status the desk actually tracks.
Billing should inherit that context. It should not require a second pass through memory, email, and a spreadsheet someone updates when they get round to it.
When invoice generation lives outside the placement, the desk becomes the integration layer again. The same facts get re-read, re-typed, and occasionally re-guessed. Under pressure the invoice goes out with a wrong route attached, or a credit note gets raised without a clean link to the shift it reverses. Finance asks questions the recruitment system should already answer. Consultants spend time reconstructing what they knew on the day they placed the driver.
That is not a finance problem sitting beside recruitment. It is the same job, split across tools that never shared a record.
Why generic CRM rarely fixes this
Salesforce-shaped platforms and blank CRMs are built to track opportunities and contacts. They can be taught a "placement" object. They are rarely born knowing what an HGV agency needs on the invoice that follows.
Consultants add fields. Someone builds a report. Someone exports to Excel because the native billing screen does not match how clients actually buy cover — weekly timesheets, credit notes for no-shows, different paperwork for PAYE versus umbrella. The CRM holds the placement in theory. The truth for invoicing drifts back to a spreadsheet because that is where the agency already learned to trust the numbers.
Ticket systems make a different mess. They are good at closing tasks. They are poor at carrying commercial structure through to invoice and credit note generation. You get a "done" status on a cover request. You do not get a billing trail that finance can run without re-keying.
Spreadsheets persist for a reason agencies often admit quietly: invoicing is the bit they said they would never give up. Not because spreadsheets are good at it. Because nothing else in the stack earned their trust. The placement board moved. Compliance moved — partly. Billing stayed put because the cost of getting it wrong felt higher than the cost of typing it twice.
What belongs in the same system
Recruitment software for this niche has to carry the spine from application to placement — and billing is part of that spine, not an afterthought bolted on when the month ends.
A worker record that holds licence categories, compliance status, and documents. Client management kept separate from candidates. Jobs linked to the client that raised them. Scheduling that matches compliant workers to real vacancies. Placements tracked as PAYE or umbrella — different commercial objects, not one type with a comment.
Invoice and credit note generation belongs there too: raised from the placement context the desk already trusts, not reassembled from a Friday-afternoon export.
That does not mean payroll feeds and umbrella company integrations on day one. Those are later pieces — automation that should reduce typing, not the only reason billing finally connects to the work. At launch, the model comes first: placements, commercial route, and the ability to generate invoices and credit notes without opening a parallel system. Honest status on one record, inside the same product as the job it came from.
Less reconstruction, fewer quiet errors
When billing sits next to the placement, finance stops being archaeology. A credit note ties to the shift it reverses. A margin question starts with data that did not get copied by hand. Consultants spend less time answering "which route was this?" for invoices they raised weeks ago.
Agencies under about fifty staff do not have spare people to reconcile two truths. They have desks that need to place drivers this week and bill last week's work without a second project.
That is what we are building with Haulbase — recruitment software that already speaks HGV, from job board to placement, with invoice and credit note generation in the same system as the work it describes. We are not live yet. If you are on the waitlist, thank you — we will share more as launch gets closer.