All posts
Functional5 min read

End-to-End Expense Reimbursement Workflow in Odoo

Walk through the complete Odoo expense reimbursement process - from employee receipt capture through manager approval, accounting posting, and payment to the employee.

Expense Reimbursement in Odoo#

The Odoo Expenses module handles the full cycle: employees log expenses on their phones, managers approve, finance posts to accounting, and HR/payroll processes the reimbursement. No paper forms or spreadsheets required.

Step 1 - Employee Logs the Expense#

Expenses App → New Expense:

  • Expense Name: Team Lunch with Client ABC
  • Category: Business Meals
  • Total Amount: $87.50
  • Expense Date: 2027-09-05
  • Receipt: photo upload (from phone camera)
  • Analytic Account: Sales Department / Project X

Or log a mileage expense:

  • Category: Mileage (configured with $0.655/mile rate)
  • Quantity: 45 miles → Odoo calculates: $29.48

Step 2 - Create an Expense Report#

Group multiple expenses into a single report for approval:

Expenses → My Expenses → Create Expense Report:

  • Select all expenses from the business trip or period
  • Report Name: September Business Trip - Jay Smith
  • Submit for approval

Step 3 - Manager Approval#

Manager receives a notification:

Expenses → Expenses to Approve → [Report]:

  • Reviews each line and attached receipts
  • Approves or rejects with a comment
  • If rejected: report returns to the employee with the rejection reason

Step 4 - Finance Posts to Accounting#

After manager approval:

Expenses → [Approved Report] → Post Journal Entries:

  • Odoo creates accounting entries:

- Debit: Business Meals Expense (per category account)

- Credit: Employee Payable (or a dedicated reimbursable account)

The expense is now on the books as a liability to the employee.

Step 5 - Reimbursement Payment#

Expenses → [Posted Report] → Register Payment:

  • Payment Method: Bank Transfer (most common) or Cash
  • Date: payment date
  • Amount: total approved expense amount

Odoo posts:

  • Debit: Employee Payable (clears the liability)
  • Credit: Bank Account (the cash going to the employee)

Or route through payroll:

  • The expense is added as an "Other Input" on the next payslip
  • Reimbursed with salary - one bank transfer instead of separate expense payments

Automated Expense from Credit Cards#

For corporate credit card holders:

  • Bank feed imports card transactions daily
  • Employees are prompted to categorize and submit each transaction
  • Reduces the burden of manual expense logging

Expense Analytics#

Expenses → Reporting → Expense Analysis:

  • Spending by category, department, employee, and period
  • Receipts pending submission (uncategorized card transactions)
  • Approval turnaround time (submitted → approved → paid)

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free