OdooWiki OCA HUB

HR Expense Meal Allowance

hr_expense_meal_allowance folder_open OCA/l10n-germany open_in_new
Human Resources/Expenses License: AGPL-3

Adds German "Verpflegungsmehraufwände" processing in the expense module.

When a meal allowance product is selected, the UI is changed as following.

The product tag controls whether the Product is of type meal allowance and controls the UI.

The rates are imported by a csv file. When a rate changes for a certain country, create a new csv line and set the expire_on date on the existing line.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Adds German meal allowance (Verpflegungsmehraufwand) handling to expenses: pick a meal allowance product, enter travel dates and customer, and Odoo computes the daily allowance per day and prints a detailed report.

When you create an expense and choose a product tagged as a meal allowance (a ready-made "Meal Allowance" product is provided), the expense form shows a new "Travel Information" section and an "Included Meals" tab.

  • Enter the travel period (begin and end date/time) and the customer. Odoo then creates one line per travel day in "Included Meals", showing the weekday and the amount for that day.
  • Tick breakfast, lunch or dinner when they were included; the corresponding share is deducted from that day's allowance.
  • The rate is chosen automatically from the customer's country and city, using the rate valid at the travel end date. Rates are managed under Expenses configuration ("Meal Allowance Rate") with 24h and 8h daily amounts, meal percentages and an expiry date.
  • Whole days and travel days are counted automatically, and the expense total is the sum of the daily amounts; the currency follows the rate.
  • A "Print Expenses" button on the expense produces a PDF report listing each day, the meals included and the total.

A timezone must be set on the user, otherwise an error is raised. The module also adds a "Meal Allowance" report menu and a multi-company rule on the daily lines.

Depends on

sale_expense

Menus it adds

Meal AllowanceMeal Allowance Rate
Models and fields (3)
  • hr.expense · extends an existing modeltravel_end, customer_id, travel_begin, number_of_days (Whole Days), is_meal_allowance, meal_allowance_ids (Included Meals), number_of_travel_days (Travel Days), meal_allowance_rate_id (Rate)
  • hr.expense.meal.allowance · new modelday, date, company_id, currency_id, employee_id, is_editable, hr_expense_id (Expense), lunch_included (Lunch included?), dinner_included (Dinner included?), expense_for_day (Expenses for This Day), breakfast_included (Breakfast included?)
  • hr.expense.meal.allowance.rate · new modelcity_name, expire_on, country_id, lunch_rate, currency_id (Currency), dinner_rate, daily_rate_8h (Daily Rate - 8h), breakfast_rate, daily_rate_24h (Daily Rate - 24h), percentage_for_lunch (Percentage for Lunch), percentage_for_dinner (Percentage for Dinner), percentage_for_breakfast (Percentage for Breakfast)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/l10n-germany.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.