Odoo 19 module for end-to-end employee expense management — mobile receipt upload, one-click email approvals, and automated monthly reports.
- 📱 Mobile-first — employees submit requests and upload receipts directly from a phone
- 🤖 Auto-routing — request goes to the employee's direct manager via
hr.employee.parent_id - 📧 One-click email approval — managers approve / reject / request revision without logging in (token-based secure links)
- 💰 Finance integration — converts approved requests into
account.movejournal entries automatically - 📄 Automated monthly PDF reports emailed to each department manager via
ir.cron - 🌐 Bilingual — full English / Arabic translations
Draft → Submitted → Manager Approved → Finance Review → Posted
↓ ↓
Rejected Needs Revision
smart_expense_manager/
├── __manifest__.py
├── controllers/ # Token-based email-link controller
├── data/ # Sequences, mail templates, cron
├── i18n/ # Arabic translations
├── models/ # expense.request, expense.line, hr.department
├── reports/ # QWeb monthly PDF report
├── security/ # 3 groups (Employee, Manager, Finance) + record rules
└── views/ # Form, list, kanban, search, portal templates
- Clone into your Odoo
addons-path:git clone https://github.com/mozn-jamous/smart-expense-manager.git
- Add the parent folder to
addons-pathinodoo.confor via CLI:./odoo-bin -d <db_name> --addons-path=addons,smart-expense-manager -u smart_expense_manager
- From the UI: Apps → Update Apps List → search "Smart Expense Manager" → Install
base, mail, hr, account
- Backend: Python 3.11+, Odoo ORM
- Frontend: OWL framework, Bootstrap (Odoo native)
- Reporting: QWeb (XML + Bootstrap)
- Email: Mail templates with token-secured action links
Mozn Jamous — Software Engineer
GitHub · LinkedIn
LGPL-3.0