How st-tapasvi/biometric_integration works
Biometric Integration is a Frappe/ERPNext HR app for ingesting Hikvision and mobile attendance events, preserving movement history, and reconciling punches into standard Employee Checkins. The core documented flow is device or mobile input through synchronization, movement records, and shift-aware reconciliation; manual checkins are protected. Separate capabilities cover device and employee enrollment, access restrictions, alerts, health, and HR reports. The README establishes the shared pipeline and product features; sampled sources are limited, so unsampled subsystem wiring is represented only where documented, and legacy CSV and disabled reports are excluded.
Main entry points: movement.py Movement tracking · biometric_device.py Biometric device · biometric_enrollment.py Biometric enrollment · access_control.py Access control
Components 24
Capture And Sync
- Device sync
biometric_integration/biometric_integration/device_sync.py - Mobile API
biometric_integration/biometric_integration/mobile_api.py
Attendance Processing
- Movement tracking
biometric_integration/biometric_integration/movement.py - Employee Movement
biometric_integration/biometric_integration/doctype/employee_movement/employee_movement.py - Daily Movement Log
biometric_integration/biometric_integration/doctype/daily_movement_log/daily_movement_log.py - Shift reconciliation
biometric_integration/biometric_integration/reconciliation.py - Checkin safeguards
biometric_integration/biometric_integration/checkin_hooks.py
Device Management
- Integration settings
biometric_integration/biometric_integration/doctype/biometric_integration_settings/biometric_integration_settings.py - Biometric device
biometric_integration/biometric_integration/doctype/biometric_device/biometric_device.py - Employee sync
biometric_integration/biometric_integration/employee_sync.py - Biometric enrollment
biometric_integration/biometric_integration/biometric_enrollment.py - Access control
biometric_integration/biometric_integration/access_control.py - Anti-passback
biometric_integration/biometric_integration/anti_passback.py - Bulk operations
biometric_integration/biometric_integration/bulk_operations.py - Device health
biometric_integration/biometric_integration/device_health.py - Biometric audit log
biometric_integration/biometric_integration/doctype/biometric_audit_log/biometric_audit_log.py
HR Access And Reports
- Attendance alerts
biometric_integration/biometric_integration/attendance_alerts.py - Attendance reports
biometric_integration/biometric_integration/report - Leave report
biometric_integration/biometric_integration/report/biometric_leave_report/biometric_leave_report.py - My biometric access
biometric_integration/biometric_integration/report/my_biometric_access/my_biometric_access.py
Other components
- Hikvision terminals
- Mobile clients
- Employee Checkin
- ERPNext Employee
Connections 24
- Hikvision terminals → Device sync: sends punches
- Device sync → Movement tracking: records movement
- Mobile clients → Mobile API: submits punches
- Mobile API → Movement tracking: records movement
- Movement tracking → Employee Movement: stores history
- Movement tracking → Daily Movement Log: stores daily totals
- Movement tracking → Shift reconciliation: reconciles punches
- Shift reconciliation → Employee Checkin: creates checkins
- Checkin safeguards → Employee Checkin: flags manual edits
- Integration settings → Biometric device: configures devices
- Employee sync → ERPNext Employee: reads employee
- Employee sync → Biometric device: syncs employee
- Biometric enrollment → ERPNext Employee: reads employee
- Biometric enrollment → Biometric device: enrolls biometrics
- Access control → ERPNext Employee: checks permissions
- Access control → Biometric device: enforces restrictions
- Anti-passback → Movement tracking: checks movement
- Bulk operations → Biometric device: runs bulk actions
- Device health → Biometric device: checks status
- Attendance alerts → Employee Checkin: checks attendance
- Attendance reports → Employee Movement: reads history
- Leave report → ERPNext Employee: joins leave data
- My biometric access → Access control: gets access summary
- My biometric access → Biometric enrollment: checks enrollment