SUBLIMIT · GUIDE

Monthly workforce reports: what the agency form asks, and how to prepare it from payroll without guessing.

Some contracts — the OCC's monthly workforce report attachment is one example — require the contractor to report, every month, who worked on the contract and how many hours. It looks simple. It goes wrong in the same three places every time: identity, allocation, and the difference between this report and the subcontracting limit.

What a workforce report asks

Who
Each worker on the contract in the period, with the facts the form requires (name, role/labor category, employee or subcontractor, and whatever else that revision lists).
How much
Hours worked on this contract in this month, per worker — not total hours paid.
Which contract
The contract identifier, the reporting month, and the contractor facts the form's header wants.
Signed by
An authorised officer. The form is the contractor's certification, not a software output.
Forms and revisions differ by agency and by contract. Confirm from your awarded contract which form and revision you owe and record the evidence reference; a form attached to a public solicitation (for instance the OCC attachment published with solicitation 2031JW26Q00082 on August 6, 2026) is not proof that your contract requires it. This guide is not legal or contracting advice.

Why it is separate from the subcontracting limit

The limitations on subcontracting test is payment-based: dollars the government paid you against dollars you paid non-similarly-situated subs, over the period of performance. A workforce report is hours- and people-based for one month. The same payroll and subcontractor records feed both, but a workforce report cannot prove subcontracting compliance and the subcontracting percentage says nothing about staffing. Keep the two calculations separate and never derive one from the other.

Preparing it from your own exports

  1. Contract facts first. Contract identifier, reporting month, form revision and its evidence reference, and any contractor header facts. Unknown stays blank — it becomes an open item, not a guess.
  2. Identities. A persistent ID for every employee and every vendor, mapped to the exact identifier your payroll and timekeeping exports use. Two similar names are two people until proven otherwise; a subcontractor's status is a verified fact with a date, not a label.
  3. Import the month. The payroll/timekeeping export for exactly the reporting period. Save the column mapping (worksheet, header row, date format, column headings) so next month is a re-run.
  4. Allocate. For each worker, the hours on this contract — an explicit allocation from a timekeeping job code or a documented split. Nothing preselected, nothing assumed at 100%.
  5. Reconcile. Allocated hours cannot exceed hours worked; every listed worker has the facts the form requires; every subcontractor line has its verified status. Items needing attention are listed and corrected at the source.
  6. Export the unsigned draft only when facts and hours reconcile and the values fit the form's layout — long values flagged, never silently truncated. Inspect every page. The officer reviews, certifies and submits through the process the contract specifies.
  7. Keep the package. The draft, the source exports, the mapping and the allocations, tied to that exact report, in a backed-up workspace.

Where it goes wrong

Monthly checklist

Download this checklist as a one-page PDF ↓

FROM THE SAME RECORDS, KEPT SEPARATE

SubLimit prepares the OCC workforce draft and the subcontracting calculation from one workspace.

Import payroll and subcontractor exports once a period; verify identities and statuses; allocate hours; export an unsigned Word draft only when everything reconciles. The subcontracting-limit calculation runs from the same records with its own arithmetic. Local Windows software, encrypted backups, nothing uploaded. $149.00/month, 30-day no-card trial.

Get started ↗   Try the free calculator