| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Approvals (approvals)
• Attendances (hr_attendance) • Employees (hr) • Expenses (hr_expense) • Payroll (hr_payroll) • Project (project) • Time Off (hr_holidays) • Discuss (mail) • Invoicing (account) • Employee Contracts (hr_contract) • Calendar (calendar) |
| Lines of code | 5472 |
| Technical Name |
ts_employee_self_service_portal |
| License | OPL-1 |
| Website | https://tuplesinc.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Approvals (approvals)
• Attendances (hr_attendance) • Employees (hr) • Expenses (hr_expense) • Payroll (hr_payroll) • Project (project) • Time Off (hr_holidays) • Discuss (mail) • Invoicing (account) • Employee Contracts (hr_contract) • Calendar (calendar) |
| Lines of code | 5472 |
| Technical Name |
ts_employee_self_service_portal |
| License | OPL-1 |
| Website | https://tuplesinc.com |
| Versions | 17.0 18.0 19.0 |
Employee Self Service Portal
A modern, mobile-responsive Employee Self Service Portal for Odoo 17 Enterprise. Empower your employees with a dedicated dashboard to manage attendance, leaves, expenses, payslips, timesheets, tasks, and approval requests â all from a single portal.
Key Features
Everything your employees need in one beautiful, secure portal
Unified Dashboard
Employee info, attendance, leaves, tasks, timesheets, and payslips at a glance
GPS Geo-Fencing
Attendance check-in/out with location validation using GPS and Haversine formula
Leave Management
Apply, track, and cancel leaves with balance view, allocations, and supporting documents
Expense Claims
Submit expenses with multi-file receipts, auto-assign manager, and submit for approval
Payslip Viewer
View payslip breakdown with worked days, salary computation, and PDF download
Approval Requests
Unified request system with dynamic fields, multi-step approval flow, and file attachments
Task Management
View, create, and update assigned tasks with stage, state, deadline, and description editing
Timesheet Timer
Start/stop timer with session persistence across pages, plus manual entry form
Fully Responsive
Works on all devices with hamburger menu, off-canvas sidebar, and touch-friendly design
01. Unified Dashboard
A comprehensive overview of everything your employees need. The dashboard shows employee profile, attendance status with one-click check-in/out, leave balances with progress cards, expense and request counters, active tasks, timesheet summary, and latest payslip â all in a beautiful two-column layout with a dark purple sidebar.
Desktop View
Mobile View & Off-canvas Sidebar
02. Attendance with GPS Geo-Fencing
One-click check-in/out with optional GPS geo-fencing. When enabled, employees must be within configured geo-fence locations to check in or out. The system uses the Haversine formula for distance calculation and accounts for GPS accuracy as a tolerance buffer. All times are displayed in 12-hour format in the employee's timezone.
Attendance list with check-in widget, today/week summaries, and date filters
03. Leave Management
Full leave lifecycle from the portal. View leave balances as cards, apply for leave with only allocated leave types shown, upload supporting documents when the leave type requires it, and cancel pending requests. Includes allocation history, status filters, grouping, and search. Uses PostgreSQL SAVEPOINT for safe rollback on validation errors.
Leave list with balance cards, status filters, and search
Leave application form (with attachment support) & Leave detail view
04. Expense Management
Create and submit expense claims with multi-file receipt uploads. The system automatically assigns the expense manager from the employee's configuration before submission to prevent auto-approval. Features status filters, search, grouping by status or category, and one-click submission for approval.
Expense list with status filters and grouping
05. Payslip Viewer
Employees can view their validated and paid payslips with a month filter. The detail page features a notebook-style tabbed view showing Worked Days, Salary Computation (grouped by category), and Other Inputs. Net salary is highlighted prominently. PDF download available using Odoo's standard payslip report.
Payslip list with month filter, detail view with notebook tabs, and PDF download
06. Approval Requests
A unified request system built on Odoo's Approvals module. Employees select from portal-visible categories, and the form dynamically shows relevant fields (date, period, quantity, amount, reference, location) based on the category configuration. Supports file attachments, multi-step approval flow visibility, and cancellation.
07. Task Management
View and manage assigned tasks directly from the portal. Employees can update stage, state, allocated hours, deadline, and description. Create new tasks and assign them to projects. Features project/state filter dropdowns, text search, date range filtering, and grouping by project, stage, or state.
Task list with filters, and editable task detail with stage, state, hours, and deadline
08. Timesheet with Live Timer
Log time with a built-in timer or manual entry. The timer persists across page navigation via sessionStorage. Select project, task, and description first, then start the timer. Fields are locked while the timer runs to prevent accidental changes. Stopping the timer auto-submits the timesheet entry. Dynamic task dropdown loads tasks via JSON-RPC when a project is selected.
Timesheet list with live timer and manual entry option
09. Backend Configuration
Minimal backend setup required. Configure geo-fence locations, enable/disable geo-fencing from Attendance settings, mark approval categories as portal-visible, and flag portal users as employee portal users. A bulk wizard lets HR managers link multiple employees to portal users at once.
Geo-fence toggle in Attendance settings & Location form with Latitude, Longitude, and Radius
"Is Employee (Portal)" flag on users & "Visible on Employee Portal" on approval categories
10. Portal Home Control
When "Is Employee (Portal)" is enabled on a user, the portal home page hides all standard tiles (invoices, orders, addresses, etc.) and shows only the Employee Dashboard entry point. Standard Project and Timesheet portal tiles are also hidden for employee portal users to avoid duplication.
11. Security & Access Control
Built with security first. Portal users can only access their own records through carefully configured record rules and access rights.
| Model | Read | Write | Create | Scope |
|---|---|---|---|---|
| Employee | ✓ | ✗ | ✗ | Own record |
| Attendance | ✓ | ✗ | ✓ | Own records |
| Leave | ✓ | ✓ | ✓ | Own records |
| Expense | ✓ | ✓ | ✓ | Own records |
| Payslip | ✓ | ✗ | ✗ | Own records |
| Approval Request | ✓ | ✓ | ✓ | Own records |
| Task | ✓ | ✓ | ✓ | Assigned tasks |
| Timesheet | ✓ | ✓ | ✓ | Own records |
12. Technical Details
Dependencies
- base, portal
- hr, hr_attendance
- hr_holidays, hr_expense
- hr_payroll
- approvals
- project, hr_timesheet
Compatibility
- Odoo 17 Enterprise
- Multi-company supported
- All modern browsers
- Desktop, tablet, and mobile
- Timezone-aware (12h format)
Changelog
Version 17.0.1.0.0
Initial release with dashboard, attendance (GPS geo-fencing), leaves (with document uploads), expenses, payslips, approval requests, tasks, and timesheets (with live timer).
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module