16. Troubleshooting
16.0 No Employee Checkin Records Being Created
Check 1: Callback URL is reachable From an external machine or phone, attempt to access your site URL in a browser. If it's unreachable, the CAMS Gateway cannot deliver punches.
Check 2: AuthToken matches Compare the AuthToken in CAMS Biometric Settings with the one configured in the CAMS API Monitor. They must match exactly, including case.
Check 3: Employee Biometric ID mapping Open the Employee record and confirm the attendance_device_id field matches the User ID on the biometric device. Case sensitivity and leading/trailing spaces matter.
Check 4: Check the Error Log Go to Settings → Error Log and filter for cams_call related entries. The error message will usually pinpoint the issue.
Check 5: Shift Assignment Ensure the employee has an active Shift Assignment. Without a shift, the punch may fail to process correctly.
16.1 Punches Arriving with Wrong Time
Symptom: Check-in times are off by several hours.
Cause: Usually a timezone mismatch between the device timezone offset in LogTime and the Frappe site timezone setting.
Fix: Review the LogTime field in the raw payload (check Error Log or add temporary debug logging). Ensure the device's timezone is configured correctly in the CAMS API Monitor. Also verify the Frappe site timezone setting in System Settings.
16.2 MealIn/MealOut Creating Unwanted Check-ins
Symptom: Meal break punches are appearing as attendance check-ins and disrupting shift calculation.
16.3 Historical Load Punchlog Returns No Data
Possible causes:
- Your CAMS subscription plan does not include the LoadLog feature
- The date range exceeds 30 days (try a shorter range)
- The device was offline during the requested period and has no cached data for that range
- AuthToken or Service Tag ID is misconfigured
Fix: Verify with CAMS support that your account has LoadLog access. Reduce the date range. Check credentials.
16.4 Duplicate Employee Checkin Records
Symptom: Multiple identical check-in entries for the same employee at the same time.
Cause: If the CAMS Gateway does not receive a {"status": "done"} response (e.g. due to a timeout), it may retry the callback. Additionally, if historical data is loaded for a period where real-time punches were already recorded, duplicates can occur.
Fix: The app includes duplicate detection logic. If duplicates appear, they may be from before v1.0.0. Manual deduplication can be done via the Employee Checkin list view. Filter by employee and sort by time to identify and delete duplicates.
16.5 "Invalid auth token" in Error Log
The AuthToken field in the incoming request does not match what's stored in CAMS Biometric Settings. Possible causes:
- The AuthToken was recently regenerated in CAMS API Monitor but not updated in FrappeHR settings
- A different device's AuthToken is being used (each device has its own token)
- The payload is malformed and the
AuthTokenfield is missing