Easytimeerpnext

Sync attendance & biometric punch logs from EasyTime's, ZKTeco and and Hikvision devices into ERPNext/HRMS as Employee Checkin records.

Install Easytimeerpnext

bench get-app https://github.com/shihab0020/EasyTimeErpNext

Add the Frappe Gems badge to your README

Maintain Easytimeerpnext? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=shihab0020%2FEasyTimeErpNext)](https://frappegems.com/gems/apps/shihab0020/EasyTimeErpNext)

About Easytimeerpnext

EasyTime ERPNext Integration

Syncs attendance & biometric punch logs from EasyTime — a multi-tenant HR/attendance platform supporting ZKTeco BioTime-compatible and Hikvision biometric devices — into ERPNext / Frappe HRMS as native Employee Checkin records, on an hourly schedule or on demand.

No custom fields, no manual employee mapping table: an Employee is matched using ERPNext's own standard Attendance Device ID field (Employee → Attendance and Leaves tab). Set it to that employee's EasyTime Employee No. and their punches start syncing automatically. An employee with no Attendance Device ID set is simply skipped — nothing is ever auto-created on either side.

Features

  • Automatic hourly sync (Frappe scheduler) + a manual "Sync Now" trigger
  • No Postman/curl required — generate an EasyTime API token directly from the EasyTime Settings form using your EasyTime username/password
  • Sync history — every run is logged (EasyTime Sync Log: fetched / inserted / skipped / unmatched counts, duration, error), with a 90-day automatic purge
  • Optional shift-aware log typing — refine punches into Late Entry / Early Exit when a Shift Type is assigned to the employee, instead of plain IN/OUT
  • Same-minute dedup safety net, resumable cursor (Last Sync Time) — safe to re-run

Setup

  1. In EasyTime: Settings → Integrations → BioTime API → enable, set a username/password.
  2. In ERPNext: open EasyTime Settings (search it in the awesomebar) and set:
    • EasyTime URL — e.g. https://easytimehr.com
    • EasyTime Token — either paste one you already have, or expand "Generate Token" below it, enter the username/password from step 1, and click Generate Token — no Postman needed.
    • Start Year — earliest year to backfill from, if Last Sync Time is empty
  3. Set each Employee's Attendance Device ID to their EasyTime Employee No.
  4. Sync runs automatically every hour. Check progress any time under EasyTime Sync Log.

Installation

cd $PATH_TO_YOUR_BENCH
bench get-app https://github.com/shihab0020/EasyTimeErpNext.git
bench --site your-site install-app easytime_erpnext
bench --site your-site migrate

Requires Frappe HRMS (required_apps in hooks.py).

Why a dedicated endpoint instead of BioTime's own API?

EasyTime exposes a small, purpose-built pull endpoint (GET /api/v1/erpnext/checkins) rather than this app talking to ZKTeco BioTime's or Hikvision's own device APIs directly. EasyTime already ingests and normalizes punches from both vendor families — this app just needs one clean, stable, EasyTime-owned contract (employee_no / punch_time / log_type / device_serial) regardless of which physical device or vendor originated the punch.

License

MIT — see license.txt. Portions of the attendance-sync logic pattern originated from biotime_erpgulf (Copyright ERPGulf, MIT); see the NOTICE section in license.txt for full attribution.

Contributing

Issues and pull requests are welcome.

Related HR & Payroll apps for Frappe & ERPNext

  • Hrms — Open Source HR and Payroll Software
  • Huf — Open-source, self-hosted multi-agent AI infrastructure for teams and apps with support for cloud and local models, tool integrations, workflows, and automation across business systems including Slack, ERPNext, Discord & Gmail.
  • Bookings — Hotel Management App for Erpnext
  • Employee Self Service — This is the backend component for Nesscale ESS - a mobile app that brings ERPNext to your phone. Employees can manage their HR tasks, sales activities, and projects right from their mobile devices.
  • Inventory Tools — A collection of features to streamline and enhance inventory management and manufacturing workflows in ERPNext.
  • Check Run — Payables utility for ERPNext
  • Next Ai — NextAI is an AI-powered app for Frappe and ERPNext, delivering seamless content generation, automation, and productivity enhancements.
  • Projectit — Open Source PWA mobile app to track the Employees out in the field. This mobile app is developed on Frappe Framework and it is integrated with the Project functionalities of ERPNext and integrated tightly with Frappe HR.