ERP Integration
ImLate can integrate with iSAMS (a school management system) to automatically synchronize student records and update attendance data.
INFO
ERP integration is optional. It can be enabled or disabled via configuration. When disabled, ImLate works as a standalone sign-in/sign-out system.
ERP as Single Source of Truth
When ERP integration is enabled, iSAMS is the single source of truth for all student data. This means:
- Visitors that are synced from iSAMS have their profile fields locked in ImLate — name, surname, year group, school ID, and other synced fields cannot be edited in the Admin Panel.
- Only RFID keys and photos can be managed locally for synced visitors.
- If a student's data needs to change (e.g., name correction, grade update), the change must be made in iSAMS first. It will automatically propagate to ImLate on the next sync cycle.
- New students added in iSAMS are automatically created in ImLate during sync.
- The system uses a sync hash (CRC64) to detect changes efficiently — only modified records are updated.
WARNING
Do not try to modify synced visitor data directly in the database. The next sync cycle will overwrite any local changes with the data from iSAMS.
What Gets Synchronized
Student Sync
The system periodically pulls student data from iSAMS:
| Data | Direction | Description |
|---|---|---|
| Student records | iSAMS → ImLate | Name, surname, year group, school ID |
| Student photos | iSAMS → ImLate | Profile photos for display on the terminal |
| Registration codes | iSAMS → ImLate | Presence/absence code dictionaries |
- Students are matched by their iSAMS ID.
- A sync hash (CRC64) is calculated from student fields to detect changes — only changed records are updated.
- New students found in iSAMS are created in ImLate automatically.
Attendance Updates
When a student signs in, ImLate pushes attendance data to iSAMS:
| Data | Direction | Description |
|---|---|---|
| Main registration | ImLate → iSAMS | Mark student as present or late in the main period |
| Lesson attendance | ImLate → iSAMS | Mark student as present in the current lesson period |
| Absence marking | ImLate → iSAMS | Mark students as absent if not registered by deadline |
Sync Schedule
Synchronization runs on automatic schedules (cron jobs):
| Task | Schedule | Description |
|---|---|---|
| Student sync | Every 2 hours, 7 AM – 5 PM, weekdays | Pull updated student records from iSAMS |
| Photo sync | 5:00 AM, weekdays | Download student profile photos |
| Registration codes sync | Every hour, 7 AM – 5 PM, weekdays | Update presence/absence code dictionaries |
| Automatic absence marking | Every hour, 8:10 AM – 12:10 PM, weekdays | Mark unregistered students as absent |
Authentication
ImLate connects to iSAMS using OAuth 2.0:
- A client ID and client secret are configured in the system.
- The system obtains access tokens automatically.
- No user interaction is required for the sync process.
Timezone Handling
The system handles two timezones:
| Setting | Purpose |
|---|---|
| App Local Timezone | Used for determining the current time in the application |
| ERP Local Timezone | Used when communicating with iSAMS |
This is important for accurate late detection and attendance period matching.
