MAS Engineering & Construction

MASECC Attendance

Sign in with this PC's login to continue.

MAS Engineering and Construction Company Ltd ENTERPRISE EDITION
πŸ“ŠDashboard
πŸ‘₯Employees
πŸ†”Unmapped IDs
πŸ—‘οΈRecycle Bin
πŸšͺExit Management
βœ…Upload Data
🧾Timesheet
πŸ“‹Attendance Records
πŸ—“οΈLeave Management
πŸ•Shift Management
πŸ—οΈProjects
🏒Departments
πŸ“ˆReports
πŸ•Camp Assets
πŸ“¦Materials
πŸ’ΎBackup & Restore
πŸ•΅οΈActivity Log
πŸ”‘Client Logins

Dashboard

πŸ””
πŸ”” Rejoining Reminders
🟑 Connecting…

Live Updated just now
Today's Attendance Rate --%

Weekly Attendance Trend

Today's Breakdown

Department Distribution

Recent Activity

EmployeeDepartmentDateStatusCheck InCheck Out
0 selected
IDEmployeeCategoryDepartmentProjectPositionShiftEmailPhoneZK PinStatusActions
0 selected
Device IDGroupCurrent RecordReal NameDepartmentPositionCategory

Upload a CSV with two columns: ID and Name (Department / Position / Category optional β€” the exported ID list works as-is once names are filled in; rows without a Category become Rental). Each ID that matches an unmapped record gets the real name on the same record β€” all attendance already collected stays attached.

Deleted employees stay here for 90 days β€” you can restore them (with all their attendance records) any time before then. After 90 days they're purged automatically and can't be recovered.

0 selected
Employee IDNameDepartmentDeleted OnDays RemainingAttendance RecordsActions

Employees who have left the company β€” End of Contract, Resignation, or Termination β€” are moved here permanently along with their full attendance history. Nothing is auto-deleted; restore an employee back to Active any time, or delete a record forever when you're sure you no longer need it.

0 selected
Employee IDNameDepartmentExit TypeExit DateRemarksAttendance RecordsActions
🧾
Select an employee and date range, then click "Generate Timesheet". This is a read-only view of their attendance β€” to change any data, use Upload Data, Attendance Records, or re-import from the biometric device.
Date Emp ID Employee Department Project Shift Status Check In Check Out OT Remarks Action

πŸ”” Rejoining Reminders

These employees' leave end date has passed but they haven't been marked as rejoined yet.

EmployeeTypeLeave EndedDays OverdueAction
EmployeeTypeFromToDaysReasonStatusRejoinedActions
πŸ• Shift Definitions
πŸ‘€ Assign Shifts (Bulk)
πŸ“… Roster / Schedule
🎯 Auto-Detect Shifts
EmployeeDepartmentCurrent ShiftToday's Shift

Assign Shift for a Date Range (Rotation / Temporary Override)

Delete Roster Entries for a Date Range

Uses the employee selected in the Employee box above. Removes that employee's roster entries between the two dates.

DateEmployeeShiftTimingAction

🎯 Auto-Detect Shift From Check-In / Check-Out Pattern

Looks at each employee's actual recorded check-in and check-out times over the period below and suggests the defined shift whose timing most closely matches their real attendance pattern. Useful after a biometric import, or to catch employees whose shift was set incorrectly (e.g. assigned "General Shift" but they consistently punch in/out on Night Shift hours).

EmployeeRecordsAvg Check InAvg Check OutCurrent ShiftDetected ShiftConfidence
Assets TagItem NameTypeItem CodeCamp CodeCategoryLocationBrandStatusNotesSerialUnitPurchase DatePurchase CostCustodianLast VerifiedVerified ByActions
S.NoCamp CodeCategoryLocationItem TypeItem NameQty in UseNot In UseIn StockClosing Balance
CampProjectCategoryOccupants RentRaw WaterDrinking WaterDrainageGarbage LPGElectricityCleaningPest ControlStaff Wages OtherMaintenanceTotalCost/HeadVarianceActions

Save your Excel sheet as CSV, then choose it here. Required columns: Assets Tag, Item Name, Item Type, Camp Code, Location, Status. A tag that already exists is updated, not duplicated.


πŸ’Ύ Where your data lives

Everything in this app β€” employees, shifts, projects, leaves, and attendance β€” is stored in a Postgres database on the company's server, which every PC running the app connects to securely over HTTPS. Nothing is stored in this browser.

Because everyone shares that one database, it does follow you between PCs β€” but it all lives on that one server, so the server is a single point of failure. The server takes an automatic backup off-site every night; downloading a backup from this page after a large import is still a good habit.

πŸ“¦ Download a Frozen Snapshot (data included)

Every PC running this app already shares the same live database, so you generally don't need this to move data between your own PCs. Use this instead when you need a frozen, point-in-time copy to send outside that shared database β€” e.g. handing off a month's records to an accountant, or archiving a completed project's data for someone without server access.

It saves a standalone .html file with a snapshot of today's data baked right in β€” opening that file shows the data exactly as it was at export time, but it is disconnected from the live database: nothing typed into it will save anywhere, and it will not reflect any changes made afterward in the real app.

⬇ Download a Backup

Saves everything β€” employees, attendance, shifts, projects, departments, leaves β€” into a single .json file you keep safe (e.g. Google Drive, a USB drive, email to yourself).

⬆ Restore from a Backup

Warning: this replaces all current data in the app with whatever is in the backup file. Consider downloading a fresh backup first if you have unsaved changes.

πŸ”€ Reassign Project for a Date Range

Uploaded a biometric file to the wrong project? This moves matching records to the correct project without touching their check-in/check-out times or status β€” no need to delete and re-upload.

🧾 Attendance-Only Backup & Import

Use this when you only want to move attendance records β€” not employees, shifts, or projects. Unlike the full restore above, importing here merges into whatever is already in the app (matching existing employees by Employee Code, updating same-day records, adding new ones) instead of replacing everything. Employees or projects mentioned in the file that don't already exist here will be auto-created so no record is lost.

πŸ—οΈ Project Backup & Restore

Each project can also be backed up and restored on its own β€” useful for archiving a completed project or moving one project's data to another install of this app. Go to Projects, click ⬇ Backup on any project card to download just that project (its employees, attendance, shifts and leaves), and use ⬆ Restore Project Backup at the top of the Projects page to bring one back in β€” it merges in without touching your other projects.

A record of who changed what, and when β€” attendance edits/deletes, imports, leave approvals, employee changes, and more. Most recent first.

WhenUserActionDetails

Each PC signs in with its own username and password instead of sharing one account. Create one login per PC (or per person), set what they can see, and deactivate or reset a password any time from here.

Display NameUsernameRoleModulesStatusLast Login

Add Client Login

πŸ”‘ Set New Password

Your password reset link is confirmed. Choose a new password below.

Set for selected employees

Employee Code, Full Name and ZK Pin are unique per person β€” edit those one by one (or fix names in bulk from the Unmapped IDs module).

Add Employee

Apply Leave

Mark Rejoined

Mark Employee as Left

This moves the employee β€” and all their attendance history β€” out of the active list into Exit Management, where the record is kept permanently. You can restore them or delete the record forever at any time from there.

Add Department

Add Asset

Add Project

Add Shift

Attendance Dates

Bulk Upload Employees

πŸ“ Upload CSV File
πŸ“‹ Paste Data
πŸ“€
Click to select or drag & drop a CSV file here
Category accepts: Staff, Worker, Rental, or PO
CodeNameDepartmentCategoryPositionEmailStatusZK PinProject

Bulk Upload Employee Leave

Uploaded leaves default to Approved so they immediately show up as "On Leave" in Attendance β€” set Status to Pending in your file if you don't want that.

πŸ“ Upload CSV/Excel File
πŸ“‹ Paste Data
πŸ“€
Click to select or drag & drop a CSV file here
Emp CodeEmployeeTypeFromToDaysStatusNote

Import Attendance from Device Files β€” By Project

βœ… Each row below is tagged to a Project β€” click the file field on a row and select multiple files at once (hold Ctrl/Cmd or Shift while choosing) to upload several ZKTeco machine exports into that same project in one go. You can also reopen the file picker to add more files to the same row β€” they'll be added to the list below it, and each can be removed individually with βœ•.
βœ… Files usually carry their own date per punch, so the Date field can be left blank. Only set it if your file has no date at all, or you want every record in that file forced onto one specific day (e.g. a single day's export).
βœ… Need to import only a specific period from a file (e.g. one payroll cycle)? Use the Date Range fields to keep only punches that fall between those two dates β€” everything outside the range is dropped automatically.
βœ… Need files split across different sites/branches? Click "+ Add Another Project File" to add more rows, each with its own Project and its own batch of files.
βœ… Employees are automatically matched by Biometric ID (ZK Pin) or Employee Code β€” no manual selection needed.
βœ… Original punch times from each file are preserved exactly as recorded on the device.
βœ… Employees on rotating or unassigned shifts? Turn on Auto-Detect shift per punch below so Present/Late is judged against whichever shift's start time is closest to each check-in.
When checked, each punch's Present/Late status is decided by whichever defined shift's start time is closest to that check-in β€” instead of the employee's fixed/rostered shift. Useful for employees who rotate shifts or don't have one assigned.
ProjectDatePIN/CodeEmployeeMatchShift UsedStatusCheck InCheck OutInclude

Change Password

Reset Password

Enter the admin email address. We'll send you a reset link.

Choose a new password.

Add Camp

Enter Project and Camp Name exactly as they appear in the Monthly Cost Report Excel file, so future imports match automatically.

All Registered Camps

Code Project Camp Name Category Bed Cap. Status

Manual Cost Entry