Skip to Content

Case study: HR & Workforce

Self-service HR without backend access

A Saudi enterprise group ran employee HR processes through the Odoo backend, which meant either handing out broad internal access or routing everything through HR staff. We moved it to a portal.

Industry

HR and workforce

Region

Saudi Arabia

Odoo

Version 18

Scope

Portal, approval engine

The challenge

What was not working.

Employee-facing HR processes lived in the Odoo backend. That left an unattractive choice between granting staff broad internal access or making HR the manual relay for every request. Approvals happened informally, with no defined route and no record of who signed off on what.

What we built

The work, in detail.

Moved the flow to the portal layer

We migrated and restructured the relevant backend modules to the portal layer, so employees transact through a secure self-service interface without backend access.

A multi-step approval engine

We designed a dynamic approval workflow that routes each request through the defined steps, so approvals follow a consistent and auditable path instead of an informal one.

Data models built for the portal

The supporting models were designed for portal access from the start, with the permission boundaries drawn deliberately rather than inherited from internal roles.

Secure synchronisation

Portal and backend stay in sync, so what an employee sees and what HR sees are the same record.

The result

What changed.

Employees self-serve instead of queueing through HR

Approvals follow a defined, auditable multi-step route

No backend access handed out to gain self-service

HR support workload reduced

Stack

What it runs on.

  • Odoo 18
  • Portal
  • HR
  • Custom approval engine

Modules behind this

Productised from real work.

Work from engagements like this one becomes a published module, so the next client installs it instead of paying to build it again.

Questions

About work like this.

Can employees use Odoo without an internal user licence?

Yes, through the portal. Portal users are a different access class from internal users, which is what makes employee self-service workable without opening the backend.

Does Odoo have multi-step approvals built in?

Odoo has approval features in several apps, but a consistent multi-step engine across custom flows is usually a build. That is what keeps the route auditable rather than informal.

What stops an employee seeing another employee's records?

Record rules scoped to the portal user. The boundary is designed deliberately when the models are built, not bolted on afterwards.