Skip to main content
iVentureTeam
Odoo HR & Payroll

Odoo Employee Self Service Mobile App: Options, Build Paths, Cost

Odoo employee self service mobile app guide: leave, attendance, expenses and payslips on a phone, Light User cost, and build options on Odoo 19/20.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
November 13, 202613 min read1 view
Odoo Employee Self Service Mobile App: Options, Build Paths, Cost cover

Most employees never open an ERP at a desk. They want to request leave, clock in, claim a taxi fare and read a payslip on a phone. As an Odoo development company, we build that layer, and the first step is often no code at all.

Related service: Odoo implementation services — HR, payroll and attendance configured for your local rules.

This guide is for HR heads, operations leads and IT managers on Odoo 19 or Odoo 20 who are weighing an Odoo HR mobile app. If payroll itself is not configured yet, start with our Odoo payroll setup guide.

What is an Odoo employee self service mobile app?

An Odoo employee self service mobile app is any phone screen that lets staff handle their own HR tasks in Odoo without calling HR. It is a use case, not one product you install.

The four jobs are the same in almost every company: request time off, record attendance, submit expenses and read payslips. Managers add a fifth job, which is approving those requests.

The term covers three different things. It can mean Odoo's own mobile app, a customized Odoo employee portal, or a separate employee self service app built on the Odoo API. Each has a different cost, license impact and upgrade risk.

Does Odoo have a mobile app for employees?

Yes, Odoo has a mobile app for employees in two forms: a progressive web app (PWA) and store apps for Android and iOS. Neither is a separate HR product; both open the same Odoo database on a phone.

Odoo's mobile apps documentation says "Using the PWA is recommended." The PWA adds a home screen icon, push notifications and SSO sign-in. The store apps support several accounts but are not compatible with SSO.

PointOdoo PWAOdoo store apps
How staff get itBrowser menu, then Install or Add to Home ScreenGoogle Play Store or Apple App Store
SSO sign-inSupportedNot compatible
Push notificationsListed as a PWA featureNot stated in the mobile docs
Several accountsNot stated in the mobile docsSupported
Odoo's adviceRecommendedAvailable

Both need a login. An employee with no Odoo user cannot use the Odoo mobile app at all, which is why licensing decides most of this project. We cover it below.

How do leave requests work with Odoo Time Off on a phone?

With Odoo Time Off, an employee opens the app, picks a leave type and dates, and submits the request to an approver. The same form works in the mobile app because it is the standard Odoo screen.

Odoo's guide to requesting time off lists the fields: time off type, dates, a description and, where the type requires it, one attached file such as a doctor's note.

Two details reduce HR calls. If the type needs no approval, the request is approved automatically. If an employee asks for more days than they have, the form warns "Only (#.#) day(s) available" before they submit.

Approval goes to the employee's manager or the time off officer. Under Odoo 20 licensing, the person who approves leave needs a full user, a point many rollout plans miss.

How does the Odoo attendance app work on mobile?

The Odoo attendance app offers two phone-friendly paths: a personal check-in button for staff with a login, and a shared kiosk for staff without one. Pick per workforce group, not per company.

Personal check-in for logged-in users

Users check in from an attendance icon in the top bar of any Odoo screen. Odoo's check in and out documentation says the app logs the IP address and GPS coordinates, but only if the user grants location permission.

The documentation describes logging a location, not blocking by location. If you need a rule such as "check in only within the site," plan it as custom work and test it on real phones.

Kiosk mode for staff without a login

Odoo's attendance kiosk documentation defines a kiosk as a dedicated PC, tablet or mobile phone. Staff identify themselves by manual selection, a barcode badge or RFID token, with an optional PIN.

One caution from the same page: kiosk URLs are not secured with an access code, so anyone with the URL can open the kiosk. Keep the device on site and generate a new URL if it leaks.

How do employees submit claims in the Odoo Expenses app from a phone?

In the Odoo Expenses app, an employee can type an expense, upload a receipt, or email the receipt to an expense address. A phone camera makes the upload and email routes the natural ones.

Odoo's log expenses documentation lists four ways to create an expense: manual entry, receipt upload, drag and drop, and email to an alias such as expense@yourdomain.

  • Receipt scanning: the Expense Digitization (OCR) setting reads the receipt and fills the record, and it needs in-app purchase credits.
  • Email route: Odoo only accepts emails sent from the work email saved on the employee record.
  • Reinvoicing: an expense can point to a sales order, so the customer is billed for it later.
  • Analytics: each expense can be split across projects or departments.

Plan for weak signal. Odoo's offline mode documentation calls it a solution for short interruptions, and says attachments cannot be uploaded while offline. A receipt photo needs a connection.

How do employees get an Odoo payslip on mobile?

Employees get an Odoo payslip on mobile mainly as a PDF sent by email after the pay run. Odoo's pricing page also lists getting payslips among the things a Light User can do.

In Odoo 19, a payroll officer clicks Send By Email on a validated payslip. Our Odoo 20 payroll release notes show a new setting that sends payslips when confirmed, when paid, or manually.

Email reaches every phone, but it is not a payslip archive. If staff must browse past payslips inside an app, test what your version shows a Light User before you pay for a custom screen. Payroll data is the most sensitive data in this project.

What does Odoo employee self service cost in licenses?

Odoo employee self service costs US$8.90 per employee a month in the US on Odoo 20, because every active employee is billed as a Light User. In India the price is Rs 195 and in Europe EUR 7.90.

Odoo's subscription agreement defines a Light User as a login set to the Light role, or any active employee record not linked to an active non-portal user. The Odoo pricing page lists the prices; Light Users are quoted by an Odoo Advisor.

PersonBilled in Odoo 20 asUS price per month, billed yearly
Employee with a Light loginLight UserUS$8.90
Employee record with no login, kiosk onlyLight UserUS$8.90
Employee linked only to a portal loginLight UserUS$8.90
Manager who approves leaveFull userUS$31.10 Standard, US$61.00 Custom
Customer or supplier on the portalNot countedFree

This changes the old advice. Building an Odoo employee portal to avoid user fees no longer works for your own staff, since the employee record is billed anyway. Our Odoo 20 Light User guide explains the rules and worked examples.

The useful side: if the record is billed either way, a Light login adds self-service at no extra license cost. Confirm your own quote with Odoo, because one extra access right turns a Light User into a full user.

Which build option fits an Odoo employee self service mobile app?

Odoo employee self service: Standard Odoo app or custom mobile app?

Five build options fit an Odoo employee self service mobile app, and they run from zero code to a full custom app. Start at the top of the table and move down only when a real gap forces you.

OptionWhat it isWhat it needsBest for
Standard Odoo appOdoo's own screens in the PWA or store appLight or full loginsMost teams, fastest start
Attendance kioskShared tablet or phone with badge, RFID or PINOne device and the kiosk URLShop floor staff without logins
Studio changesSimpler forms, extra fields, approval rulesCustom planSmall gaps in standard screens
Custom Odoo moduleYour own portal pages or backend screensOdoo.sh or on-premise hostingBranded web self-service
Custom mobile appFlutter or React Native app on the Odoo APICustom plan, API keys, store accountsLarge workforces, device features

Hosting limits the lower rows. Odoo states that Odoo Online is incompatible with custom modules and Odoo Apps Store modules. A custom portal therefore means Odoo.sh or your own servers.

Unsure where your gap sits between Studio and code? Our comparison of Odoo Studio vs custom development gives the decision rules.

When is custom Odoo mobile app development worth it?

Custom Odoo mobile app development is worth it when the standard Odoo mobile app cannot meet a need that matters every day. A logo on the home screen alone is rarely enough reason.

  • Device features: site-radius check-in, selfie attendance or biometric unlock that standard screens do not offer.
  • Very simple screens: a workforce that needs three large buttons in a local language, not Odoo menus.
  • One app for everything: HR tasks beside rosters, safety forms or company news from other systems.
  • Long offline work: crews in the field for hours, beyond the short interruptions Odoo's offline mode covers.

A custom app reads and writes Odoo through the external JSON-2 API, added in Odoo 19. Odoo says external API access is only available on Custom pricing plans, so budget the plan change for all full users.

Build on JSON-2, not the old protocols. XML-RPC and JSON-RPC are deprecated in Odoo 20 and scheduled for removal in Odoo 22. Our guide to moving XML-RPC integrations to the JSON-2 API covers the change.

Each employee should sign in as themselves with their own API key, so Odoo's access rules still decide what they see. One shared admin key for all staff is the mistake to avoid. See our Odoo API integration guide for patterns.

What changes between Odoo 19 and Odoo 20 for an Odoo HR mobile app?

Between Odoo 19 and Odoo 20, the screens for an Odoo HR mobile app stay similar, but licensing, payslip sending and the API rules change. Check these five points before you plan.

TopicOdoo 19Odoo 20
Light UserRules for older versions not publishedSelf-service seat at US$8.90 or Rs 195
Payslip sendingSend By Email on the payslipSetting: when confirmed, when paid, or manually
JSON-2 APIAvailable, added in 19.0Available, the route to build on
XML-RPC and JSON-RPCStill in common useDeprecated, removal planned for Odoo 22
Offline modeBrief documentationDocumented rules, 2 GB local cap

If you are on Odoo 19 and plan a custom app, write it against JSON-2 now. The app then survives the upgrade to Odoo 20 without a rewrite of its connection layer.

Which industries need an employee self service app most?

Industries with many staff away from desks gain the most from an employee self service app. The table shows the usual pain and the Odoo approach we would test first.

IndustryPain or cost driverOdoo approachHow iVentureTeam helps
ManufacturingShift workers without email or loginsKiosk attendance with badge or PINSet up kiosks and overtime rules
Retail and restaurantsHigh turnover, many part-timersLight logins on the PWADesign roles that stay Light
Construction and field serviceCrews on remote sitesPhone check-in with location loggingBuild site rules where needed
HealthcareRotating shifts and many leave typesTime Off types with required documentsMap leave policy to Odoo
Professional servicesFrequent travel claimsExpenses by photo or email, reinvoicedLink expenses to sales orders

How do you roll out employee self service in Odoo?

Roll out employee self service in Odoo in small steps, starting with one task and one pilot group. Most failed rollouts try to launch every HR task on day one.

  1. Clean employee records: work email, manager, time off approver and PIN for every active employee.
  2. Sort people into groups: Light login, kiosk only, or full user for approvers and HR.
  3. Configure the apps: leave types, attendance rules, expense categories and the payslip sending rule.
  4. Install the PWA: give staff a one-page guide with screenshots for Android and iOS.
  5. Pilot one team: run leave requests alone for two weeks, then add attendance and expenses.
  6. List the gaps: write down what staff could not do, and price only those items as custom work.

Our published range for a small Odoo implementation is $3k to $9k over 4 to 8 weeks, and a standard HR self-service rollout often fits there. Custom apps are quoted after scoping, so use the Odoo project estimate tool for a first range.

How iVentureTeam helps with an Odoo employee self service mobile app

Planning an HR app? Get a first range

iVentureTeam sets up standard Odoo HR for phones first, then builds only what your staff truly miss. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.

  • License review: who needs a Light login, a kiosk or a full user, before you sign a quote.
  • HR configuration: Time Off, Attendances, Expenses and Payroll set up and tested on real phones.
  • Portal and module work: custom self-service pages on Odoo.sh or on-premise, built to survive upgrades.
  • Custom apps: our custom mobile app development team builds Flutter and React Native apps on the JSON-2 API.
  • Connected systems: our Odoo integration services link biometric devices, rosters and other HR tools.

Odoo employee self service mobile app case study: Enabl Health

An Australian health-tech company needed portal users to do their own work on a phone, and we rebuilt two Odoo portals mobile-first. The users were doctors and patients, not employees, but the self-service pattern is the same.

Enabl Health tracked work hours with manual start and stop times. Its doctor and patient portals were not mobile-friendly on Android or iOS, and portal users could not edit timesheets or upload attachments.

We extended Odoo's Timesheet, Payroll and Portal layers. The work included role-based portal views, fully responsive layouts for Android and iOS, editable timesheet entries and document uploads inside the portal.

The project ran 10 weeks on Odoo.sh with separate staging and production branches. Doctors and patients now self-serve on mobile. Read the Enabl Health timesheet and portal case study.

The bottom line on an Odoo employee self service mobile app

Start with the standard Odoo mobile app and Light Users, add kiosks for staff without logins, and build custom only for gaps you have seen in a pilot. That order keeps cost and upgrade risk low.

In Odoo 20 the license question is mostly settled, since employee records are billed with or without a login. The real choices are which screens staff use and whether any gap justifies custom code.

Ready to plan your Odoo employee self service rollout?

Request a scoping call

Tell us your headcount, your Odoo version and the four tasks your staff ask for most. Request a mobile self-service scoping call, call +91-90235-15208, or email business@iventureteam.com.

Frequently Asked Questions

Does Odoo have an employee self service app?

+

Odoo has no separate self-service product. Employees use the standard Odoo mobile app or PWA to open Time Off, Attendances and Expenses with their own login. In Odoo 20, the Light User seat is designed for this kind of use.

Is the Odoo mobile app free?

+

The app itself is a free download or a PWA install, but each person needs an Odoo login to use it. On Odoo Enterprise, that login is billed as a Light User or a full user, depending on the access rights it holds.

Can employees use the Odoo portal for leave and payslips at no cost?

+

Not in Odoo 20. An employee linked only to a portal login still counts as a Light User under Odoo's subscription agreement. Portal access stays free for customers, suppliers and other outside partners.

How much does an Odoo Light User cost?

+

Odoo lists the Light User at US$8.90 a month in the US, Rs 195 in India and EUR 7.90 in Europe. Light Users are quoted by an Odoo Advisor, and launch coverage says you need at least one full user.

Can employees check in to Odoo with GPS?

+

Yes. When a logged-in user checks in, Odoo Attendances logs the IP address and GPS coordinates if the user allows location access. The documentation describes logging the location, not blocking check-ins by location.

Does the Odoo mobile app work offline?

+

Only for short interruptions. Odoo's offline mode reopens records you viewed while online and queues changes until the connection returns. Attachments, such as receipt photos, cannot be uploaded while offline.

Do I need the Odoo Custom plan for a custom mobile app?

+

Yes, if the app uses the external API. Odoo's documentation says API access is only available on Custom pricing plans, not on One App Free or Standard. Standard Odoo mobile screens do not need the API.

Should a custom app use XML-RPC or the JSON-2 API?

+

Use the JSON-2 API. XML-RPC and JSON-RPC are deprecated in Odoo 20 and scheduled for removal in Odoo 22. JSON-2 was added in Odoo 19 and uses an API key sent as a bearer token.

Can custom self-service modules run on Odoo Online?

+

No. Odoo states that Odoo Online is incompatible with custom modules and Odoo Apps Store modules. Custom portal pages or modules need Odoo.sh or on-premise hosting, which come with the Custom plan.

Free written answer from a certified consultant

Not sure which Odoo apps you need?

Tell us how your business runs. We recommend the apps, the edition and the order to roll them out.

Free, with no obligation. A senior consultant replies within 12 business hours.

We use cookies to improve your experience

Essential cookies make the site work; with your permission we also use analytics to improve it. See our cookie policy.