Skip to content

Time and attendance ​

Who is on site, who should have been, and how many hours that came to.

For supervisors, foremen, HR administrators and site managers.

Printable: Time and attendance user guide (PDF) — the same guide laid out for a desk, a cab or a workshop wall.

What this module is for ​

Three questions, in the order people actually ask them: who is on site right now, who was expected and did not come, and how many hours did each person work over the period.

The hours it produces are the record an employment dispute turns on, so every one of them can be traced back to the individual clock events behind it, and worked out by hand from them.

The payroll boundary ​

This module holds no rates and calculates no pay

It stores no monetary value of any kind. It produces hours; your payroll applies rates to them.

This is worth stating plainly because it sets an expectation: nobody should come here looking for a payslip, and nobody needs to worry that pay data is sitting in an operations system.

Your people come from an Employees group ​

Each person on the attendance register is a record in an Employees group — a group with Attendance · Workers ticked under Used by. Their name, employee number and site live on that record and are changed there, once; the attendance screens read them from it. Attendance keeps only what is its own: the shift pattern, the card ids and who supervises them.

  • People are put on the register with Enrol from group, or Add person for somebody with no record yet.
  • The worker editor shows name, number and site read-only, with Edit in and the group's name to open the record where they are changed.
  • Names are in capitals on every screen and in every export — including the payroll export, for every row. Payroll matches hours to people by employee number, never by name.
  • A Payroll check column says, in words, when a row cannot be matched: a shared or missing employee number, a group whose employee number is not mapped, or a record that has been removed.
  • A person with clock records cannot be deleted from their group, nor their whole group deleted, until they are marked as left in Attendance. Their hours are never lost by a delete somewhere else.

This module is different in one important way ​

Every other Trackapt module works on things — pumps, vehicles, units, stock. This one works on people. That has one consequence you will notice immediately: it carries its own rule about who may see what.

WARNING

You can see your own attendance, and the attendance of people you are named as a supervisor for — as long as you can also see the Employees group their record is in. Both are needed. It does not come from your clearance level — a senior manager who is not named as somebody's supervisor does not see their hours.

So the Supervisors list on a worker is not a contact field, and not a note about who their foreman is. It is the switch that decides who can see that person at all. Adding a name to it grants that person a standing view of the worker's attendance; taking a name off withdraws it, and the worker leaves that colleague's register at once.

A worker nobody supervises is invisible

A worker with nobody on the list can be seen by nobody except the account holder — while still clocking in every morning. Their hours are recorded correctly and nobody can see them. This is the commonest cause of "the system has lost my crew", and it is why the screen refuses to save an empty list.

Setting it up ​

1. Label your Employees group ​

Your people are kept as records in a group — the same kind of group the rest of Trackapt uses. Give it a property for the employee number (text) and, if you like, one for the site (a list of Sites, or text).

  1. Open the group your employees are kept in, and edit it.
  2. Under Used by, tick Attendance · Workers.
  3. Save. Its people can now be put on the attendance register.

You may label more than one group — employees and contractors kept apart, say. Anybody who cannot see a group cannot see the people in it on the attendance screens either.

2. Confirm the Employee fields ​

Attendance needs to know which property of each group holds the employee number and the site. On Attendance → Workers, choose Employee fields in the card header. Each group gets a card with a picker for Employee number, Site, and optionally First name and Last name (only for a payroll file that wants them apart).

A suggestion is only a guess until you confirm it

Trackapt reads the property names — Emp No., Staff number, Site — and fills the pickers in, marked guess. Nothing is used until you press Confirm on that group. Until then its people read not mapped in the Payroll check column.

Confirming needs level-5 clearance, because it changes what payroll prints. Below that the cards are shown read-only.

3. Put your people on the register ​

On Attendance → Workers, choose one of the two in the card header. Both end with the same record.

ChooseWhen
Enrol from groupThe person already has a record in an Employees group. Pick them from Employee — nobody already on the register is offered — and set the attendance fields below. Nothing about who they are is typed again.
Add personNobody has a record for them yet. Pick the Employees group, type their Name, and — where the Employee fields are confirmed — their Employee number and Site. Their record is created in the group and they are enrolled in one step: if the enrolment is refused — a clashing employee number, say — no record is left behind in the group. Offered only at level-4 clearance, the level that adds records to a group.
Attendance fieldWhat goes in it
Shift patternThe pattern their hours are worked out by. With No default pattern their hours are exact minutes — no break, no grace and no overtime threshold.
Card or reader idsSee step 4.
SupervisorsWho else may see this worker. Offered only if you hold level-5 clearance — see step 7.

If no group is labelled yet, the dialog says so and offers nobody: label one first (step 1).

You are made the supervisor automatically

Whoever adds a worker is made their supervisor. So the ordinary case — a foreman adding the casual who started on Monday — needs nothing else: you added them, so you can see them. The Supervisors field is for naming other people as well, and the screen says so when your clearance does not offer it.

4. Register card ids ​

Where you have a card or biometric reader, enter each worker's card numbers and the id the reader sends in Card or reader ids when you enrol them, separated by commas. That is what connects the device's reads to the person. A worker may carry more than one id. Card ids are set when the worker is added and are not editable afterwards, so enter every id they will use at that point.

Never a fingerprint or face template: the reader keeps its own enrolment and sends only an id, which is all this module ever sees.

5. Set up shift patterns ​

On Workers, choose Add a shift pattern (the clock icon in the card header). A pattern defines the working day and the rules for turning clock events into hours.

FieldWhat it does
NameWhat the pattern is called, for example Day shift. Required.
Starts, EndsThe shift times, on the clock of the computer the pattern is added on. An end before the start crosses midnight — a night shift stays one shift.
Break (min)Deducted from every shift on this pattern.
Grace (min)A punch this close to the start or the end counts as on time. Clock in at 07:58 or 08:03 for an 08:00 start and the shift begins at 08:00; clock in at 07:50 and it begins at 07:50. The same allowance applies at the end of the shift.
Ordinary hours a weekWhere overtime begins, in each week from Monday to Sunday. Leave it empty and every hour counts as ordinary.

The form opens at 08:00 to 17:00 with a 30-minute break, 5 minutes' grace and 40 ordinary hours a week. Press Add pattern — it stays greyed out until the pattern has a name.

Two rules are not on the screen and are fixed on every pattern added there: no rounding, so worked time is exact minutes, and a maximum shift of 16 hours — longer than that and the shift is treated as a pairing problem rather than a very long day.

TIP

Each shift keeps a copy of the rules it was built with, so hours already worked are never restated by a later change to a pattern.

6. Give every pattern a clock ​

A pattern's times are read on its clock: the UTC offset of the computer it was added on. Without a clock, grace cannot find 08:00 among the punches, so it applies none. Shift patterns, at the foot of Workers, marks a pattern with no clock no clock — grace not applied, and a warning at the top of the screen counts them.

  1. Open Attendance → Workers.
  2. Under Shift patterns, press Set clock on the pattern (Change clock where one is set but wrong).
  3. Pick the site's UTC offset. It starts on this computer's, marked (this computer).
  4. Press Save, or Cancel to leave it as it was.

It takes the same clearance as adding a pattern. Setting a clock restates no hours already worked — only shifts built afterwards apply grace on it.

7. Say who may see each worker ​

The Supervisors column on Workers names the people who can see each worker. It is the access rule above, written down one worker at a time.

Changing this list grants or withdraws access

A name added can see that worker's attendance from then on; a name removed stops seeing them, and their hours, at once.

Because of that it takes level-5 clearance — the same bar as naming somebody to a department — rather than the level 3 that keeps the register. Below that bar the register is fully readable and the Supervisors button on each row is greyed, with the reason on it: hover it and it says what is missing and who to ask.

  1. Open Attendance → Workers and find the worker. The search box takes a name or an employee number.
  2. Press Supervisors on their row — Set supervisors where they have none.
  3. Add or remove names in the list that opens in the row. The list warns, by name, about anybody chosen who cannot see the worker's Employees group: named, they would still see nothing until they are given that group.
  4. Press Save, or Cancel to leave it as it was.

If anybody is being taken off, Trackapt asks first and names them: who will stop seeing this worker, and whether you are one of them. Changing the list in the row does nothing on its own — Save is the press that moves access.

Taking your own name off is final

That worker leaves your register and you will not be able to put yourself back — only somebody who can still see them can do that. The confirmation says so before you agree.

A worker with an empty list reads nobody — only the account holder sees them in the Supervisors column, and a notice at the top of Workers counts the ones on the page. Name somebody on each.

The screens, one at a time ​

On site ​

Attendance → On site

The live board, and the reason the module leads with it: on a shift, "who is on site" is the question somebody actually has. Four counts across the top — On site, Pairing problems, Absences and Unrostered — then On site now: every worker currently clocked in, with their Number, Site and how long they have been On site for. The Exceptions button beside it opens the exceptions list.

Clock somebody records a punch now, for a bay with no reader: pick the worker, choose In or Out, and press Record. It counts as a reading, just as if a card had been presented. A punch that was missed is entered on Exceptions instead, where it is marked as entered by hand and carries a reason.

Exceptions ​

Attendance → Exceptions

Everything that did not resolve cleanly over the last 14 days, in three sections:

  • Pairing problems — clock events that could not be turned into a shift, each with an Enter a punch button. See The four pairing problems.
  • Absences — rostered and did not appear. Not leave: the record does not know why, so somebody has to ask.
  • Unrostered work — worked without being rostered. Not necessarily wrong, but always worth knowing.

Absences and unrostered work are measured against the roster

The attendance screens do not plan a roster yet. Until one is in place nobody is listed as absent, and every completed shift appears under Unrostered work.

Hours ​

Attendance → Hours

The totals over the window you set with From and To — the last seven days, today included, when the screen opens; press Apply after changing them. Both days are counted whole. Across the top: Workers, Ordinary hours, Overtime hours and Total hours. Below, one row per worker who worked: Employee no., Worker, Pattern, Shifts, Ordinary and Overtime, in hours to two decimals. A row that rests on a punch entered by hand says includes a punch entered by hand. A row payroll cannot match by employee number says why — no employee number, not mapped, shares E-104 with MOYO TENDAI — and a notice above the table counts them. Check those rows against payroll before paying.

Under it, By week splits each worker's hours into the Monday-to-Sunday weeks their overtime was worked out in: Week of, Days counted, Shifts, Ordinary and Overtime. A week the window only partly covers is marked part week — see Ordinary and overtime.

Only completed shifts count — a shift still running has no end yet.

This is the screen you export for payroll. The export carries both tables: the totals by worker, and the weeks they were added up from. Names are in capitals; payroll matches the rows by employee number.

Workers ​

Attendance → Workers

The register: Name, Employee number and Site read from each person's record, their Employees group, Supervisors — named, one after another, or nobody — only the account holder sees them where the list is empty — Pattern, Payroll check, Status, Card / reader ids (how many) and Uses the app. Payroll check reads sound when payroll can match the row, and says why not otherwise; a notice at the top counts the rows that are not.

The card header carries Enrol from group, Add person (at level 4), Employee fields and Add a shift pattern. Opening a row shows who the person is read-only, with Edit in and their group's name to change it on their record.

Each row carries Supervisors (Set supervisors where there are none), which opens the list in the row itself. At level-5 clearance it can be changed and saved; below that it is greyed and says why. Every take-away in the card header — reading mode, Excel, PDF, print and share — carries the whole workforce you can see, not the page on screen, with the supervisors named in a column of their own.

Below the register, Shift patterns lists every pattern: Pattern, Shift, Break (min), Grace (min), Ordinary hours a week and Clock, with Set clock or Change clock on each row. A pattern with no clock is marked no clock — grace not applied, and a warning at the top of the screen says how many there are.

Everyday tasks ​

Clocking somebody where there is no reader ​

  1. Open Attendance → On site.
  2. Under Clock somebody, pick the worker in Who.
  3. Choose In or Out.
  4. Press Record. The punch is timed at that moment — there is no time to set.

A punch recorded this way counts as a reading, the same as a card at a reader. To put in a punch that should have happened earlier, use Exceptions — see below.

Every punch records where it came from — see Where a punch came from. A shift built from a punch entered on Exceptions is marked, so a reader can always tell which hours were read and which were decided.

Clearing an exception ​

A supervisor resolves a pairing problem by entering the missing punch, at the time they judge to be right.

  1. Open Attendance → Exceptions.
  2. On the row under Pairing problems, press Enter a punch.
  3. Choose In or Out. It starts on Out for Never clocked out and on In for the others.
  4. Set the date and time the punch should have happened.
  5. Fill in Why this punch is being entered. It is required.
  6. Press Enter, or Cancel to close the panel without saving.

The punch is recorded as entered by you, with your reason, for good. Every shift built from it says so, and the worker's row on Hours reads includes a punch entered by hand.

No exception is ever resolved automatically

A missed clock-out is not quietly closed at the roster's end time. Doing that would manufacture hours nobody worked, and — worse — would hide the fact that the record for that day is not reliable. It stays an exception until a person decides, and the record then shows who decided.

Running the period ​

  1. Clear the Exceptions screen first. Hours exported with unresolved pairing problems are incomplete. It covers the last 14 days, so run the period within a fortnight of its end.
  2. Open Hours, set From to a Monday and To to a Sunday, and press Apply. Whole weeks give whole-week overtime; any number of weeks will do.
  3. Check the shift counts against what you expect each worker to have worked.
  4. Export to Excel or PDF from the card header.

WARNING

Export after clearing exceptions, not before. An open pairing problem means a shift with no end, and a worker's hours will be understated until it is closed.

How the figures are worked out ​

Turning punches into shifts ​

A worker's punches are put in time order and paired: each in with the out that follows it. Grace, rounding and break are then applied according to the worker's pattern.

Pairing is not done day by day

A shift from 18:00 to 06:00 is one shift, not two half-shifts either side of midnight. Any system that buckets by calendar day splits every night shift in the operation, so this one does not.

Grace ​

A punch within the pattern's grace of its start or end snaps to that time; a punch further out stands exactly as punched. With 5 minutes' grace on an 08:00 to 17:00 pattern:

ClockedCounted from or to
In at 07:58 or 08:0308:00
In at 07:5007:50
Out at 16:57 or 17:0317:00
Out at 17:1017:10

Grace is never a deduction: somebody who clocks exactly on time is counted from 08:00 to 17:00, nothing taken off. The pattern's times are read on the pattern's clock — the computer's it was added on, unless somebody has set another — so 08:00 means 08:00 at that site.

A pattern with no clock applies no grace

Shift patterns on Workers marks a pattern with no clock no clock — grace not applied. Until the clock is set, every punch on that pattern stands exactly as punched. See Give every pattern a clock.

The four pairing problems ​

Problem, as the screen shows itWhat happened
Never clocked outSomebody went home without clocking. The shift has no end.
Clocked out without clocking inAn out with no in before it.
Implausibly long shiftLonger than the pattern's maximum of 16 hours. Usually a missed clock-out from the day before.
Two reads seconds apartTwo ins, or two outs, within ninety seconds — a card presented twice. The later one is ignored, and recorded so you can see it happened.

An open shift is not an exception ​

Somebody clocked in and not yet out, during their shift, is simply at work. They appear on the live board and their shift has no end yet. It only becomes a problem at their next punch: another clock-in shows it as Never clocked out, and a clock-out beyond the pattern's maximum shows it as Implausibly long shift.

Ordinary and overtime ​

A pattern's Ordinary hours a week is where overtime begins. Hours splits the window into weeks running Monday to Sunday, and in each week a worker's hours up to that figure are ordinary and the rest are overtime; the weeks are then added up. A fortnight of two 40-hour weeks on a 40-hour pattern is 80 ordinary hours and no overtime. A pattern without the figure makes every hour ordinary.

A shift counts in the week it started, whole — a Sunday night shift that ends on Monday morning is Sunday's week. Overtime belongs to the week, not to a shift, so no shift is labelled "the overtime" — only the totals are given. The split is by the pattern, not by a rate — this module does not know what either is worth.

A part week can understate overtime

When From or To falls mid-week, that week is marked part week and only the days inside the window are counted in it. Its hours are still met against the whole weekly figure, so its overtime can be short — the days outside the window were never counted. Set From on a Monday and To on a Sunday to count whole weeks.

When something looks wrong ​

What you seeWhy, and what to do
A supervisor cannot see their crewThey are not named on those worker records. Open Workers — the Supervisors column names who can see each one — and press Supervisors on each row to add them. It needs level-5 clearance. Raising their clearance instead will not fix it: being senior is not the same as being named.
A worker nobody can see, but who clocks in every dayTheir supervisor list is empty — the column reads nobody — only the account holder sees them, and a notice at the top of Workers counts them. Press Set supervisors on each and name somebody. Their hours were recorded correctly throughout.
The Supervisors button on a row is greyed outHover it and it says which of the two reasons applies. Either you are below level-5 clearance, which is what changing this list takes, or you are below it and do not supervise that worker. Ask somebody with level-5 clearance, or the account holder.
A supervisor is named but still cannot see a workerThey cannot see the worker's Employees group. Both are needed. The supervisor picker warns about this by name; give them the group.
A row says not mappedNobody has confirmed which property of that group holds the employee number. Open Employee fields and press Confirm on the group.
A row says shares E-104 with …Two people carry the same employee number, so payroll cannot tell their hours apart. Correct the number on one of their records.
A group, or a person, will not deleteSomebody in it is on the attendance register and has clock records. Mark them as left in Attendance instead; their hours are kept.
Taking Attendance · Workers off a group's Used by is refusedSomebody in that group has clock records and is in no other group used for Attendance workers, so their hours would lose the record that says who they are. Put them in another Employees group first, or leave the group as it is.
A night shift shows as two shiftsIt should not — pairing is not bucketed by day. Two shifts means two in/out pairs; look for a mid-shift clock-out.
Somebody's hours are shortCheck Exceptions for a Never clocked out row. The shift has no end until somebody enters the missing punch.
A worker shows on site for 30 hoursA missed clock-out. It reaches Exceptions at their next punch — as Never clocked out if it is a clock-in, or Implausibly long shift if it is a clock-out more than 16 hours on.
Two clock-ins seconds apartListed as Two reads seconds apart; the later read is ignored. Nothing to do.
Hours changed after I looked yesterdaySomebody resolved an exception. The punch that did it records who added it and when.
A punch at 07:58 counts from 07:58 despite graceThe worker's pattern has no clock — Shift patterns on Workers says no clock — grace not applied. Press Set clock on it. Shifts already built keep their hours; the ones after it apply grace.
A week on Hours says part weekFrom or To falls mid-week, so only part of that week was counted and its overtime may be short. Set From on a Monday and To on a Sunday.

Reference ​

Roster status ​

StatusMeaning
PlannedRostered to work.
WorkedRostered and attended.
AbsentRostered and did not attend.
ExcusedAbsent, with a reason accepted.

Where a punch came from ​

SourceMeaning
DeviceRead from a card or biometric reader, or recorded with Clock somebody on the live board.
UserEntered with Enter a punch on Exceptions, with that person and their reason recorded.
ImportLoaded from a file or another system.

Words this module uses ​

TermMeaning
PunchOne clock event: an in, or an out.
ShiftOne in paired with one out.
PatternThe rules for a working day: start and end times, break, grace and ordinary hours a week.
GraceMinutes either side of a pattern's start or end within which a punch counts as that time.
WeekMonday to Sunday. Overtime is worked out one week at a time.
Open shiftClocked in, not yet out. Normal during a shift.

Taking the data with you ​

Exceptions, Hours and Workers all offer reading-mode preview, Excel, PDF, print and share from the card header; the live board does not. Clear exceptions before exporting hours. The Workers export carries the whole workforce you can see, not only the rows on screen, up to 2,000 workers; past that the screen says so, and the export's subtitle says which part it holds. Names are in capitals in every export; payroll matches rows by employee number, not by name. See Taking data away.