ManPower
For: Anyone costing worker labor into production runs
A ManPower record is a worker register: name, department, and an hourly rate. Its job is to give a Production Order a rate to multiply by hours worked, nothing more.
What this module does
1. A worker record is a name, an optional department, and an hourly rate
The Add Worker form has exactly three fields you fill in yourself.
Worker Code: Assigned automatically with an MP prefix. This is the only field the system actually guarantees is unique.
Worker Name: Required, but nothing stops two workers from having the exact same name.
Department Name: Optional. A worker can be saved without one.
Salary Per Hour: Required. This is the number every labor cost calculation is built from.
2. The hourly rate is copied onto each assignment, not looked up live
A worker connects to production in three separate places, and all three capture the rate as it stood at that moment.
As the Production Order's owner or its manpower list: The worker's current Salary Per Hour is copied onto the order's own manpower line.
Per process, inside a Process Route run: Each process step that names a worker carries its own copy of the rate for that step.
On a submission's manpower cost: When production is submitted, the hours worked and the rate at that time are multiplied and stored as the worker's cost for that submission.
Editing a worker later: Only changes what gets copied onto new assignments from that point on. It never rewrites a number already saved on an existing order.
Note: The Department dropdown used when assigning workers to production also accepts a special value that finds every worker with no department set, rather than filtering by a named department. It's a way to find undepartmented workers, not a hidden worker record being excluded from view.
Business rules
| Topic | Rule |
|---|---|
| No subscription gate | Adding a worker isn't limited by your plan |
| No name uniqueness check | Worker Name can repeat freely. The only thing the system guarantees is unique per worker is the auto-generated Worker Code |
| Department is optional | A worker can be saved with no Department Name at all |
| No active/inactive status | There's no deactivate action on a worker, only Edit and Delete |
| Deleting | Blocked if the worker appears anywhere on a Production Order: as its owner, in its manpower list, in a submission's manpower cost, or on a per-process assignment |
| Rate changes aren't retroactive | Editing a worker's Salary Per Hour only affects assignments made after the change. Past Production Orders keep the rate that was copied onto them at the time |