Link every contractor to an order
Assign each contractor to a client PO or internal SO with a rate, start and end date and an hours cap.
Approve weekly
Have contractors submit weekly, with the project manager approving. Flag entries that exceed the PO balance before they are approved.
Bill and pay from one source
Use approved hours to raise client invoices and calculate contractor payouts, so both always match.