# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) # Part of the Fusion Clock product family. { 'name': 'Fusion Clock', 'version': '19.0.3.3.0', 'category': 'Human Resources/Attendances', 'summary': 'Complete Employee T&A with Geofencing, Shifts, Penalties, Overtime, Kiosk, Dashboard & Payroll Export', 'description': """ Fusion Clock - Complete Employee Time & Attendance ==================================================== A modern, mobile-first attendance module that provides: * **Geofenced Clock-In/Out** - GPS and IP whitelist verification * **Shift Scheduling** - Per-employee shift assignment with break management * **Auto Clock-Out** - Automatic clock-out after shift + grace period * **Penalty Tracking** - Auto-deduction for late clock-in and early clock-out * **Overtime Tracking** - Daily and weekly overtime with configurable thresholds * **Activity Logging** - Comprehensive audit trail of every attendance event * **Absence Tracking** - Automatic detection with monthly/yearly counters * **Leave Requests** - Portal-based leave requests with auto-approval * **Timesheet Corrections** - Employee correction requests with approval workflow * **Manager Dashboard** - Live status, alerts, and team overview * **Kiosk Mode** - Shared-device clock-in/out with PIN verification * **Photo Verification** - Optional selfie capture at clock-in * **On-Time Streak** - Gamification with milestone tracking * **CSV Export** - Configurable payroll-compatible export * **Team Lead Views** - Filtered read-only access for direct reports * **Pay Period Reports** - PDF reports with email automation * **Employee Notifications** - Clock-in/out reminders and weekly summaries * **Portal UI** - Dark-themed mobile-first portal with FAB and modals * **Systray Widget** - Backend users can clock in/out from any Odoo page Integrates natively with Odoo's hr.attendance module for full payroll compatibility. """, 'author': 'Nexa Systems Inc.', 'website': 'https://nexasystems.io', 'license': 'OPL-1', 'depends': [ 'hr_attendance', 'hr', 'portal', 'mail', 'resource', ], 'data': [ # Security 'security/security.xml', 'security/ir.model.access.csv', # Data 'data/ir_config_parameter_data.xml', 'data/ir_cron_data.xml', # Reports (must load before mail templates that reference them) 'report/clock_report_template.xml', 'report/clock_employee_report.xml', # Mail templates 'data/mail_template_data.xml', # Views - Backend 'views/clock_location_views.xml', 'views/hr_attendance_views.xml', 'views/clock_report_views.xml', 'views/clock_penalty_views.xml', 'views/res_config_settings_views.xml', 'views/clock_activity_log_views.xml', 'views/clock_leave_request_views.xml', 'views/clock_shift_views.xml', 'views/clock_correction_views.xml', 'views/clock_dashboard_views.xml', 'views/hr_employee_views.xml', # Wizards (must load before clock_menus.xml since menu references wizard action) 'wizard/clock_nfc_enrollment_views.xml', 'views/clock_menus.xml', # Views - Portal 'views/portal_clock_templates.xml', 'views/portal_timesheet_templates.xml', 'views/portal_report_templates.xml', 'views/kiosk_templates.xml', 'views/kiosk_nfc_templates.xml', ], 'assets': { 'web.assets_frontend': [ 'fusion_clock/static/src/css/portal_clock.css', 'fusion_clock/static/src/scss/nfc_kiosk.scss', 'fusion_clock/static/src/js/fusion_clock_portal.js', 'fusion_clock/static/src/js/fusion_clock_kiosk.js', 'fusion_clock/static/src/js/fusion_clock_nfc_kiosk.js', ], 'web.assets_backend': [ 'fusion_clock/static/src/scss/fusion_clock.scss', 'fusion_clock/static/src/js/fusion_clock_systray.js', 'fusion_clock/static/src/xml/systray_clock.xml', 'fusion_clock/static/src/js/fusion_clock_dashboard.js', 'fusion_clock/static/src/xml/fusion_clock_dashboard.xml', 'fusion_clock/static/src/js/fusion_clock_location_map.js', 'fusion_clock/static/src/js/fusion_clock_location_places.js', 'fusion_clock/static/src/xml/fusion_clock_location.xml', ], }, 'installable': True, 'auto_install': False, 'application': True, }