Professional and IT staffing

The answer came back marked management estimate

Each program became a financial dimension in the ledger, settlement matching runs on a key the firm issues rather than reconstructs, and margin now reports after fee, after burden, and after cost to serve.

A financial controller at a two-monitor desk with a printed report beside the keyboard
Program profitability and settlement
A morning
Reconciliation, down from five days and three people to one
11
 days
DSO improvement on program business, across two quarters
2
 job families
Found below cost to serve for five quarters, then repriced
A professional staffing office with recruiters at desks wearing headsets

About the client

A Midwest professional and IT staffing firm runs roughly $245M in revenue with desks in Chicago, Columbus, and Dallas, plus a 55-person shared services center handling sourcing support, onboarding, and timesheet chasing. Two-thirds of contract revenue sits inside seven managed service programs. It ran on Bullhorn for the front office, a 2018-vintage Dynamics GP ledger for invoicing and the books, UKG for payroll, four client supplier portals, and a reconciliation workbook the controller rebuilt every month.

Four business days, three people, and a number nobody believed

  • Asked on a Thursday call what one program earned net of fee and cost to serve, the answer took four business days, three people, and came back footnoted a management estimate
  • Reconciliation matched remittance advice from four portals to billed hours on consultant name and week-ending date, because nothing joined the client's worker ID to the firm's assignment ID
  • It broke on Rob against Robert, on married names, and on a middle initial one system kept and the other dropped; failed lines got a two-letter code from an index card taped to the controller's monitor
  • One unapproved timesheet in a hiring manager's queue held an invoice past the cutoff, so terms that read Net 60 behaved like Net 70 or worse
  • Commissions were calculated by hand off those same contested margins and disputed monthly, and the ledger had no program dimension at all
A controller's desk covered in printed reconciliation reports with an index card taped to the monitor
Two finance colleagues reviewing a margin dashboard together on one screen

Settle the reconciliation first, then build the picture from work order to sponsor pack

We ran a phased modernization, sequenced so the four-day reconciliation stopped first, then built out toward one operating picture from work order to sponsor pack. The number did not have to be better, it had to arrive before the recruiters did.

The program as a financial dimension

Each of the seven programs was defined once as a record, covering provider, portal, fee percentage, rate card by job family, terms, and invoicing cutoff, then made a required field on every work order and a financial dimension in the ledger. The move off GP 2018 was already funded and dated, so the program dimension rode with it instead of becoming its own project.

Automated settlement matching

The firm stopped reconstructing the match key and started issuing it. Its assignment reference is written into the supplier reference field at work-order creation and comes back on the remittance detail. Every invoice line now carries a state: billed, remitted, short-paid, disputed, rebilled, credited under a reason code, or written off under a named approval.

DSO and short-pay management

Timesheet approval status is read from every program daily, so unapproved time surfaces by program and hiring manager while the billing cycle is still open. Short-pays and rejected lines age in a queue with an owner and a reason rather than an email thread, and the program fee posts against the assignment that earned it.

Commission calculation and dispute resolution

Commission calculates from the settled ledger, actual margin on collected revenue, under plan rules held in configuration with effective dates and an approver. Recruiters see their own statements with the underlying assignments and adjustments visible, so a disagreement is settled by opening the line rather than by two spreadsheets meeting in a room.

Fully loaded program margin

Burden comes from payroll actuals per worker rather than a blended percentage, and shared services is allocated on recorded requisition, onboarding, and timesheet activity rather than spread as overhead touching no program. Margin after fee, after burden, and after delivery cost reports at program, client, job family, and assignment.

Analytics, forecasting, and pricing support

A decade of dead records was cleared out of the applicant tracking system first: assignments closed, duplicate consultants merged, requisitions aged out under rules the firm set. On that base, program dashboards replaced the hand-built sponsor pack, and models forecast headcount, margin, and cash. Pricing outputs are recommendations a person takes into a review, not rates the system sets.

Seeing the same pattern in your own operation?Thirty minutes with an architect, no pitch and no obligation.

Book a 30-minute call

Seeing the same pattern in your own operation?Thirty minutes with an architect, no pitch and no obligation.

Book a 30-minute call

Technology stack

Bullhorn and Back Office

Front office, with pay and bill

Microsoft Dynamics 365 logo
D365 Business Central

The ledger, with the program as a financial dimension

UKG

Payroll and tax, feeding burden actuals per worker

Node.js logo
Settlement matching engine

Remittance against billed lines on amount, then hours and rate in tolerance

Data cleanup tooling

A decade of dead records, merged and closed with a person approving first

Microsoft Power BI logo
Power BI

Program margin, DSO, and short-pay aging from one source

Sources

Managed service program fees run 1.5% to 3.5% off the bill rate and are commonly supplier-funded. Practitioner guide, not survey data.

KORE1, MSP Staffing Guide, 2026

Median operating profit was 3.4% in 2025, up from 2.7% in 2024, among firms benchmarked.

TechServe Alliance, 2026

Dynamics GP 2018 and 2018 R2 extended support ends 11 January 2028.

Microsoft Learn, Dynamics GP lifecycle
Schedule a consultation

How long does your margin question take to answer?

We settle the reconciliation, put the program in the ledger, and load the burden that is actually yours. Let's look at what your programs really earn.

Send us a brief
Send us a brief