to select ↑↓ to navigate
CAMS Biometric Integration

CAMS Biometric Integration

Timezone management is one of the more subtle aspects of biometric attendance integration.

12.0 The Problem

The CAMS device stores timestamps in its local timezone (e.g. GMT +0300 for Nairobi). When the device sends punches, the LogTime field includes the timezone offset. However, Frappe stores datetimes in the database in UTC. If the site's timezone setting is changed after data is collected, historical timestamps can appear shifted.

12.1 How the App Handles This

The app preserves the original device timestamp in a custom field custom_original_time on the Employee Checkin doctype. This field is set at the time of punch creation and never modified, even if system timezone settings change later. The primary time field on Employee Checkin is converted to the site's current timezone setting.

If you ever need to audit or reconcile attendance data, custom_original_time always gives you the ground truth from the device.

12.2 Best Practices

  • Set your Frappe site timezone to match the physical location of your biometric devices before starting live data capture
  • If you have multiple sites or locations in different timezones, consider whether a single CAMS Biometric Settings instance is sufficient or whether you need device-level timezone configuration
  • Do not change the site timezone retroactively without auditing existing attendance records
Last updated 4 days ago
Was this helpful?
Thanks!