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
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
- 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.
- 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.
- 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.
- 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%.
- 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.
- 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.
- 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
- Total hours instead of contract hours — a worker split across two contracts reported at full time on both.
- Identity by name — a new hire with a common name merged with someone who left.
- Wrong revision — a draft on last year's layout, or on a solicitation attachment your contract never adopted.
- Truncated values — a long labor category silently cut to fit a box.
- Reusing the subcontracting math — treating a payment percentage as a staffing fact, or the reverse.
- No trail — a report that cannot be regenerated from the records it came from.
Monthly checklist
- Form and revision confirmed from the awarded contract, evidence reference recorded.
- Every worker and vendor has a persistent ID mapped to the exports.
- Payroll/timekeeping export covers exactly the reporting month.
- Hours allocated to this contract per worker, from job codes or a documented split.
- Subcontractor statuses verified and dated.
- Allocated ≤ worked; all required facts present; open items resolved at the source.
- Unsigned draft inspected page by page; officer certified and submitted.
- Report package and workspace backed up.
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