GCPL CLMS
Contract Labour Management System
GCPL CLMS

Dashboard

Live — contractor-wise, shift-wise (auto-refreshes every 30 s)

ContractorDay (12 h)Night (12 h) General (8½ h)TotalShortageExcess
ReqRepReqRepReqRepReqRep
Required = allotted by HR (Contractors page → Set required). Reported = punched in today; shift by IN time.

Live — department-wise reporting

DepartmentStrengthExtra requestedRequired Punched inDayNightGeneral Security verifiedDept acknowledgedShortageExcess

Contractor report — date range

ContractorDayNightGeneralWorker-days MandaysOT hrsRequired/dayAvg/dayShortageExcess

Pipeline snapshot

Daily Worker Reporting

Flow: worker punches IN → Security verifies → worker reports to department → Dept Supervisor acknowledges with reported time. Anyone can raise an issue on a worker.
CL IDNameContractorDepartmentFirst punch SecurityDept ackReported timeIssuesActions

Open issues

Manpower Requests

#DepartmentCountSkillCategory Needed byRemarksRaised byStatus

Onboarding Pipeline

Attendance

Pick a range and press Load.
DDay shift NNight shift GGeneral shift HHalf day SSingle punch AAbsent Each date shows duty then OT hours. Click any cell to correct that day. A dotted underline marks a hand correction; ✱ marks a day worked in another department.
DateCL IDNameContractorInOutHoursOTMandayShiftStatus
These device PINs appear in the raw punch log but no worker holds them, so their punches never reach the attendance register. Map each one to a worker, or dismiss it if it belongs to someone you do not track here. If the PIN was renamed on the device, use Devices → Change CL ID instead so the templates move with it.
CL IDName on devicePunchesFirst seenLast seen SourceDeviceNote

Wages

Wage master

A rate written for a specific department beats the * catch-all. Wages are worked out per day from the department the worker actually worked, so someone who spends part of the month in another department earns that department's rate for those days. Adding a new rate for the same slot automatically closes the previous one the day before.
Check a rate:
ContractorDepartmentCategorySkillRateOT ×FromToStatus

Wage register

CL IDNameContractorDeptsMandaysOT hRateBasicOT ₹GrossPFESINet

Billing

InvoiceContractorPeriodWagesOTServiceGSTGrand TotalStatus

Contractors

NameLicenceGSTINContactService %GST %AgreementRequired (HR)

Departments

Workers and Department Supervisors are allotted departments from this list only.

Biometric Devices

NameModeSN / IPCapabilitiesLast seenQueueStatus

Biometric templates & CL ID change

Face templates are never readable: the device firmware builds them from the BIOPHOTO, so the stored photo is the migration path — a CL ID change sends the photo again and the face is rebuilt automatically. Anything the device uploads as biometric data is also captured here.
CL IDName on deviceUIDPrivFingerprints FacePhotoWorkerBacked up
The old PIN is deleted from the device and recreated under the new one with the same templates, name, privilege and card. A fresh backup is taken first, so nothing is lost even if the write fails — re-push it from Backup & stored users. Offline devices get the change queued and the poller runs it when they come back.
WhenDeviceOldNewWorkerType SavedWrittenRows movedStatusNote
Workers whose face could not be carried across. Re-enrol the face on the device under the new CL ID, then mark the row done.
CL IDWorkerDeviceTypeReasonRaised

Command queues

ADMS push queue (latest 100)
IDSNCL IDKindStatusErr

Users & Access

UsernameNameRoleScopeStatus

Attendance & overtime rules

Overtime starts only once duty hours are complete, and only whole completed blocks are paid — with the shipped settings a Day-shift worker clocking 8 h 50 m earns nothing and one clocking 9 h 45 m earns 1 h. Changing these does not rewrite attendance already processed; re-run Process punches → attendance for the affected dates. Billed days stay locked.
Try it before saving

Audit trail

TimeUserRoleActionEntityDetail