Turn scattered expenses into audit-ready reports in minutes
Group Expenses into submit-approve-reject reports with usable auto-generated summaries, conditional approval routing, and a reconciliation-ready PDF — built for teams that submit expenses every day.
The problem
Employees waste time re-editing auto-generated report summaries that read poorly, clicking through expenses one row at a time, and guessing why a report was rejected. Finance is left compiling reports for period close without a reliable way to see what is pending, what has a receipt, and what still needs review.
The solution
Employee Expense Reports adds a purpose-built reporting layer on top of Odoo Expenses: batch and template-driven report creation, summaries that are correct by default, conditional approval routing by department and amount, mandatory-comment rejections with a full audit trail, and a reconciliation-ready PDF grouped by category.
Everything a report-heavy expense workflow needs
Every capability below is implemented in the module.
Submit, approve, reject workflow
Every expense report moves through a clear statusbar — Draft, Submitted, Approved, Rejected — with color-coded list and kanban views so employees, managers, and finance always know where a report stands.
Usable auto-generated summaries
Reports generate a meaningful summary out of the box — period, expense count, total, and a category breakdown — so it is correct by default and still editable when you want to add context.
Receipt trail and missing-receipt alerts
Every line shows a receipt indicator and a running receipt count, with a clear on-form warning when a report has expenses missing a receipt — so reviewers can triage without opening every line.
Conditional approval routing
Approval rules route each report to the right approver based on department and amount band, ordered by sequence, so reports land with the correct manager instead of bottlenecking on one person.
Mandatory-comment rejection with audit trail
Rejecting a report requires a comment explaining why, and every rejection is logged to a Rejection History page on the report — so employees know exactly what to fix and finance keeps a full record.
Reusable report templates
Save recurring report shapes — expense categories, a summary prefix, and a seeded journal and approver — as templates so regular submitters do not rebuild the same report from scratch every period.
Batch, one-report-per-employee creation
Select expenses across employees from the expense list and create a full batch of reports — one per employee, grouped automatically, with an optional template and summary prefix applied — in a single action.
Report and receipt visibility on the expense list
The Expenses list gains Report and Receipt columns plus a Not in a Report filter and report group-by, so employees and finance can see at a glance which expenses are already reported and which still need to be.
Reconciliation-ready PDF report
Print an approved report as a PDF grouped by expense category, giving finance the structure it needs to reconcile accounts and close the period without reformatting the data by hand.
How it works
Select expenses
Employees pick expenses individually or in bulk from the Expenses list — filterable by category, date, or Not in a Report — ready to compile into a report.
Create the report
Build a report from the selection directly, from a saved template, or in batch (one report per employee) — employee, department, journal, and date range populate automatically.
Submit and route
Submitting sends the report to the correct approver automatically, based on department- and amount-based conditional routing rules.
Approve, reject, or reconcile
Managers approve or reject with a mandatory comment logged to an audit trail; finance prints the approved report as a category-grouped PDF for reconciliation.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
It extends it. Odoo 19 removed the hr.expense.sheet report layer, so this module adds its own expense.report model on top of the standard hr.expense records — your existing expense entry workflow does not change.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Employee Expense Reports
Group expenses into submitted, approved and rejected reports with readable auto-summaries, conditional routing, missing-receipt alerts and a reconciliation-ready PDF.
Buy on Odoo App Store