Offline attendance
No signal is not an excuse. It is also not a problem.
Staff check in and out with no connection at all. The punch, the GPS fix and the selfie sit on the phone and upload themselves later, stamped with the time they actually happened.
Sound familiar?
- The site is a basement, a lift shaft, or a village with one bar of 2G
- Your app shows a spinner and the worker gives up and walks in
- Punches that do sync land at the wrong time, whenever the phone found signal
- You end the month re-entering half a roster by hand from a WhatsApp thread
- Somebody worked out that turning aeroplane mode on lets them punch in from home
What happens to a punch made where there is no signal
The punch completes offline
No spinner, no retry screen. The employee taps check in, sees it confirmed, and gets on with their day. Whether the network was there is our problem, not theirs.
Stamped when it happened
Each queued punch carries its own capture time and keeps it. Sync at 6 pm, recorded at 8:02 am. Payroll reads the hours worked, not the hours uploaded.
Clock-spoof protected
The time does not come from the phone clock, so changing it does nothing. We anchor to the server clock and count forward on a monotonic timer the user cannot move.
Survives a dead battery
The queue is stored on the device, not held in memory. Force-close the app, restart the phone, run the battery flat. The punch is still there on next launch.
Never double-counted
Every punch carries a unique id and the database refuses a second copy of it. A flaky connection retrying nine times still produces exactly one attendance record.
Nothing disappears quietly
A punch that cannot sync is flagged to the employee and the owner, not deleted. If it never lands, at least somebody knows to enter that day by hand.
Does the attendance app work offline and sync when the phone gets signal?
Yes. Shiftelio stores the check-in, the GPS fix and the selfie on the phone itself when there is no connection, and uploads them automatically the moment any signal returns, written to the record at the time the punch was actually made rather than the time it arrived. The employee sees the punch confirmed on the spot and is never asked to do anything later.
Storing a punch offline is easy. Almost any app can drop a row in local storage and post it later. The part that decides whether you can pay people from the result is which time gets written down.
The obvious answer, read the phone clock, is the wrong one. A phone clock is set by whoever is holding the phone. If the recorded time is whatever the device says, then aeroplane mode plus a clock change is a check-in from bed at any hour you like, and the more remote your sites are the more attractive that becomes.
So Shiftelio does not read the wall clock. It remembers the last moment it heard the real time from our servers and adds elapsed time measured by a counter that only moves forward and ignores anything the user does to the clock. Fully offline, for as long as the app stays running, the capture time is honest by construction.
That covers the common case. The awkward case is a phone that was force-closed and cold-started with no chance to re-check the server time. There we fall back to the device clock corrected by the last known difference, mark the punch as having come from the weaker source, and let the server do the deciding. On arrival it compares the claimed time against the last moment that device was genuinely online. A punch claiming to predate that is not accepted at face value; it is clamped and flagged for you to look at.
None of this asks the employee to do anything differently. They tap a button in a basement and it works. The point of the machinery is that the number it produces is one you can put in a payslip.
Two different things are both called offline: a ZKTeco terminal and this
We do not read your terminal
Offline in the box, and offline in the hand
A ZKTeco terminal is offline in a real and useful sense. Pull the network cable and it keeps taking punches, because the matching and the storage happen inside the device. That is genuine and it is why the machines are trusted in places with bad power and worse broadband.
But look at where the record is during that time. It is in the box. Only in the box. It becomes attendance you can act on when a human connects to the terminal and pulls the log across to a PC, and until somebody does that, nobody at head office knows who came in. If the machine is damaged, stolen or simply not pulled for three weeks because the person who does it was on leave, that is how much attendance you are missing.
Our offline mode is offline in a different place: in the worker's pocket. The punch, the GPS fix and the selfie are queued on the phone that took them, and the queue empties itself the instant any signal appears, stamped with the time the punch was actually made rather than the time it uploaded. Nobody is asked to remember anything, walk anywhere or connect to anything. There are twenty phones carrying twenty queues instead of one box holding one log, so there is no single object whose loss costs you the month.
| When the internet is down | ZKTeco terminal | Shiftelio offline mode |
|---|---|---|
| Can staff still punch | Yes, the device stores it locally | Yes, the phone stores it locally |
| Where the record sits meanwhile | Inside the one terminal, on one wall | On each worker's own phone, in the app device storage |
| How it reaches the office | Somebody connects to the machine and pulls the log | It uploads itself when any signal returns, with no human step |
| Can the owner see the attendance the same day | Only after the pull | As soon as one phone finds signal |
| If the device is lost, stolen or damaged | Anything not yet pulled is gone with it | Only that one worker's unsynced punches are affected, and they are flagged rather than dropped |
| What time gets recorded | The terminal's own clock at the door | The capture time, protected against a changed phone clock and rechecked by the server |
| Proof of where the person was | At the door the machine is mounted on, by definition | The GPS fix and selfie captured with the punch, wherever the work was |
When you should keep the machine
If you run one fixed site and every person walks past one door at the start and end of their shift, a terminal is a good buy and this page is not a reason to replace it. Same if your staff carry no phone at all, or if the machine is already bought, mounted, working and covered. A finger on a sensor at a gate everybody uses asks nothing of the worker, and that is a real advantage we cannot match. Buy the hardware and get on with your day.
When it is the wrong tool
A terminal only records the people who reach it. Field staff, site crews, home visits and drivers are invisible to it, and covering several branches means a machine at each one, each with its own install, its own log and its own service call. The log usually lives in a database on the single Windows PC the bundled software was installed on, so the attendance history dies with that PC. And between the terminal export and the salary sheet there is always the manual step: a spreadsheet where somebody turns punches into hours, late marks, overtime and deductions by hand, which is where salary mistakes actually come from. Here the attendance record and the payroll run are the same record.
On cost, we do not sell terminals and do not quote them. Commonly seen figures for a fingerprint terminal run from roughly 5,000 to 30,000 rupees depending on the model and whether face recognition is included, and that is the box alone, before installation and before the annual maintenance contract. Treat that as the range people report, not as a quote from us.
Questions owners ask about offline mode
Can employees mark attendance without internet?
Yes. A check-in or check-out made with no connection is stored on the phone itself and uploaded automatically the moment any signal returns. The employee sees the punch confirmed straight away, exactly as they would online, and does not have to remember to do anything later.
Which time is recorded, the time they punched or the time it synced?
The time they punched. A queued punch carries its own capture time, and that is the time written to the record when it syncs. A worker who checks in at 8:02 am in a basement with no signal is recorded at 8:02 am, even if the phone only reaches the network at 6 pm.
What stops someone changing their phone clock to fake an offline check-in?
The capture time does not come from the phone clock. Shiftelio anchors to the last time it heard the server clock and counts forward using a monotonic timer, which ignores any change the user makes to the wall clock. The server then independently checks the result against the last time that device was known to be online and flags anything that does not add up.
What happens if the phone is switched off before the punch syncs?
Nothing is lost. The queue lives in the phone browser database, not in memory, so it survives the app being killed, the phone restarting, and the battery dying. It resumes on next launch.
Could a punch sync twice and create a duplicate day?
No. Every queued punch carries a unique request id and the database enforces uniqueness on it, so replaying the same punch can never produce two records. This matters more than it sounds: a retry loop on a flaky connection would otherwise double somebody payroll.
What if a punch never syncs at all?
It is never silently deleted. After a week of failed attempts it is flagged rather than dropped, and shown to both the employee and the owner so the day can be entered by hand. A day someone actually worked must not disappear because their phone had no signal.
Does offline mode work with GPS and selfie verification?
Yes. Coordinates and the selfie are captured and stored with the punch while offline, and upload with it. Verification is not skipped just because the network was.
Is offline mode a paid add-on?
No. It is included in every Shiftelio plan, starting at 999 rupees a year. Offline attendance is not a feature we would sell separately, because in most of the places our customers work it is not optional.
My ZKTeco machine already works without internet. Is this the same thing?
No, and the difference matters. A ZKTeco terminal keeps punching when the line is down, but the record then sits inside the box until somebody connects to it and pulls the log onto a PC. Until that happens the attendance exists in exactly one place, on the wall. Our offline mode queues the punch on the phone the worker is carrying and uploads it by itself the moment any signal appears, with no person in the loop. Both are advertised as offline. One reconciles itself and one waits for you.
Can Shiftelio sync attendance from a ZKTeco device?
No. There is no device sync, no ZKTeco SDK and no importer for a log exported from ZKTime, ZKAttendance or ZKBioTime. Shiftelio is a replacement for that setup, not a companion to it. If your terminal is doing its job at a single gate that everybody walks through, keep it and keep its own software with it.
The terminal is offline but so is my whole site. Which is safer?
It depends on what you are protecting against. Against a dropped internet line, both survive. Against the machine being damaged, stolen, or the office PC holding its database being reformatted, the phone queue is safer, because each punch is uploaded to a hosted record as soon as any one phone finds signal rather than waiting in one box for a manual pull.
Included from 999 rupees a year. Offline is not an add-on.
All platform features ·Employee tracking app ·Multi-site attendance ·Workers without a smartphone ·The DPDP Act and your attendance data ·Plans and pricing
Get started free