A company that supplies workers to customers has a thin, repetitive business. Hundreds of timesheets a month, each priced at a rate that depends on the customer and the trade. The margin per worker is a few riyals an hour, and a mistake in a rate or a missed overtime hour comes straight out of it.

Three things have to line up

The rate. A rate card holds a regular and an overtime hourly rate per customer and trade, with validity dates. When a worker is deployed, those rates are copied onto the deployment. If the rate card changes next month, work already done is not repriced.

The hours. Timesheet hours are entered on a day grid and written into the HR attendance register. The register is the only set of hours, so payroll and billing cannot disagree.

The cost. The worker's loaded hourly cost comes from HR: the monthly package plus employer insurance plus the end-of-service accrual, spread across days per month and hours per day. Overtime hours cost that rate times the HR overtime multiplier. The cost is frozen on the deployment too.

The flow

  1. A customer asks for a number of workers of a trade. That is a request, and how many are filled is derived from live deployments.
  2. A worker from the pool, meaning any HR employee marked deployable, is deployed from a date. The pool shows Available, Deployed, On leave or Suspended, with warnings for expired documents.
  3. Hours for the period go onto a timesheet: Draft, then Submitted.
  4. The customer's signatory approves. Your staff record the name, date and reference, and the hours are frozen.
  5. Invoice approved creates one draft tax invoice per customer, with a regular and an overtime line for each timesheet, in batches of 100. Finance reviews and issues it.
  6. The timesheets are marked Billed. Run the action again and it finds nothing.

Guards that protect the margin

  • A database constraint refuses two overlapping active deployments for one worker.
  • A worker on an active deployment cannot be marked as having left.
  • A timesheet can be reopened until it is billed, and not after.
  • A worker can be replaced. The old deployment ends the day before and a new one starts on the same terms.

Reading the margin

Margin is billed value against cost, by customer, worker or deployment. Be clear about what the cost figure is: a standard loaded cost, not the payroll actually paid for the month. It is a good guide to which accounts and trades earn money. It is not a payroll reconciliation. Cost and margin are visible only to users who can view HR.

Limits

  • Approval is recorded by your staff for the customer. There is no customer portal.
  • There are no minimum billable hours, public-holiday rules or per-site rates.
  • Accommodation, transport and visa costs per worker are not tracked, so true margin is lower for companies that carry them.
  • Only invoices in the company's base currency are created. Timesheets for other currencies are skipped with a message.
  • Credit notes for a billed timesheet are issued in Finance, not generated.

See the manpower solution for the whole chain.