| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Expenses (hr_expense)
• Discuss (mail) • Employees (hr) • Invoicing (account) |
| Lines of code | 1171 |
| Technical Name |
portal_expenses |
| License | AGPL-3 |
| Website | https://www.mountsol.com |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Expenses (hr_expense)
• Discuss (mail) • Employees (hr) • Invoicing (account) |
| Lines of code | 1171 |
| Technical Name |
portal_expenses |
| License | AGPL-3 |
| Website | https://www.mountsol.com |
| Versions | 18.0 19.0 |
Portal Expenses
Let employees and portal users submit, edit, and track their HR expenses from the
/my
portal — without ever opening the backend.
Why Choose This Module?
Everything an employee needs to file an expense — nothing they don't.
|
🏠
Portal Home CardA live My Expenses tile on the portal home shows each user a current count of their own expenses. |
🔍
Filter, Sort & GroupBackend-equivalent search: 7 status filters, 4 sort modes, group-by Employee / Category / Status / Date, plus a date range picker. |
➕
Create from PortalSubmit new expenses without backend access. Pick a category, amount, payment mode (Employee or Company), and upload receipts. |
|
📎
Receipt UploadsAttach multiple receipts per expense. Downloads use per-attachment access tokens so files stay private to the owner. |
🔒
Draft-Only EditingEmployees can only edit their own drafts. Once submitted, the record locks — enforced by Odoo record rules, not just the UI. |
💬
Portal ChatterEach expense detail page shows the full communication history. Employees follow approvals and manager comments without backend logins. |
Real hr.expense Records
The portal is a thin client over the official HR Expenses model — submitted records flow into the standard approval pipeline that finance and HR already use.
✅ Same approval workflowPortal-submitted expenses follow the same Draft → Submitted → Approved → Posted → Paid states as backend ones. |
✅ Same reportingEvery dashboard, reimbursement report, and analytic distribution from hr_expense includes portal-submitted records automatically. |
✅ Server-side ownershipThe employee is bound to the logged-in user on every save — clients can't spoof another employee's record. |
✅ Two record rules, zero compromiseA read rule scopes lists to the user's own employee. A draft-only write rule blocks edits once submitted. |
See It In Action
Three screens cover the entire workflow — from portal landing to filing a new expense.
1. The Portal Home
Every internal and portal user lands on One click takes them to the full list view. |
|
|
2. The List ViewBackend-grade filtering, sort, and group-by — without ever leaving the portal:
Paginated 20 per page. Click any row to open the detail view. |
3. Create & Edit
A focused form captures everything a real
Server-side validation rejects empty values and locks the employee to the current user. Edits work only while the record is in Draft. |
|
How It Works
|
1
Open the Portal
Employee logs in to |
2
File the ExpenseHit New, fill in the fields, attach receipts — save as draft or edit later. |
3
Flows to HROnce submitted, the record enters the standard hr_expense approval pipeline. |
4
Track StatusFilter by state, follow chatter updates, and see when it's paid — all from the portal. |
Technical Information
|
Odoo Version
19.0
|
License
AGPL-3
|
Category
Human Resources / Expenses
|
Dependencies
hr_expense, portal
|
hr.employee record linked to their user account. The portal blocks submission with a friendly message if no employee is linked.
Need Help or Customization?
Built and maintained by Mountsol. We're here to help with installation, configuration, and any custom requirements.
Visit mountsol.com →
Please log in to comment on this module