LekhaHR
Start trial

Attendance management system for India

Attendance software that shows the reason behind every day status.

Capture explicit punches, apply the policy effective that day, resolve exceptions and pass reviewed inputs forward—without background location tracking.

  • No base fee
  • Per active employee
  • GST extra
Product workflow previewFrom punch evidence to an explainable decision.

The same status explanation follows the employee, manager review and HR audit instead of becoming a mysterious present/absent label.

Real released UI screenshots remain required before public indexing.

Quick answer

What does an attendance management system do?

An attendance management system records when employees work, evaluates those records against shifts and attendance policies, helps people correct mistakes, and gives managers and payroll teams reviewed—not guessed—attendance facts.

One traceable workflow

A punch should end in a reason, not just a status colour.

Punch evidence flows through the shift and policy effective that day. If something is wrong, the original result stays visible through correction and manager review before the approved attendance input moves forward.

Explainable attendance workflowA punch is stored as evidence, evaluated by the effective policy, explained as a day status, and sent for review when correction is needed.1Punchtime + optional location2Policyeffective shift and rules3Becauseexplainable day status4Reviewcorrect only exceptions
Sensors add evidence; they do not silently erase a punch. Corrections remain reviewable and auditable.

Why this status, not just a colour

See the exact reason behind every day status.

Pick a day. LekhaHR shows the same verdict block the employee, the manager review and the HR audit all read: the punches and effective hours, the specific policy rule and version that produced the status, then the action available on that day.

Choose a day scenario to see its verdict
Illustrative verdict · schematic render of the real payloadPresent · full day
Gross
9h 05m
Effective
8h 05m

Why this status?

  • First in 09:28, last out 18:33 — inside the grace window
  • Effective 8h 05m at or above the 8h 00m minimum

Policy: Standard day shift · version v4

View only. Nothing to correct.

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadPresent · late by 22 min
Gross
7h 48m
Effective
7h 40m

Why this status?

  • First in 09:52 against shift start 09:30
  • Grace window 10 minutes ends 09:40; arrival 09:52 is past it, so the day is marked late

Policy: Standard day shift · version v4

Available action → Request exception

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadShort day · below the half-day floor
Gross
3h 55m
Effective
3h 40m

Why this status?

  • Below 4h 00m earns no attendance credit, 4h 00m to 8h 00m is a half day, 8h 00m or more is a full day
  • Effective 3h 40m is under the 4h 00m half-day floor, evaluated against the day-shift rule effective on this date

Policy: Standard day shift · version v4

Available action → Fix a punch or request exception

If approved leave does not cover it, this becomes an LOP (Loss of Pay) day. Attendance surfaces the reason; Payroll values the money.

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadNeeds review
Gross
Effective

Why this status?

  • In-punch 14:12 recorded, no out-punch received
  • Auto-close flags the day for review; it is never silently closed or guessed

Policy: Standard day shift · version v4

Available action → Fix a punch

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadWeekly off · 2nd Saturday

Why this status?

  • No punch expected on this date
  • Row materialized from the versioned calendar — second-Saturday pattern effective this month

Policy: Company holiday calendar · version 2026

View only. Not counted as an absence. If someone works this off-day, the day's evidence can back a comp-off credit request in Leave.

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadOn duty · field work

Why this status?

  • Approved On-Duty (OD) request for client-site or field work, so no office punch is expected
  • Counted as worked time from the OD approval, not as an absence

Policy: Capture scheme · version v1

View only. OD is set from the approved request, not a punch.

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadPresent · 480 min
Gross
8h 00m
Effective
8h 00m

Why this status?

  • Recomputed from Absent / 0 min to Present / 480 min after approval
  • Adjusted by you 7:15 PM, approved by Navin on Wednesday 9:12 AM. The original verdict stays attached

Policy: Standard day shift · version v4

Available action → View request

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).
Illustrative verdict · schematic render of the real payloadPresent (locked cycle)
Gross
8h 10m
Effective
8h 00m

Why this status?

  • This day sits in a locked payroll cycle
  • A later approved fix rides the retro-correction loop and shows pending_valuation until Payroll values it

Policy: Standard day shift · version v4

Change allowed, never walled. It is retained as a correction for Payroll to value next cycle — no rupee figure is shown here.

Structural example of the GET /api/attendance/days/<date> verdict payload: summary, reasons[], policy{name,version}. Not employee or customer data; no rupee amounts (Payroll values money separately).

Employee attendance software scope

The everyday attendance jobs, connected.

Capture time, apply the correct rule, resolve exceptions and retain the source behind every decision.

01

Web and mobile punch

Capture explicit check-in and check-out with optional punch-time location evidence.

02

Versioned shifts and calendars

Evaluate each day against the shift, weekly-off and holiday inputs effective on that date, including second and fourth-Saturday patterns.

03

Explainable day status

Show punches, effective hours and the policy reason behind present, late, half-day or exception states.

04

Regularization with context

Let employees propose a correction while keeping the original verdict attached for manager review.

05

Exception-first manager review

Focus attention on missing, queued or disputed records instead of making managers inspect every clean day.

06

Reports and audit history

Keep attendance cycles, approved changes and policy versions traceable for HR review.

07

Reviewed payroll inputs

Pass approved time and leave facts forward while Payroll remains responsible for money calculation.

08

Employee self-service

Give each person their attendance log, day explanation and request status in one controlled view.

Visible sync state

A weak network should create a visible state—not a vanished punch.

LekhaHR distinguishes a device-held operation from a confirmed server record. It does not promise that every mobile operating system will run background work after the app is closed.

  1. QueuedThe operation remains on the device with the same identifier.
  2. SyncedThe server confirms the authoritative punch.
  3. Needs reviewA conflict stays visible instead of being silently double-counted.

Humane attendance rules

Start with warnings before deductions.

Attendance rules can begin in a notification-only mode so employees and managers see late arrivals, short hours or missing logs before any LOP (Loss of Pay) deduction is enabled. A short-hours or absent day that leave does not cover becomes an LOP day: LekhaHR surfaces the reason and Payroll values the money.

  • Grace and buffer periods remain visible in the day explanation.
  • A forgotten punch becomes an exception to review, not a silent guess.
  • Changes after a locked cycle are retained as corrections for Payroll to value later.

GPS attendance privacy boundary

Location evidence at the punch—not throughout the day.

LekhaHR can capture location when an employee checks in or out and validate the configured office geofence. It does not track movement in the background, build travel routes or monitor employees between punches.

At a punch

Optional coordinate evidence, accuracy and configured geofence result.

Between punches

No background movement, route, distance or continuous monitoring history.

One system, three jobs

Useful to employees, managers and HR for different reasons.

Employee

Know what happened today

See the punch, calculated hours, day status and correction path without asking HR to interpret a colour.

Manager

Review only what needs attention

Open a missed-punch or exception request with the original attendance explanation and employee reason attached.

HR / Payroll

Keep reviewed inputs traceable

Retain effective shifts, policy versions, approvals and later corrections without letting Attendance invent salary amounts.

Transparent pricing

See what attendance management costs without a platform minimum.

Operations starts at ₹79 per active employee/month billed annually. Business starts at ₹119. GST extra.

Attendance FAQ

Questions buyers ask before replacing spreadsheets or devices.

What is an attendance management system?

It is software that records when employees work, evaluates that time against shifts and attendance policies, helps people correct mistakes, and hands reviewed time and day-status facts to HR and payroll. LekhaHR records explicit punches, applies the shift and policy effective that day, and attaches the reason behind every status.

What does attendance regularization mean?

Regularization is an employee-proposed correction of a flagged day — a missed punch, a wrong punch, or a work-from-home conversion. The employee submits corrected times and a reason within the policy caps, the manager reviews it, and the original verdict stays attached so the change is auditable rather than hidden.

How do I regularise a missed punch, and by when?

Open the day, choose a reason category and enter the corrected in and out times. The form shows the server-set caps and backdate window before you submit, for example two of three requests left this cycle and backdate up to seven days. Submit before the payroll cycle locks. If the cycle is already locked the request is still accepted and rides the retro-correction loop as pending_valuation until Payroll values it.

Why was I marked half-day or late?

The day detail shows the verdict block: your punch times, gross and effective hours, the specific policy rule and its version, and a plain-language reason. A worked day below 4h 00m earns no attendance credit, 4h 00m to 8h 00m counts as a half day, and 8h 00m or more is a full day, so the reason reads like effective hours in the 4h 00m to 8h 00m band count as a half day. It is the same explanation the manager and the HR audit see, so nobody has to interpret a colour.

Can a policy make three late marks a half-day?

Yes. Each day shows its own late status, and an attendance policy can accumulate lates across the cycle — after a set number of incidents, or once cumulative late minutes cross a threshold — and apply a configured deduction such as a half day. A buffer period and a warn-only mode let you notify people before anything is deducted, and Payroll values the resulting deduction in money.

How does LekhaHR handle proxy or buddy punching?

At a punch, LekhaHR can validate the configured office geofence and capture an optional selfie for random audit, tied to that check-in or check-out. It does not ship biometric hardware, run a continuous face-matching pipeline, or verify identity between punches. If your deskless or factory site needs kiosk or face-verification terminals, a device-led product fits better today.

How do managers check who is in, late or missing?

A Team Today view lists who has punched, who is late and whose day needs review. Managers open the exceptions rather than inspecting every clean day, and each request arrives with the original attendance explanation and the employee's reason already attached.

Can employees punch from a mobile phone?

Yes. LekhaHR supports an explicit mobile punch. A configured capture scheme may request punch-time location or an optional selfie at check-in or check-out. Public availability of the mobile punch remains subject to the Attendance release gate.

Does LekhaHR track employees continuously?

LekhaHR can capture location when an employee checks in or out and validate the configured office geofence. It does not track movement in the background, build travel routes or monitor employees between punches.

Can I set different shifts and weekly-offs?

Yes. Shifts, weekly-off patterns and holiday calendars are versioned, so each day is evaluated against the schedule effective on that date. Second and fourth-Saturday weekly-offs and multi-location holiday lists are supported.

Does LekhaHR support biometric devices?

Not in the current shipped scope. Device push from ADMS terminals such as ZKTeco or eSSL is a planned follow-on, not an available integration today. We do not claim it as shipped. Attendance today captures web and mobile punches.

How is overtime handled?

Attendance records worked hours, but automatic overtime calculation is not in the current release — it belongs with the Payroll work that owns money. We do not claim an OT engine as available today.

What happens if a punch cannot sync?

The app keeps a stable operation identifier and shows queued, synced or needs-review state. It retries on resume or connectivity. A conflict stays visible instead of being double-counted, and closed-app background execution is not promised.

Does attendance automatically calculate salary?

No. Attendance produces reviewed time and day-status inputs. Payroll owns money calculation, review and any later adjustment, so a corrected day after a locked cycle is valued by Payroll rather than by attendance.