Offline Attendance in India: Four Promises Hiding Behind One Feature Tick
An offline punch can be lost, stamped at the sync time, or placed where the signal returned. Five minutes in aeroplane mode tells you which before you buy.
A fabrication unit outside Hosur runs twenty nine people across a shed, a stores basement and a client site forty minutes away. The attendance app went in eight months ago and it works. Then the invoice month closed and the supervisor brought the owner a list of eleven entries that did not look right. Two people had no in-time at all on the 4th. Four had checked in at 6:14 pm, which is roughly the time they went home. One had checked in at the site and then, according to the record, at a petrol pump on the Krishnagiri road.
Nobody had cheated. Every one of those eleven entries was a punch made where there was no mobile signal, and every one of them was the app doing exactly what it was built to do. The problem is that “works offline” is not one promise. It is four, they fail independently, and the feature list on the pricing page will not tell you which of them you bought.
This piece is about the four, how to test for each in about five minutes on a trial account, and the part almost nobody thinks about until the month closes: what a hole in the attendance record actually costs you once it is there.

The hole in the register is yours to explain, not the network’s
Start with why this is worth an afternoon rather than a shrug. Section 50(1) of the Code on Wages, 2019 requires every employer to maintain a register of the persons employed, the muster roll and the wages paid. Rule 51 of the Rules made under it gives that register a shape and a number: Form IX, the Attendance Register-cum-Muster Roll, maintainable electronically, with a row for every worker for every day, carrying presence, hours worked, overtime hours and the weekly off taken. We took the whole set apart, column by column, in the article on statutory registers and wage slips.
The structural fact that matters here is this: Form IX does not have a blank. There is a row for the 4th whether or not the punch arrived, and you have to write something in it. There are two things you can write, and both of them cost you.
You can mark the worker absent and deduct the day. This is the expensive one, and the reason is narrower than most people expect. Section 20(1) of the Code authorises a deduction for absence from the place or places where the person was required to work. It authorises a deduction for absence. It does not authorise a deduction for a gap in your record. If the worker was standing at the site gate at 8:02 and your app did not capture it, they were not absent, the deduction is not on the section 18(1) list, and the excess is recoverable from you under section 45. The full arithmetic, including the proportion rule that ends half-day penalties, is in the article on salary deduction rules.
Or you can mark them present from memory.Now the register is a reconstruction. That is not fatal by itself, and every business does some of it. What makes it uncomfortable is that Form IV, the wage register, has to reconcile against Form IX, and the overtime column is where it shows. An entry saying a worker was present for nine hours on the 4th, written in from the supervisor’s recollection in the second week of the following month, is a number with nothing behind it. If it is ever challenged, the burden of showing it is right sits with you.
Works offline is four promises wearing one label
Here are the four, in the order they bite. An app can pass any one of them and fail the rest.
One: the punch is held, not stored
A punch made with no connection has to live somewhere until there is one. The weak version keeps it in the app’s memory, which is fine for the twenty seconds most developers test with and useless in the field. On an entry-level Android phone the app is competing with an aggressive battery manager that will kill a backgrounded app in minutes. Add the worker swiping the app away, the phone restarting, or a battery that dies at four in the afternoon, and the punch was never anywhere.
The strong version writes the punch into the phone’s own database, on disk, before it shows the worker anything. Then a force close, a restart and a flat battery all cost nothing: the queue is still there on next launch.
What makes this the cruellest of the four is that the worker cannot tell. They saw a tick. They will tell you in December that they punched in, they will be right, and there will be no record of it.
Two: the sync time is written instead of the punch time
This is the one that produced the 6:14 pm entries at Hosur, and it is the most damaging of the four because it is completely silent. The register looks full. Every row has an in-time. It is just that the in-time is the moment the phone reached a tower, not the moment the person reached the gate.
Follow what that does downstream. The worker who arrived at 8:02 is now ten hours late, so any late-mark rule fires. The day’s hours are computed from 6:14 pm, so they are either nonsense or negative. If the check-out punch synced first and the check-in arrived after it, some systems record an impossible session and others silently discard one half. Every one of those broken numbers then flows into Form IV as an overtime figure.
The property to test for is simple to state: does the record store a capture time that is distinct from the time the server received it? If the app has only one timestamp, it is the wrong one.
Three: the location is taken at sync, not at capture
Location verification is the entire reason most Indian businesses moved off a paper register, and it is the first thing an offline queue can quietly break. If the GPS fix is read when the upload runs rather than when the button is pressed, the record says where the phone was when the signal came back. That is the petrol pump on the Krishnagiri road.
It fails in both directions and neither is good. Either the fix misses the geofence and a genuine punch is rejected, or it lands inside a different site’s geofence and your record now positively asserts that a worker was somewhere they had never been. The second is worse, because it looks like data. The general case of geofencing and location verification is covered in GPS attendance without a biometric machine.
Four: the one nobody advertises, because offline is where the clock can be faked
Say an app does everything above. It persists the punch, it stores a capture time, it stores the capture location. Where did the capture time come from?
If the answer is the phone clock, then offline mode is the easiest fraud in the product, and it needs no technical skill at all. Settings, turn off automatic date and time, set it to 8:00, aeroplane mode on, punch, turn the clock back to automatic, let it sync. There is no server in the loop to disagree, because the whole point of offline mode is that there is no server in the loop. The record arrives with a capture time of 8:00 and it looks exactly like an honest one.
This is the real reason a lot of attendance products either avoid offline mode or ship a version that writes the sync time. Writing the sync time is not a bug in those products. It is a deliberate trade: they would rather have a wrong time they can vouch for than a right time they cannot. Doing offline properly means not trusting the device, which is more work than it sounds.
The five minute aeroplane mode test
You do not need a technical evaluation to separate the four. You need one phone, a trial account, and about five minutes. Run this before you pay for a year, and run it on the plan you actually intend to buy rather than on a sales demo.

| Step | What to do | What a pass looks like |
|---|---|---|
| 1 | Aeroplane mode on. Open the app and check in. | It confirms the punch and tells you it is saved and pending. A message asking you to try again when you have internet is a fail on the spot. |
| 2 | Force close the app from the recents screen, then restart the phone. Reopen the app, still in aeroplane mode. | The pending punch is still listed. If it is gone, the queue was in memory, and on a worker’s phone it will be gone regularly. |
| 3 | Turn the signal back on. Wait for it to sync, then open that day on the owner or admin screen. | The in-time shown is the time you pressed the button, not the time the sync ran. Note both, because you will need the gap in step 5. |
| 4 | On the same record, look at the location. | It is where you were standing when you punched. Walk a few hundred metres before you restore the signal, or you will not be able to tell the two apart. |
| 5 | Aeroplane mode on. Turn off automatic date and time and set the clock back two hours. Punch. Restore the clock and let it sync. | The record does not show the time you invented. It shows a sensible time, or it shows your time with a visible flag on it for the owner. If it silently accepts two hours ago, your offline mode is a hole anyone in the building can walk through. |
Step 5 is the one worth insisting on. A vendor who has thought about offline attendance will have an answer ready and will usually be pleased you asked. A vendor who has not will tell you that employees would not do that, which is not an answer about the software.
Which attendance app actually holds a punch made with no signal
What to do about the holes you already have
If you are reading this in the week the month closed, you have a list like the Hosur owner’s. Three things, in order.
| Do this | Why |
|---|---|
| Correct the entry, and record that it was corrected and on what basis | A Form IX entry fixed from the supervisor’s sign-off sheet, with that noted, is a defensible record. The same entry silently overwritten is not, and the difference is one column. |
| Do not deduct for a day you cannot show the person was absent | Section 20(1) authorises a deduction for absence from the place of work, not for a gap in the record. Paying the day and fixing the system is cheaper than a recovery under section 45. |
| Write down what happens when there is no signal, and tell people | Most sites have two or three known dead spots. A worker who knows the punch queues will punch and walk on. A worker who thinks it failed will punch four times, or not at all. |
The last one is worth more than it looks. The regulator itself has stopped assuming that a village listed as covered has a working signal in it: in July 2026 the Department of Posts and TRAI signed an agreement to survey mobile network performance across more than 5.68 lakh villages, with Gramin Dak Sevaks carrying a TRAI app on their delivery rounds, precisely because the official coverage map and the bars on a handset are not the same measurement. If the government needs a field survey to find the dead spots, your supervisor is allowed to write down the three he already knows about.
If the dead spots are at client sites rather than at your own premises, the operational half of this is a multi-site problem as much as an offline one, and that is covered in keeping one attendance record across several locations. On a construction site it is usually both at once, which is its own article.
Questions owners ask
Half my staff have no data left by the twentieth of the month. Is that the same problem?
To the app it is identical, and that matters: an exhausted data pack, a phone in flight mode to save battery, and a shed with no tower all present as the same thing, which is no connection. It also means the problem is far more common than your coverage map suggests, and that it arrives on a schedule. If your punches go strange in the last ten days of the month, this is why.
Can I not just let the supervisor mark the ones that failed?
You can, and for a genuine failure you should, with the correction recorded. What you cannot do is make it the routine, because a supervisor marking attendance is the practice the in-time and out-time columns of Form IX were designed to replace. A register filled in by one person about other people, after the fact, cannot show when or where any entry was made.
Is a biometric machine safer, since it works without internet?
It is safer against the clock-fake in step 5, because the worker never touches the clock. It is much less safe against everything else: the punches sit on that device until somebody collects them, a machine that is lost, stolen, damaged or simply not downloaded takes the month with it, and it only works for people who walk past that one wall. That is the trade, and for a single fixed gate it is often the right one.
What happens if someone punches in offline and out online?
That is the normal case at a site with one dead spot, and it is worth testing specifically. The queued in-punch can arrive after the out-punch has already been recorded, so ask what the system does when the two halves land out of order. The right behaviour is that the session resolves against the capture times and produces the correct duration regardless of arrival order. The wrong behaviour is an open session, a discarded half, or a negative day.
Does an offline punch stand up if an employee disputes their wages?
It stands up exactly as far as the record can show the time was not typed in by the person it benefits. A punch with a capture time, a capture location and a server-side check on both is a contemporaneous record. A punch whose only timestamp came from the worker’s own phone settings is a claim. The difference is invisible on screen and total in an argument.
We are on the web app, not the Android one. Does that change anything?
The queue and the capture time work the same way. The one difference is the boot clock cross-check described above, which exists on the native apps and not in a browser, so the residual case of a phone whose clock moved before it went offline is flagged rather than resolved. If your sites are the kind where that matters, the app is the version to deploy.
Sources
Read directly. Section 50(1) of the Code on Wages, 2019 is the register obligation, and rule 51 of the Rules made under it prescribes the registers including Form IX, the Attendance Register-cum-Muster Roll, which may be maintained electronically. Sections 18, 20 and 45 govern authorised deductions, the proportion rule for absence, and recovery of an excess. The Codes and the rules made under them are carried on the Ministry of Labour and Employment’s labour codes pages and the bare text on India Code. The network survey is the Department of Posts and TRAI memorandum of understanding announced on 10 July 2026.
Not claimed.No attendance product other than our own is named, and nothing here asserts that any particular rival fails any particular one of the four tests. They are described as properties to check, because checking them takes five minutes and taking somebody’s word for them takes a year. No rupee figure is typed for our own pricing; the table above renders from the same source as the pricing page. The clock protection described in that block is flagging rather than proof in one residual case, which is stated in the block itself. Nothing here is legal advice.
Keep reading
See how Shiftelio does this in practice with the geofence, the selfie and the mock-location check, on one page.
Still deciding what to buy? Compare what nine attendance apps cost for 25 employees with GPS switched on.
Stop managing this manually.
Shiftelio handles GPS attendance, payroll calculation, PF/ESI, and leave for 25 employees at Rs 5,999 per year. No biometric machine. No per-seat fees.
Start Free Trial