Skip to main content
Employee Self-Service Portal — Build-to-order Odoo portal where staff update info, request leave, view payslips, clock in/out — 1/1Illustrative preview

Build-to-order Odoo portal where staff update info, request leave,

view payslips, clock in/out and file expenses.

What is Employee Self-Service Portal?

Build-to-order Odoo portal where staff update info, request leave, view payslips, clock in/out and file expenses. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Self-edit personal and employee info — portal users update address, phone, emergency contact and bank details on their own hr.employee record, gated by record rules so no one sees another person's data
Leave requests from the portal — create hr.leave records against your configured leave types, with an approval activity routed to the manager via mail.thread and server actions
Live leave balance widget — a compute field (@api.depends) surfaces allocated, taken and remaining days per leave type without exposing the payroll backend
Payslip access and PDF download — employees view and download their own hr.payslip via a QWeb report, scoped so each user reaches only their payslips
Contract and document visibility — read-only access to the employee's own contract terms and HR documents attached to their record
Attendance check-in / check-out — clock in and out from the portal or mobile, writing hr.attendance with optional geolocation and kiosk-style UI
Expense submission with receipts — create hr.expense entries, attach receipt images, pick expense categories, and submit an expense report for approval
Timesheet entry — log hours against projects and tasks (account.analytic.line) directly from the portal, respecting your project access rules
Approval routing and notifications — automated actions and Odoo activities notify approvers; employees get status updates on leave, expense and timesheet submissions
Mobile-first responsive UI — OWL + QWeb templates that work on phones and tablets, matched to your brand colours and logo
Scoped role-based security — ir.model.access.csv plus ir.rule record rules ensure portal users can only read/write their own HR records
Multi-language ready — all portal strings are translatable, so we ship it in the languages your workforce actually uses
Manager self-service view (optional) — team leads can approve their direct reports' requests from the same portal without a full backend user seat
Configurable visibility toggles — turn payslip access, bank-detail editing, geolocation or timesheet entry on/off per your HR policy
API-ready — the module exposes its data through Odoo's standard XML-RPC / JSON-RPC layer so you can integrate it with kiosks, badge readers or a mobile app later

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Turn your HR team into an approver, not a data-entry desk

The Employee Self-Service Portal is a build-to-order Odoo module that ECOSIRE designs, develops, installs and supports on your Odoo 17, 18 or 19 instance. This is not a pre-packaged apps.odoo.com download you install yourself — our team scopes it to your HR policies, builds it against your database, and hands you a documented, tested module after a typical one working week lead time.

Odoo already stores everything about your people in hr.employee, hr.leave, hr.payslip, hr.attendance, hr.expense and account.analytic.line (timesheets). What most companies lack is a single, safe, mobile-friendly front door that lets each employee interact with their own records — and nobody else's — without an HR user seat or backend access. That is exactly what we build.

What we actually deliver

We extend the Odoo web portal (portal.mixin, controllers under /my/..., rendered with QWeb and OWL) so every employee gets a clean self-service workspace. Under the hood the security model is the point: we ship a tightly scoped ir.model.access.csv plus record rules (ir.rule with domain_force like [('employee_id.user_id','=',user.id)]) so a portal user can only ever read and write their own data. No employee can browse the org's payroll, see a colleague's contract, or reach the backend.

Where standard behaviour needs to move, we do it the Odoo-native way: compute fields with @api.depends for live leave balances, automated actions and server actions for approval routing, activities and mail.thread for notifications, and QWeb reports for printable payslips. Everything is a proper installable module with a real __manifest__.py, upgrade-safe migrations, and no core patching — so your instance stays clean and Odoo upgrades stay boring.

Why build-to-order beats a generic app

Off-the-shelf portal apps assume a generic HR policy. Yours isn't generic — your leave accrual rules, approval chains, payslip visibility, expense categories and attendance geofencing are specific. We build the portal around your configuration, wire it to your leave types and expense products, match your brand, and translate it into your languages. You get source code you own, documentation, admin training, and a support window — not a black-box you can't change.

Works with both Odoo Community and Enterprise. If you're on Enterprise we integrate cleanly with the mobile app and the modern payroll/attendance modules; on Community we build equivalent front-end flows so you get the same self-service outcomes without the Enterprise apps.

What you get

  • Complete, installable Odoo module (source code) with a proper __manifest__.py, models, views, security files and QWeb reports — built for your Odoo 17, 18 or 19 version
  • Configuration of the portal against your existing HR setup: leave types, expense categories, approval chains, attendance rules and visibility toggles
  • Security implementation — ir.model.access.csv plus record rules (ir.rule) verified so portal users can only ever access their own data
  • Installation and deployment on your instance (or delivery of the module package for your team to deploy), with a staging validation pass before go-live
  • Admin and HR training session plus written documentation covering configuration, approvals and day-to-day operation
  • Brand and language customization — portal styled to your identity and translated into your required languages
  • A defined post-launch support and bug-fix window, with clear terms for updates and Odoo version compatibility

Who this is for

HR Manager cutting admin load

Drowning in routine requests — address changes, leave forms, payslip re-sends, expense chasing. Wants employees to self-serve their own data so the HR team moves from data entry to approval and strategy, without handing anyone backend access.

Odoo Administrator / IT lead

Owns the Odoo instance and won't tolerate core patches or a fragile app that breaks on the next upgrade. Wants a clean, documented module with real security rules and source code they can read, maintain and hand to auditors.

Operations lead in a deskless workforce

Manages field, retail or factory staff who have no backend Odoo seat. Needs mobile check-in/out, expense capture with receipts and leave requests from a phone, all flowing into the same Odoo records the office team already uses.

How Employee Self-Service Portal Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Fits your exact leave / expense / approval policyIncludedIncludedPartial supportNot included
Employee-only data isolation via record rules (ir.rule)IncludedPartial supportPartial supportNot included
Self-service without a paid backend user seatIncludedIncludedPartial supportNot included
Payslip, attendance, expense and timesheet flows in one portalIncludedPartial supportPartial supportNot included
Delivered as clean, upgrade-safe, non-core-patching code you ownIncludedPartial supportPartial supportIncluded
Brand + multi-language customization of the portalIncludedIncludedNot includedNot included
Documentation, admin training and a support window includedIncludedNot includedPartial supportNot included
Predictable delivery cost and one working week timelineIncludedNot includedIncludedIncluded

Frequently Asked Questions about Employee Self-Service Portal

How long until the portal is live, and is this an instant download?

This is a build-to-order module, not an instant apps.odoo.com download. After you order, ECOSIRE scopes your HR policies, builds the module against your Odoo 17/18/19 database, tests it on staging, and deploys it. Typical lead time is one working week depending on how many flows (leave, payslips, attendance, expenses, timesheets) you enable and the complexity of your approval chains. You'll get a timeline confirmation at kickoff.

What support and updates do I get after delivery?

Every build includes a defined post-launch support window for bug fixes and adjustments, plus written docs and an admin training session. Because the module is delivered as clean, non-core-patching code, it's upgrade-safe — we can quote a compatibility pass when you move between Odoo 17, 18 and 19. Extended support and enhancement retainers are available if you want us on call long-term.

Does it work on Odoo Community or only Enterprise?

Both. On Enterprise we integrate with the mobile app and the modern payroll and attendance modules. On Community we build equivalent portal flows so you get the same self-service outcomes (leave, payslips, attendance, expenses, timesheets) without needing Enterprise-only apps. Tell us your edition and version at kickoff and we build to match.

Can an employee see other people's salaries, contracts or data?

No — that's the core of the design. We enforce access with ir.model.access.csv and record rules (ir.rule) using domains like [('employee_id.user_id','=',user.id)], so a portal user can only ever read and write their own HR records. Portal users have no backend access and cannot browse org-wide payroll, attendance or contracts.

We already customized our leave and expense workflows. Will this conflict?

That's exactly why it's build-to-order. We wire the portal to your existing leave types, expense categories and approval chains rather than imposing generic ones. Because we extend Odoo natively (portal controllers, compute fields, automated actions) without patching core, your existing customizations and future upgrades stay intact.

Can we integrate the portal with a mobile app, kiosk or badge reader later?

Yes. The module stores everything in standard Odoo models, which are reachable through Odoo's XML-RPC / JSON-RPC API. That means a future kiosk, badge reader or mobile app can read and write the same attendance, leave and expense records. We can scope that integration as a follow-on phase.

Request a quote

Employee Self-Service Portal

Build-to-order Odoo portal where staff update info, request leave, view payslips, clock in/out and file expenses.

  • Self-edit personal and employee info — portal users update address, phone, emergency contact and bank details on their own hr.employee record, gated by record rules so no one sees another person's data
  • Leave requests from the portal — create hr.leave records against your configured leave types, with an approval activity routed to the manager via mail.thread and server actions
  • Live leave balance widget — a compute field (@api.depends) surfaces allocated, taken and remaining days per leave type without exposing the payroll backend
  • Payslip access and PDF download — employees view and download their own hr.payslip via a QWeb report, scoped so each user reaches only their payslips

Request a Quotation

Tell us about your Employee Self-Service Portal requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.