A cloud-based solution to streamline staff attendance tracking using Google Apps Script, with seamless integration into Google Sheets. Eliminate manual errors, enhance accuracy, and simplify payroll processing.
- Punch-In/Out System: Web and mobile-friendly interface for staff.
- Real-Time Google Sheets Sync: Automatically records attendance data.
- Role-Based Access Control: Customizable permissions for admins, managers, and staff.
- Automated Reports: Generate detailed attendance summaries and export to PDF.
- Cloud Storage: Secure, accessible data storage with real-time updates.
- Payroll Integration: Future-ready for seamless payslip generation.
Example: Punch-In Interface with 4-digit password authentication.
All attendance data is stored in Google Sheets, enabling:
- Centralized Data Management: Track attendance across teams in one place.
- Automated Calculations: Total hours, overtime, and shift discrepancies.
- Sharing Controls: Securely share data with stakeholders.
- Dashboard Visualization: Built-in charts for attendance trends.
Example: Attendance dashboard with real-time data.
The live punch-in/out interface is accessible via the following link:
🔗 Punch-In/Out Page
Attendance data is stored and managed in a Google Sheet. You can view the live sheet here:
🔗 Attendance Sheet (View Only)
To request edit access, use the Google Sheet’s request feature or contact me directly. You are free to copy this system as long as proper credit is given to my GitHub profile and repository.
function handlePunch(action) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Attendance");
const timestamp = new Date();
const user = Session.getActiveUser().getEmail();
// Validate 4-digit password (stored in another sheet)
const password = validatePassword(user); // Custom function
if (password) {
sheet.appendRow([user, action, timestamp]);
return `Punch ${action} recorded at ${timestamp.toLocaleString()}`;
}
throw new Error("Invalid credentials.");
}
function generateMonthlyReport() {
const sheet = SpreadsheetApp.getActive().getSheetByName("Attendance");
const data = sheet.getDataRange().getValues();
const report = processData(data); // Custom logic for totals/overtime
// Save to PDF and email to managers
const pdf = createPDF(report);
MailApp.sendEmail("manager@company.com", "Monthly Attendance Report", { attachments: [pdf] });
}
Problem: Staff lateness, double-punching fraud, and thumbprint system glitches.
Solution: Implemented automated tracking with Google Sheets integration.
Results:
- ✅ 20% reduction in late arrivals.
- ✅ Zero manual errors in overtime calculations.
- ✅ 98% staff satisfaction with fair tracking.
Feature | Our System | Traditional Systems |
---|---|---|
Cost | Low | High |
Accuracy | 100% automated | Human-dependent |
Real-Time Access | Yes | No |
Scalability | Unlimited users | Limited |
Security | Role-based access | Basic PINs |
- Individual staff punch cards with auto-PDF generation.
- Direct payroll system integration.
- AI-driven anomaly detection for suspicious punches.
- Clone this repository:
git clone https://github.com/W3JDev/Automated-Time-Attendance-.git
- Deploy the Apps Script project via Google Script Editor.
- Configure Google Sheets:
- Create sheets named
Attendance
,Users
, andReports
. - Set up trigger-based automation.
- Create sheets named
- GitHub: W3JDev
- Email: W3J.BTC@gmail.com
- LinkedIn: linkedin.com/in/MN-Jewel
SCAN THE QR CODE TO ACCESS OUR AUTOMATED ATTENDANCE SYSTEM INTERFACE
🌟 Developed by MN Jewel for W3JDEV
Accurate. Automated. Efficient.