| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Payroll (hr_payroll)
• Employees (hr) • Time Off (hr_holidays) • Website (website) • Discuss (mail) • Calendar (calendar) • Employee Contracts (hr_contract) |
| Community Apps Dependencies | Show |
| Lines of code | 5863 |
| Technical Name |
d_employee_portal_payroll |
| License | OPL-1 |
| Website | https://duong-odoo-apps.odoo.com |
| Versions | 17.0 18.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Payroll (hr_payroll)
• Employees (hr) • Time Off (hr_holidays) • Website (website) • Discuss (mail) • Calendar (calendar) • Employee Contracts (hr_contract) |
| Community Apps Dependencies | Show |
| Lines of code | 5863 |
| Technical Name |
d_employee_portal_payroll |
| License | OPL-1 |
| Website | https://duong-odoo-apps.odoo.com |
| Versions | 17.0 18.0 |
Employee Portal â Payslips
Employees can view their full payslip history and salary breakdown directly in the portal.
What This Module Adds
Payslip Tile on the Portal Home
Installs a Payslips tile on the Employee Portal home page with a live counter badge showing the number of payslips available to the employee.
Payslip List with Search and Filters
A full-width payslip list with a search box, status filter (e.g. Draft, Done, Paid), and date range pickers for From and To fields. Pagination keeps the page responsive even for employees with a long payslip history.
Full Salary Computation Detail
Clicking any row opens a dedicated detail page showing the complete salary breakdown: Work Entries, Other Inputs, and the full Salary Computation table with each line item. A summary card at the bottom shows Basic Wage, Gross Salary, and Net Salary.
Read-Only Access
Payslip records are strictly read-only in the portal. Employees can view and download information but cannot modify any payroll data.
Payslip List
The payslip list page displays columns for Payslip Name, From (period start date), To (period end date), and Status. Employees can use the search box for free-text lookup, the status dropdown to filter by payslip state, and the date range pickers to narrow results to a specific pay period. Clicking any row opens the full payslip detail page.
Full Payslip Breakdown
The payslip detail page provides a complete, structured view of the employee's salary for the pay period:
- Work Entries â lists each type of work entry (regular hours, overtime, leave, etc.) with corresponding days, hours, and monetary amounts.
- Other Inputs â shows additional deductions, bonuses, or manual inputs that affect the final salary.
- Salary Computation â a line-by-line breakdown of every salary rule applied, showing the computation and final amount for each line.
- Summary Card â a prominent card at the bottom of the page displays the Basic Wage, Gross Salary, and Net Salary at a glance.
Use Backend Views â Full Native Odoo Payslip Interface
Enable Use Backend Views on the Payslips document configuration to embed the full Odoo web client inside the portal shell. Employees see the real Odoo list and form view for their payslips â including print to PDF, the attachments panel, and the full salary computation form â without requiring an internal user account or Enterprise license seat.
Print Payslips as PDF
The embedded form view includes all native Odoo action buttons. Employees can print their payslip as a formatted PDF directly from the portal â no extra configuration needed.
Group By Period or Status
The native list view's Group By panel lets employees group their payslip history by pay period, status, or any other field â making it easy to quickly find a specific month's payslip.
Kanban View â Payslip Cards at a Glance
Enable Kanban in the Backend View Types setting to display payslips as visual cards. Each card shows the payslip name, pay period, and status â perfect for employees who want a quick overview of their payroll history without scrolling a long table. The view switcher lets employees toggle between list and kanban at any time.
Form View â Complete Payslip in Native Odoo
The native Odoo form view for a payslip gives employees the complete payroll record: the pay period header, all salary lines with computations, work entries, other inputs, the approval status bar, and the Print button to download a PDF â all accessible without an internal user account.
Requirements
Odoo Enterprise Required
This module requires hr_payroll, which is an Odoo Enterprise module. Community edition is not supported. You must have an active Odoo Enterprise license with the Payroll app installed.
Dependencies
- d_employee_portal â Employee Portal base module
- hr_payroll â Odoo Enterprise Payroll module
This module auto-installs when both d_employee_portal and hr_payroll are present in the same Odoo instance.
Support
For questions, bug reports, or feature requests, please contact us at:
Employee Portal — Payslips
The Payslips section of the Employee Portal lets your workforce view their full payslip history and salary breakdown from any browser or smartphone — with no internal Odoo account required. Employees can see every processed payslip, including itemised work entries, deductions, allowances, and their final net pay. This module requires Odoo Enterprise (hr_payroll) and the base Employee Portal module to be installed. Once both dependencies are present the module activates automatically — no manual installation step is needed.
1. Opening Your Payslips
Click the Payslips tile on the portal home page (/employee/home) to open your payslip list. You can also tap the Payslips shortcut in the bottom navigation bar if your administrator has pinned it there.
2. Reading the Payslip List
2.1 Columns
The payslip list table shows the following information at a glance for each record:
- Payslip Name — the reference label assigned by payroll when the slip was confirmed (for example, SLIP/2024/001). This is the identifier you would quote to HR if you have a question about a specific payslip.
- From — the start date of the pay period covered by this payslip.
- To — the end date of the pay period covered by this payslip.
- Status — the current state of the payslip. Only payslips that have been fully processed appear in the list; the possible values are Done (confirmed and computed) and Paid (marked as paid by payroll).
Draft or cancelled payslips are not shown in the portal list.
2.2 Search Box
Type part of a payslip name or reference number in the Search box at the top of the list to find a specific slip quickly. The search runs against all fields marked as Searchable on the Payslips document configuration.
2.3 Status Filter
Use the Status dropdown to narrow the list to a specific state:
- All — shows every processed payslip regardless of state. This is the default.
- Done — shows only payslips that have been confirmed and computed but not yet marked as paid.
- Paid — shows only payslips where the payment has been registered.
2.4 Date Pickers
Use the From and To date pickers to display only payslips whose pay period falls within a specific date range — for example, all payslips from the current calendar year or a single quarter.
- From — show payslips whose period start date is on or after this value.
- To — show payslips whose period start date is on or before this value.
2.5 Clear Button
Click Clear to remove all active filters — the search text, the Status selection, and both date pickers — at once. The list returns to showing all processed payslips in the default sort order.
3. Opening a Payslip
Click any row in the list to open that payslip's full detail page. A breadcrumb at the top of the page shows Home → Payslips → Slip name, so you can return to the payslip list or the portal home page with a single click.
4. The Payslip Breakdown
The payslip detail page is divided into several sections to make your pay easy to understand.
4.1 Header Card
At the top of the page a summary card shows:
- Reference — the payslip identifier assigned by payroll (for example, SLIP/001).
- Pay Period — the From and To dates of this pay cycle, showing the exact range of days covered by the payslip.
- Salary Structure — the pay structure applied to generate this payslip (for example, Employee, Executive, or a custom structure your organisation uses).
4.2 Work Entries
This table lists every type of time worked or leave taken during the pay period. Each row has the following columns:
- Description — the work entry type (for example, Regular Hours, Public Holiday, Sick Leave, or Annual Leave).
- Hours — the number of hours logged for that entry type during the period.
- Days — the equivalent number of working days, calculated according to the employee's work schedule.
- Amount — the gross monetary value calculated for that entry, based on the employee's hourly or daily rate.
4.3 Other Inputs
If your payroll includes any manual additions or deductions for this period — such as a one-off bonus, a commission payment, an expense reimbursement, or a special deduction — they appear in this section. Each line shows a description and the monetary amount.
4.4 Salary Computation
This table shows the full line-by-line calculation that produces your final pay. Each salary rule configured for your pay structure appears as a separate row with its name, quantity or rate, and the resulting monetary amount. Rows are grouped into categories such as Gross, Deductions, and Net. This section is the most detailed view of exactly how your pay was calculated — if you have questions about a specific line, quote its name to your HR administrator.
Note: a salary rule only appears here if the Appears on Payslip option is enabled on that rule's configuration. If you expect a line that is missing, ask your payroll administrator to check the rule settings.
4.5 Summary Card
At the bottom of the page a clear summary shows the three key totals:
- Basic Salary — your fixed base pay before any calculations are applied.
- Gross Salary — your pay after work entries, bonuses, and other additions are included.
- Net Salary — the final amount you receive after all deductions (taxes, social contributions, and other withholdings) have been subtracted.
The paid-on date is also shown here when the payslip has been marked as Paid by payroll.
5. Use Backend Views — Full Native Payslip Interface
When your administrator has enabled Use Backend Views on the Payslips document, the portal page embeds the native Odoo Payroll interface instead of the read-only detail page described in section 4. This gives you access to the full Odoo payslip views — including the ability to print a PDF copy and see every computed field — without needing an internal user account.
5.1 Enabling Backend Views
Your HR administrator enables this from Employees → Employee Portal → Documents → Payslips by checking Use Backend Views and setting Backend View Types to include the desired views (for example, list or list,kanban,form), then saving the document.
Once enabled, the portal payslips page renders the embedded Odoo interface instead of the plain list and detail pages described in sections 1–4.
5.2 Kanban View
When kanban is included in the Backend View Types, a view switcher appears at the top right of the embedded interface. Click the kanban icon to switch from the list to the kanban layout. Each kanban card shows the payslip reference, pay period, and status at a glance. Kanban is useful for a quick visual check of which payslips have been paid versus which are still in a Done (not-yet-paid) state.
5.3 Form View
Click any row in the list or any card in the kanban to open the full Odoo payslip form for that record. The form view shows the complete native payslip interface, including:
- All header fields (employee, contract, pay structure, period dates, journal).
- The Work Entries tab with all attendance-based time calculations.
- The Other Inputs tab for manual additions and deductions.
- The Salary Computation tab showing every salary rule line with its computed amount.
- The Print button at the top of the form, which generates and downloads a PDF copy of the payslip — the same document your payroll team distributes.
- The chatter thread at the bottom, showing any notes or messages from your HR or payroll administrator about this payslip.
6. Troubleshooting
- Payslips tile not visible — ensure the d_employee_portal_payroll module is installed and that the Payslips document is set to Is Published in Employees → Employee Portal → Documents.
- Payslip list is empty — only payslips in the Done or Paid state are shown. Ask your HR manager to confirm that your payslips have been processed and confirmed. Draft or cancelled payslips are intentionally excluded.
- Detail page shows a 500 error — the payslip must have a linked employee contract for the currency to resolve correctly. Contact your HR administrator to check the contract record associated with the payslip.
- Enterprise error on install — this module requires hr_payroll, which is an Odoo Enterprise module. It cannot be installed on Odoo Community edition.
- Salary lines missing from the detail page — salary rule lines are only displayed when the Appears on Payslip option is enabled on the corresponding salary rule. Ask your payroll administrator to review the rule settings in Payroll → Configuration → Salary Rules.
- Breadcrumb shows wrong employee name — verify that the logged-in portal user is linked to the correct employee record via the Related User field on the employee form (Settings tab in Employees → Employees).
- Backend view shows a blank page — the browser may be blocking cookies required for the embedded Odoo session. Open a private/incognito window and log in again. Ask your HR administrator to run Try as Portal User on the Payslips document to check for missing model access rules.
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