A staffing agency is a payroll company that happens to sell its employees' time. Almost every dollar that comes in goes back out within days as wages, payroll taxes, and workers' compensation, and the business lives on the thin slice in between. That makes the bookkeeping unusual in two ways: revenue is large relative to profit, so the income statement is easy to misread, and payroll runs weekly while customers pay in thirty to sixty days, so cash is always tighter than profit suggests.
This guide covers how to record temporary billings and placement fees, what belongs in cost of sales, how to see the real margin on each client, and how to keep the books straight when a factor is funding payroll.
Record gross billings as revenue and temp wages as cost of sales
For temporary and contract staffing, the agency is the employer. The workers are on your payroll, you withhold their taxes, you carry the workers' compensation policy, and you bill the client for their hours at a marked-up rate. Because you are obligated to pay the worker whether or not the client pays you, the full amount billed to the client is your revenue. Do not net the wages out and record only the markup. A $40 bill rate on a $25 pay rate is $40 of revenue and $25 plus burden of cost of sales, not $15 of revenue.
Set up the income statement so cost of sales holds everything that scales with a billed hour: temp wages, the employer share of Social Security and Medicare, federal and state unemployment tax, workers' compensation premium, paid sick leave where state law requires it, and any benefits temps are eligible for. Office staff salaries, recruiter pay, job board fees, and software are operating expenses below gross profit. Done this way, gross profit is the number that tells you whether placements are priced right, and it can be compared across clients and months.
Keep a separate revenue account for each service line: temporary staffing, direct-hire placement fees, and temp-to-hire conversion fees. They have different margins and different timing, and lumping them together hides a slow quarter in one behind a good quarter in another.
Know the full burden on every billed hour
The markup that looks healthy on paper gets eaten by costs the pay rate does not show. Employer payroll taxes add 7.65 percent for Social Security and Medicare, plus federal unemployment tax on the first $7,000 of each worker's wages and state unemployment tax at a rate that depends on your state and your claims history. Staffing agencies tend to carry higher state unemployment rates than most businesses, because temporary workers file claims between assignments. Workers' compensation is priced by class code, so a light-industrial or healthcare placement costs far more to insure than a clerical one. Add those up for each job category and you have the true loaded cost of an hour, which is the number the bill rate has to clear.
Build that burden percentage into pricing for each class of work, and let the books confirm it. If gross profit on a client runs below what the markup implies, the usual causes are overtime billed at straight time, a workers' compensation class code assigned wrong, or an unemployment rate change that never made it into pricing. Review the state unemployment rate notice every year when it arrives; it changes, and it changes the margin on every hour.
Hours billed must equal hours paid. Reconcile the timesheets that drove payroll to the invoices sent to clients each week. A gap in either direction is either unbilled work or unpaid work, and both are expensive to discover months later.
Placement fees, guarantee periods, and conversions
A direct-hire placement fee is usually a percentage of the candidate's first-year salary, invoiced when the candidate starts. Record it as revenue on the start date, not when the offer is signed, because that is when you have earned it. Nearly every placement comes with a guarantee period, commonly 30 to 90 days, during which you either refund part of the fee or replace the candidate if the hire does not work out. On cash-basis books a refund is simply a reduction of revenue when it is paid. On accrual books, keep a schedule of open guarantees and record refunds in the month they occur, so a bad quarter of fall-offs shows up as one rather than being disguised as a quiet month.
Temp-to-hire conversion fees are earned when the client hires the worker off your payroll, and the contract usually sets the fee on a sliding scale based on how many hours have already been billed. Record the fee when the conversion happens and tag it to the client so you can see what each account is worth over time. Retained search is the one case where money arrives before the work is done; that cash is deferred revenue, a liability, until the milestones in the agreement are met.
Factoring, the payroll cash gap, and what to watch monthly
Temps are paid every Friday and clients pay in thirty, forty-five, or sixty days, so a growing agency needs cash to fund several weeks of payroll on every new account. Many agencies use invoice factoring to cover that gap. Record it correctly: when the factor advances most of an invoice, reduce accounts receivable by the full invoice, record the cash received, and put the held-back reserve in an asset account for amounts due from the factor. When the client pays and the factor releases the reserve, clear that account. The factor's fee is a financing cost, recorded as an expense in the month it is charged. Netting the fee into revenue, or leaving factored invoices sitting in receivables, overstates both revenue and what customers owe you.
Each month, run gross profit by client and by service line, review the receivables aging because one slow-paying client can consume all of your payroll funding, confirm that payroll tax deposits and quarterly filings are current, and reconcile the factor's statement to your due-from-factor account. Track payroll by workers' compensation class code all year, because the annual premium audit will reprice the policy on those totals, and a misclassified group of workers becomes a surprise bill.
EVO Bookkeeping keeps the books for staffing agencies for $199/month flat: temp and placement revenue recorded separately, payroll and burden posted to cost of sales, the factor's statements reconciled, and an income statement showing gross profit by service line delivered by day 2 of the following month, with 1099 prep at year end for any contractors you pay. Behind on the books? Catch-up is $199 for each month behind, completed within 2 days and guaranteed in writing. No contracts, cancel anytime. Get an instant quote on our homepage.