Try Live Demo Before You Buy
Test the Employee Expense Portal interface (`/my/expenses`) and backend manager approval workflow in our live demo instance.
demo
Password: demo
License-Free Employee Expense Portal
Submit Receipts & Track Expense Reimbursements via Free Portal Accounts in Odoo 15
Stop paying expensive monthly user licenses just for field workers to submit occasional expense receipts.
Empower drivers, technicians, and outdoor staff to submit receipts via a free portalâfully integrated into Odoo's native Expenses app!
Why Pay Internal User Licenses for Field Staff Who Only Submit Receipts?
Companies with large field, outdoor, or seasonal teams (drivers, technicians, site supervisors) waste thousands of dollars purchasing standard Odoo internal user accounts simply so employees can submit fuel or meal receipts. License-Free Employee Expense Portal gives these employees a focused, restricted portal entry page where they submit expenses and receipt photos at $0 user license cost!
DEMO WATCH NOW
Key Features & Capabilities
A secure, streamlined submission front door built specifically for Odoo's native Expense module.
Zero User License Cost
Employees log in using standard Odoo Portal accounts (share = True). HR links their portal login to their employee record in one click.
Seamless Receipt Submission
Dedicated portal page (/my/expenses) lets employees select category, amount, date, and attach mandatory receipt photos/scans directly from their phone or PC.
Native Odoo Expenses Integration
Submissions automatically generate standard hr.expense records and hr.expense.sheet reports, triggering normal manager approval queues and journal posting.
Strict Controller Security
Portal users get ZERO direct ORM model permissions. All read/write actions pass through ownership-checked sudo() controller routes to ensure total data privacy.
Technical Architecture & Security Model
Designed for Odoo 15 Community & Enterprise with bulletproof data isolation.
Model Extensions & Routes
| Component | Implementation Reference |
|---|---|
| Portal Expense Link | hr.employee.portal_user_id |
| Tracking Flag | hr.expense.submitted_via_portal |
| Portal List Route | GET /my/expenses |
| Submission Route | POST /my/expenses/new |
Controller Security Principles
| Security Rule | Details |
|---|---|
| ORM Group Exposure | Zero ORM access rights added to portal group |
| Ownership Enforcement | Explicit check: expense.employee_id == employee |
| Attachment Security | Strictly guarded receipt download route |
| SQL Uniqueness | Unique constraint on portal_user_id link |
Onboarding Workflow & Setup
| 1. | Invite employee's contact record as a Portal User via Contacts (Grant Portal Access â consumes $0 license). |
| 2. | In the Employees app, open the employee record, navigate to the Expense Portal tab, and set Expense Portal Login. |
| 3. | The employee logs into /my/expenses on their phone or laptop, fills in details, and uploads a receipt picture. |
| 4. | An expense report is automatically created and submitted to their manager's standard Expenses backend approval queue! |
Interface & Operational Gallery
Explore the seamless employee portal experience and backend manager integration.




Future Development Roadmap
- Multi-currency selection on the portal expense submission form.
- OCR automated receipt scanning to extract date and amount before submission.
- Batch expense submission (linking multiple receipts into a single portal report).
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Expenses (hr_expense)
• Discuss (mail) • Employee Contracts (hr_contract) • Invoicing (account) • Employees (hr) |
| Lines of code | 585 |
| Technical Name |
expense_no_license_portal |
| License | OPL-1 |
| Website | https://syncsoft.app |
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