Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Employees
  3. Employee Portal — Expense v 18.0
  4. Sales Conditions FAQ

Employee Portal — Expense

by ndd https://duong-odoo-apps.odoo.com
Odoo

$ 68.71

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Expenses (hr_expense)
• Employees (hr)
• Time Off (hr_holidays)
• Website (website)
• Discuss (mail)
• Calendar (calendar)
• Invoicing (account)
Community Apps Dependencies Show
Employee Portal
Lines of code 5562
Technical Name d_employee_portal_expense
LicenseOPL-1
Websitehttps://duong-odoo-apps.odoo.com
Versions 17.0 18.0
You bought this module and need support? Click here!
  • Description
  • Documentation
  • License

Employee Portal — Expenses

Employees can submit, track, and manage draft expense records without leaving the portal.

Expenses List

What This Module Adds

Expenses Tile on the Portal Home

Installs an Expenses tile on the Employee Portal home page with a live counter badge showing the number of expense records available to the employee.

Expense List with Status Filter

The expense list shows Date, Description, Category, Amount, and Status columns. A status dropdown filter lets employees quickly view records by state: Draft, Submitted, or Approved.

Create New Expenses

The + New button opens a create modal so employees can log new expenses directly from the portal — no backend access required.

Edit and Delete Draft Expenses

Employees can click any Draft expense row to open an edit modal and update the record. Submitted and approved expenses are locked and cannot be modified or deleted from the portal.

Expense Records

Expense Records List

The expense list page displays columns for Date, Description, Category, Amount, and Status. A + New button is visible at the top for creating new expense entries. The status dropdown filter lets employees quickly isolate records in Draft, Submitted, or Approved state. The list is paginated and supports date range filtering.

Submit a New Expense

Submit New Expense

Clicking the + New button opens a create record modal. Employees fill in the following fields:

  • Date — the date the expense was incurred
  • Description — a short note describing the expense
  • Product / Category — the expense product or category from a dropdown list
  • Quantity — the number of units (defaults to 1)
  • Amount — the total expense amount

Clicking Save creates the expense in Draft state. Draft expenses can be edited or deleted from the list. Once an expense is submitted for approval, it becomes locked and cannot be modified from the portal.

Use Backend Views — Full Native Odoo Expense Interface

Expense records displayed in the native Odoo list view embedded inside the portal shell

Enable Use Backend Views on the Expenses document configuration to embed the full Odoo web client inside the portal shell. Employees interact with the real Odoo expense list and form — including the full create form with all expense fields, attachments (for receipts), and the approval status timeline — all without an internal user account.

Full Expense Form with Receipt Upload

The embedded Odoo form view provides the complete expense creation experience: all fields, the receipt attachment slot, and the full approval workflow status — exactly as HR managers see it in the backend.

Group By & Advanced Filters

Employees can group their expenses by category, date, or status, and use advanced filters to quickly find specific expenses — features unavailable in the lightweight snippet table mode.

Kanban View — Expenses as Visual Cards

Expense records shown as kanban cards inside the portal

Enable Kanban in the Backend View Types setting to display expense entries as visual cards. Each card shows the expense description, category, amount, and approval status at a glance — making it easy for employees to see which expenses are still pending or have been approved. The view switcher in the control panel lets employees switch between list and kanban at any time.

Requirements

Dependencies

  • d_employee_portal — Employee Portal base module
  • hr_expense — Odoo Expenses module

This module auto-installs when both d_employee_portal and hr_expense are present in the same Odoo instance.

Edition Compatibility

Works with both Odoo Community and Odoo Enterprise editions, as the hr_expense module is available in both.

Support

For questions, bug reports, or feature requests, please contact us at:

duongodooapps@gmail.com

Employee Portal — Expenses

The Expenses section of the Employee Portal lets your workforce submit and manage expense records directly from any browser or smartphone — with no internal Odoo account required. Employees can log new expenses on the go, track their approval status, and edit or delete draft entries before submitting them to a manager. The module activates automatically when both the base Employee Portal and the Odoo Expenses app are installed.

1. Viewing Your Expenses

Click the Expenses tile on the portal home page to open your expenses list. The page displays all your expense records in reverse chronological order, so your most recent entry is always at the top.

Expenses list page showing date, description, category, amount, and status

1.1 Columns

The expenses table shows the following information for each record:

  • Date — the date the expense was incurred (the purchase date you entered when creating the record).
  • Description — the short note you wrote when submitting the expense, explaining what the purchase was for (for example, "Client lunch" or "Train ticket to Amsterdam").
  • Category — the expense type selected from the dropdown when the record was created (for example, Meals, Travel, or Office Supplies).
  • Amount — the total cost of the expense in your currency.
  • Status — the current approval stage of the expense. See section 1.2 for the full list of possible values.

1.2 Status Filter

Use the Status dropdown at the top of the list to narrow records to a specific approval stage:

  • All — shows every expense record regardless of its state. This is the default view.
  • Draft — shows only expenses you have created but not yet submitted for approval. These records can still be edited or deleted (see section 3).
  • Submitted — shows expenses that have been sent to your manager for review. Once submitted, a record becomes read-only from the portal.
  • Approved — shows expenses your manager has approved and marked as ready for reimbursement.
  • Done — shows expenses that have been fully processed and reimbursed.
  • Refused — shows expenses your manager has declined. Contact your HR administrator if you believe a refusal was made in error.

1.3 Date Filter

Use the From and To date pickers to view only expenses within a specific period — for example, the current month or the previous quarter.

  • From — show only expenses with a date on or after this value.
  • To — show only expenses with a date on or before this value.
  • Clear button — removes all active filters (Status dropdown and both date pickers) at once and returns the full list.

2. Submitting a New Expense

Use the + New button to log a new expense directly from the portal. The button is visible only when your HR administrator has enabled Allow Create on the Expenses document configuration.

2.1 Click + New

Click the + New button at the top right of the expenses list to open the expense creation form.

2.2 Fill in the Fields

Complete the following fields in the creation form:

  • Date (date) — the date the expense was incurred. This defaults to today. Click the field to open a date picker and select a different date if needed.
  • Description (name) — a short, clear note about what the expense was for. For example: Client lunch with Acme Co or Train ticket — Brussels to Amsterdam. This text appears in the list and helps your manager understand the expense at a glance.
  • Category (product_id) — select the expense type from the dropdown. The available options are the expense products configured by your HR administrator (for example, Meals, Travel, Accommodation, Office Supplies). If the dropdown is empty, ask your HR administrator to create expense products in the Expenses configuration.
  • Quantity (quantity) — the number of units. For a single purchase, leave this at 1. For mileage-based expenses, enter the number of kilometres or miles.
  • Total (total_amount) — the amount spent in your currency. If the selected Category has a default unit price configured, this field may be pre-filled — you can override it.

2.3 Click Save

Click Save to submit the form. The expense is created immediately in Draft status and appears at the top of your expenses list. At this point the record can still be edited or deleted (see section 3).

To send the expense to your manager for approval, your HR administrator or you (via the HR Expenses backend, if you have access) must include it in an expense report and submit the report. After submission, the expense moves to Submitted status and becomes read-only from the portal.

Expenses list showing a newly created Draft expense at the top

3. Editing or Deleting a Draft Expense

Only expenses in Draft status can be modified from the portal. Once an expense has been submitted, approved, or refused, it is locked — contact your HR administrator to make any corrections.

3.1 Click a Draft Row

Find the expense you want to change in the list and click its row to open the edit form. The row must show Draft in the Status column; rows in any other status open in read-only mode.

3.2 Edit Fields and Save

Change any of the fields — Date, Description, Category, Quantity, or Total — then click Save to apply the changes. The record is updated immediately and you return to the list view.

3.3 Delete Button

The Delete button appears inside the edit form only for records that are in Draft status and only when your HR administrator has enabled Allow Delete on the Expenses document configuration. Clicking Delete permanently removes the expense record — this action cannot be undone from the portal. Use it only when the expense was entered by mistake and should be removed entirely.

4. Use Backend Views — Full Odoo Interface

When your administrator has enabled Use Backend Views on the Expenses document, the portal page embeds the native Odoo Expenses interface instead of the simple list table. This gives you access to the complete Odoo view — sorting, grouping, advanced filters, the chatter thread, and attachment uploads — without needing an internal user account.

4.1 Enabling Backend Views

Your HR administrator enables this from Employees → Employee Portal → Documents → Expenses by checking Use Backend Views and setting Backend View Types to include the desired views (for example, list or list,kanban), then saving the document.

Once enabled, the portal expenses page renders the embedded Odoo interface instead of the plain table described in sections 1–3.

Native Odoo expenses list view embedded inside the portal shell

4.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 expense's description, category, amount, and current status at a glance. Kanban is useful for a quick visual sweep of which expenses are pending approval versus which have been reimbursed.

Expense records shown as kanban cards inside the portal shell

4.3 Full Expense Form

Click any row in the list or any card in the kanban to open the full Odoo expense form for that record. The form view shows all fields on the hr.expense record:

  • Expense Date — when the purchase was made.
  • Description — the free-text note describing the expense.
  • Category — the expense product type.
  • Company — the company the expense belongs to (relevant for multi-company setups).
  • Employee — the employee submitting the expense (pre-filled with your own record).
  • Quantity and Unit Price — break down the total amount.
  • Total — the computed expense amount.
  • Analytic — project or analytic account allocation (if configured by your administrator).
  • Attachments panel — upload a receipt or invoice photo directly from your device by clicking the attachment icon or dragging a file onto the form. Receipts attached here are visible to your manager when they review the expense.
  • Status bar — shows the current approval stage (Draft → Submitted → Approved → Done / Refused) along the top of the form.
  • Chatter thread — shows messages and notes exchanged between you, your manager, and HR staff about this expense.

5. Troubleshooting

  • + New button not visible — Allow Create must be enabled on the Expenses document in Employees → Employee Portal → Documents. Ask your HR administrator to check this setting.
  • Cannot edit an expense — only expenses in Draft status are editable from the portal. Submitted, approved, or refused expenses must be handled by your HR manager in the backend. Also verify that Allow Update is enabled on the Expenses document configuration.
  • Total shows 0.00 after selecting a Category — the selected expense product (Category) does not have a default unit price set. Your HR administrator must update the product record in the Expenses configuration to set the correct price.
  • Category dropdown is empty — your HR administrator must create at least one expense product in Expenses → Configuration → Expense Categories before employees can log expenses.
  • Expense tile not visible — ensure the d_employee_portal_expense module is installed and that the Expenses document is set to Is Published in Employees → Employee Portal → Documents.
  • 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 Expenses document to check for missing model access rules.
  • Delete button not visible on a Draft expense — Allow Delete must be enabled on the Expenses document configuration. Contact your HR administrator if you need to remove a draft expense.
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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with