muqawil · مقاول
FeaturesHow it worksPricingGuideBlogPartners
العربيةSign inGet started
  1. Home
  2. /
  3. Blog
  4. /
  5. Construction HR: Staff Files and Leave

HR & workforce

A worker, an employee and a user are three records, not three words for one.

Published: 22 September 20269 min read

In a construction company the word "employee" hides three completely different things: a site worker whose pay comes out of logged hours, an engineer or accountant with a contract, annual leave and documents that expire, and a login account with permissions attached. Collapsing all three into one record is the root of most administrative chaos — a contract that lapses with nobody watching, the same days of leave approved twice, an account still live after the last working day. This guide is about separating the three properly, and about what the system should be refusing on your behalf.

Key takeaways

  • Worker, employee and user are three registers: payroll input, a service file, and an access credential — one person can hold two of them without them becoming one row.
  • Any document with an expiry date is a deadline: a contract, a licence, a vehicle permit — its value is the warning before it lapses, not the archive after.
  • Overlapping leave has to be refused when it is raised, not discovered in a year-end balance; a pending request holds its dates exactly as an approved one does.
  • Approval is not the end of the story: leave approved in error or never taken must be cancellable, or it blocks those dates and counts against the employee forever.
  • Deleting a staff file takes their leave history and documents with it; ending service is a status you record, not a row you erase.

In this article

  1. 01Worker, employee, user: three registers
  2. 02What a service file actually needs to carry
  3. 03A document with an expiry date is a deadline
  4. 04The leave that gets booked twice
  5. 05Approval is not the end of the story
  6. 06Leave and attendance: two different populations
  7. 07Who gets to open a personnel file
  8. 08How this works in muqawil

Worker, employee, user: three registers

Keeping these apart is not technical fussiness; it mirrors how a contractor actually operates. The carpenter on site is paid from daily attendance records and may not have an email address at all. The project engineer has a contract, a hire date, annual leave and documents that expire. The procurement manager has all of that plus a login with a specific set of permissions.

What each of the three registers is actually for
RegisterQuestion it answersWhat it feeds
WorkerWho worked on site, and for how many hoursAttendance, payroll, crew productivity
EmployeeWho is on the books, and under what contractLeave, documents, department structure
UserWho signs in, and with what permissionAuthorisation and the audit trail

One person can appear in two registers: a site engineer is an employee with a service file and also a user with a login. The link between them is optional and explicit rather than a merge. The reason is practical — disabling an account is an immediate security decision, while ending employment is an administrative one with a date, documents and a final settlement. Fuse them and one drags the other along at the wrong moment.

Note: Why not merge worker into employee?

Because the payroll inputs are fundamentally different: a worker’s pay is built from attendance records with real hours, while an employee is on a monthly contract. One table for both means half the rows have empty columns and two contradictory calculation rules living in the same place.

What a service file actually needs to carry

A service file is not a copy of a CV. What belongs in it is whatever later decisions rest on: job title and department because every structural report starts there, hire date because length of service and entitlements are calculated from it, a national ID because it is the key to any government transaction, and a direct contact that works on the day of an incident.

  • The name in both Arabic and English — the contract, the official transaction and the internal report are not all written in one language.
  • Job title and department: without them, "how many engineers do we have?" cannot be answered without counting by hand.
  • Hire date: the reference for length of service, leave entitlement and end-of-service calculations.
  • Service status — active, inactive or terminated — recorded as a state that keeps its history.
  • An optional link to a login account, for the employees who have one.

Warning: Termination is a status, not a delete

Deleting a staff file takes their leave history and attached documents with it — and that is precisely the data that gets asked for after someone leaves: proof of service, a copy of a contract, a disputed leave balance. Setting the status to terminated keeps the whole history and takes the person out of the active lists.

A document with an expiry date is a deadline

Contracts, driving licences, vehicle permits and official papers all share one property: a date they stop being valid, and a cost of missing it that dwarfs the cost of renewing. A driver with a lapsed licence parks a truck and delays a pour; a contractor with an expired vehicle permit is turned away at the client’s gate.

The difference between an archive and a tracking system is one field: the expiry date held as sortable, filterable data rather than a line of text inside a scanned file. The scan proves the fact after someone asks about it; the indexed field is what warns you before they do.

  1. 1

    Classify the document

    Contract, vehicle permit, office document or other — the classification is what makes "show me every contract" a question with an instant answer.

  2. 2

    Attach it to a person where there is one

    An employment contract belongs to a staff file, while a company vehicle permit stands alone with no owner — the system has to accept both shapes.

  3. 3

    Record the expiry as a field

    Not inside the filename and not in the notes box; only a real field can be sorted on and warned about.

  4. 4

    Review the list on a cycle

    A weekly look at whatever expires within the month is enough to turn renewals from a crisis into a routine task.

The leave that gets booked twice

The most common failure in leave administration is not a forgotten request — it is the same days approved twice. Two requests for one employee with overlapping dates, approved by two different people on two different days, and every "days away" figure built on them doubles. Nobody notices, because each request looks perfectly correct on its own.

The fix is to block it at creation rather than at review: a new request that intersects an existing one for the same employee is refused immediately, naming the conflicting request and its dates. The detail that matters is that a pending request holds its dates exactly as an approved one does — between submission and decision there is a window in which a second request can be raised on the very same days.

Which request states hold their dates
StatusHolds the dates?Why
PendingYesIt may be approved at any moment, so the dates are genuinely spoken for
ApprovedYesThe days are formally granted
RejectedNoNothing was granted, so nothing is held
CancelledNoGranted then retracted — the days are available again

Tip: The day count is inclusive at both ends

Leave from Sunday to Thursday is five days, not four. The classic arithmetic slip is subtracting the two dates without adding a day — small on one request, and substantial across a full year of balances.

Approval is not the end of the story

Approved leave is not always taken: the employee comes back early, the trip falls through, or the approver realises they signed off the wrong request. If "approved" is a terminal state with no exit, that request holds its dates forever and keeps counting in every absence report — and the only way to correct it becomes deleting the record, which erases the history instead of recording what happened.

Cancelling is a different act from rejecting, and it arrives from two directions: an employee withdrawing a request nobody has decided yet, and management retracting an approval already given. Both end in the same state, but the moment and the actor differ — and an interface offering only one of the two buttons leaves half the cases with no way out.

Note: What cannot be cancelled

A request already rejected or already cancelled is not cancelled again; attempting it should come back with a clear message rather than passing silently and implying something changed.

Leave and attendance: two different populations

Here is a common conflation: the leave register and the attendance sheet are not the same thing and do not serve the same population. Leave is an administrative record for staff on file, while a site worker’s pay is built from their daily attendance — so a labourer who does not turn up is recorded as absent on the attendance sheet, not as a leave request in the HR module.

And the detail that corrupts payroll when it is ignored: an absence is not a shift. An absence is written with zero hours and no check-out, so it must not be counted among "workers present today", and it must never appear in the list of open shifts waiting for a check-out that is never coming. Correcting a wrongly recorded absence by flipping it to "present" without entering hours produces a payslip showing one day worked and zero pay.

Leave says why they were not there. Attendance says what gets paid. Conflate them and one is answering a question it was never built for.

Who gets to open a personnel file

Staff files carry national IDs, contracts and personal documents — some of the most sensitive data in the system. So they do not sit behind a generic "any manager" permission, but behind a specific one held by the account owner and the HR administrator: not the site manager, not the accountant, not the procurement manager.

The split between preparing and paying completes the picture. HR owns the employees, the contracts and the leave that feed a payslip, and opens the payroll run and builds it — while releasing the money stays with finance. Whoever owns the data does not hold the key to the safe, and that separation is what makes the whole thing auditable.

Tip: Every change is recorded

Changing an employee’s status, approving leave, deleting a document — each is written to an append-only audit trail. In a later dispute about a date or a balance, that trail is the difference between an answer and somebody’s memory.

How this works in muqawil

In muqawil the staff file is a register of its own, separate from the site-worker record and from the login account, with an optional link to an account where one exists. It carries the name in both languages, job title, department, hire date, national ID and service status. Documents — a contract, a vehicle permit, an office document — are recorded with the expiry date as a field of its own, and anything expiring within thirty days is flagged on screen.

A leave request counts its days inclusively at both ends and is refused outright if it overlaps a pending or approved request for the same employee, naming the conflict. A pending request can be withdrawn and an approved one retracted, and either way the dates it was holding are released. All of it sits behind a dedicated HR permission, with every change written to the audit trail.

Frequently asked questions

What is the difference between a worker record and an employee record?+

A worker is payroll input: their pay is calculated from daily attendance records in hours. An employee is a service file with a contract, a hire date, leave and documents that expire. One person may also hold a login account, but the registers stay separate because their inputs and calculation rules are different.

Why refuse an overlapping leave request instead of catching it in review?+

Because the review usually never happens: each request looks correct on its own, and the overlap only surfaces in a year-end balance after two different people have approved the same days. Refusing at creation, with the conflicting request named, is the one moment when the correction is cheap.

Does a pending request hold its dates?+

Yes. A pending request may be approved at any moment, so leaving its dates free lets a second request be raised on them before the first is decided. Rejected and cancelled requests hold nothing, because neither grants any days.

How do you correct leave that was approved by mistake?+

Cancel it rather than delete it. Cancelling releases the dates and takes the days out of the counts while keeping a trace of the decision, who made it and when. Deleting erases the event itself, which is the last thing you want in a later dispute over a leave balance.

Can a document be recorded without belonging to a specific employee?+

Yes. A vehicle permit, a company licence or an office document stands on its own with no owner attached, and still carries an expiry date that deserves tracking exactly as an employment contract does.

Who can see staff files?+

The account owner and the HR administrator only. A site manager, an accountant or a procurement manager has no access, because these files hold national IDs and personal documents. Every change to them is written to an append-only audit trail.

A clear service file, and leave that cannot be booked twice

Staff files kept separate from labour records and login accounts, documents whose expiry dates warn you a month ahead, and leave that is refused on overlap and released when it is retracted.

Start a free trialExplore the features

Related reading

Payroll4 August 2026·13 min read

Construction Payroll: Attendance to Payslip

An office salary is a fixed number that repeats. A day-rate wage is a multiplication — real days worked by a rate that may have changed mid-month — and it is never more accurate than the attendance record underneath it.

Read the article
Field operations22 June 2026·9 min read

GPS Attendance on Construction Sites

A paper timesheet usually gets filled in at the end of the week, from memory. Geofenced attendance turns it into a timestamped, located record — provided it is designed to work on a site with no coverage.

Read the article
Roles & permissions8 August 2026·11 min read

Eight Roles: Who Does the Work, Who Approves It

The most dangerous permission design is the one that lets the same person raise an expense and approve it. Separating who acts from who signs off is not extra bureaucracy — it is the difference between a number that can be audited and one that can only be trusted.

Read the article
Labour productivity29 August 2026·9 min read

Measuring Construction Labor Productivity

A worker present for a full shift can still be only half as productive — and an attendance sheet will never show that, because it was built to answer a completely different question.

Read the article
All articles
muqawil · مقاول

Construction management for the Arab world, in Arabic and English.

Product

  • All features
  • How it works
  • Pricing

Resources

  • Blog
  • Complete guide
  • Glossary

Company

  • Create account
  • Sign in
  • Contact
  • Referral program

Legal

  • Terms of service
  • Privacy policy
© 2026 muqawil. All rights reserved.العربية