HR Meal Order & Payroll Integration
Who this guide is for: the Odoo administrator who switches the feature on, the payroll
manager who sets what each employee pays per meal, and the payroll officers who compute payslips
and check the meal deduction. Meal orderers and meal managers work in
HR Meal as usual; this guide only shows what changes for them.
Note
Extends HR Meal - see its documentation: to_hr_meal.
Overview
Companies that subsidise lunches usually let employees pay part of each meal. This module takes
that part straight from the meal orders into the payslip, so nobody retypes meal totals into
payroll and the employee sees exactly which meals were charged.
How it flows
- Meal price terms - the payroll manager can cap what one employee pays per meal on the
employee's contract. Without a cap, the amounts of the meal order apply.
- Meal order - the meal orderer books meals and the meal manager approves them. Each order
line shows what the employee pays and what the company pays.
- Payslip - when the payroll officer presses Compute Sheet, every meal of the employee
in the payslip period is listed on the payslip and the total the employee pays is deducted
from the net salary.
| Role |
What they do |
Access right to assign |
| Administrator |
Switches on the meal deduction and gives each person an access right. |
Role / Administrator |
| Payroll manager |
Decides the maximum an employee pays per meal on the employee's contract. |
Employees / Administrator, or Contract pay fields / Edit |
| Payroll officer |
Computes payslips, checks the meals and the deduction on them, and cancels a payslip that
must be corrected. By default also sets the meal price, like the wage. |
Payroll / Officer (comes with Contract pay fields / Edit unless the administrator
withdraws it) |
| Meal orderer / meal manager |
Book and approve meals, as described in the HR Meal guide. |
HR Meal / User, HR Meal / Administrator |
Setup (for the Administrator)
Install the module
- Open Apps.
- Search for HR Meal Order & Payroll Integration (or tick Meal Deduction in Payroll >
Configuration > Settings).
- Press Install. HR Meal and Payroll are installed with it if they are not yet there.
On installation the module adds a salary rule that deducts the meals from the net salary, and a
contribution register to collect those deductions, for every company.
Give each person an access right
Open Settings > Users & Companies > Users, open a user and set the right named in the table
above: Payroll Officer for payroll officers, and for the payroll manager
Employees Administrator or Contract pay fields Edit. Meal orderers and meal managers
need the HR Meal User or Administrator right.
Decide who may set the meal price
The meal price is a pay term of the contract, set by whoever may change the wage. The
Payroll Officer right carries Contract pay fields Edit by default, so a payroll
officer can set Set Meal Price and Pay Per Meal like the wage. To keep that to the payroll
manager, untick Payroll officers can edit contract pay fields in Payroll > Configuration >
Settings, section Access Rights; officers then still see the meal price terms but cannot
change them. From then on only people holding Employees Administrator or Contract pay
fields Edit can set the meal price, so give one of these rights to the payroll manager.
Set the default employee price (optional)
Open HR Meal > Configuration > Settings, tick Set Employee Price and enter the
Employee Price. It is the amount an employee pays at most per meal, company wide, and it
is the starting value for the per-employee price below.
Payroll manager: cap what an employee pays
This is done by the payroll manager and, by default, by every payroll officer as well.
- Open Employees, open the employee and go to the Payroll tab.
- Tick Set Meal Price.
- Enter the Pay Per Meal: the most this employee pays for one meal.
- Save.
For every meal, the employee pays the lower of the meal's price and this amount; the company pays
the rest. The amount is part of the contract, so a meal is priced with the contract terms in force
on the day of the meal. With Set Meal Price off, the amounts of the meal order apply.
Meal orderer and meal manager: what changes
Orders are created, confirmed and approved exactly as in HR Meal. On the Order Details tab,
each line shows Price (the meal), Employee Price (the cap that applies), Employee
Amount (what the employee pays, to be deducted) and Company Amount (the rest). In the
example below the meal costs 6.00, the employee is capped at 5.00, so 5.00 goes to payroll and
1.00 is paid by the company.
Once a payslip of the employee covering the meal day is in the status Waiting or Done,
the module protects it. A payslip in Draft or Cancelled does not block anything.
- A new meal for that employee on a day inside the payslip period cannot be booked. Ask a payroll
officer or the payroll administrator to press Cancel Payslip on it first; once it is
cancelled the meal can be booked.
- An order that is already on such a payslip cannot be refused, cancelled, or have its lines
deleted until the payslip is cancelled.
Cancel an order that is on a payslip
When the meal manager presses Cancel on such an order, a Validation Error names the
payslips that hold it and the way out. Refusing the order or deleting one of its lines is
answered the same way. The message reads: You must not cancel the order HRMO00001 while it is
referred by the following HR payslips: Salary Slip of Abigail Peterson for October-2026. Please
ask payroll to cancel these payslips first, then cancel the order again.
- The meal manager (HR Meal / Administrator) closes the message and sends the payslip names to
payroll.
- A payroll officer or the payroll administrator opens each named payslip and presses Cancel
Payslip (see Correct a confirmed payslip below). The meals of the payslip are released.
- The meal manager opens the order again and presses Cancel. The order is now in the status
Cancelled.
- Payroll presses Set to Draft on the payslip and Compute Sheet again, so that the
payslip carries only the meals that remain.
Payroll officer: compute the payslip
Compute the payslip and check the meals
- Open Payroll > Payslips > Payslips and open or create the employee's payslip, or generate
payslips in batch.
- Press Compute Sheet.
- On the Work Information tab, the Meal Order list shows every meal of the employee dated
inside the payslip period, with the quantity, the full amount and the Employee Amount,
and totals the meals and the amount to deduct.
Which meals are counted:
- Orders in the status Confirmed or Approved by Kitchen. Draft, refused and cancelled
orders are left out.
- Meals of the employee's own company, dated between the first and the last day of the payslip.
- A meal is charged to one payslip only. 13th-month payslips never carry meals.
Read the deduction
Open the Salary Computation tab. The line HR Meal Order Deduction Amount (code
MODED) is the negative total of the Employee Amount column, here -15.00 for three meals
of 6.00, each capped at 5.00. It is subtracted from the net salary and shown on the payslip.
If a meal is added, changed or cancelled while the payslip is still in Draft, press Compute
Sheet again.
Correct a confirmed payslip
- Open the payslip in the status Waiting or Done and press Cancel Payslip. Payroll
officers and the payroll administrator can do this.
- The meals are released at once: the Meal Order list of the cancelled payslip is empty, the
meal manager can now cancel or refuse the orders and book new meals for the period, and the
meals can be charged to another payslip of the same period.
- Press Set to Draft, fix what is wrong, then Compute Sheet again.