Skip to content

Lunch

lunch_custom_module is under construction

The custom module that makes this functionally useful — the payroll recovery of staff meal cost — is still being built. This page documents the core lunch module and the intended design, not delivered functionality.

Do not present staff meal handling as available functionality in a client proposal.

1. Purpose

Lunch lets staff order meals through the system, tracks what each employee ordered and what it cost, and maintains a per-employee account balance. In the NestERP stack the intent is that meal cost is recovered through payroll rather than settled in cash.

It is the smallest scope in the product and the least commercially significant, but it touches payroll, so it is documented rather than ignored.

2. Features

Core lunch provides:

  • Meal products with prices, grouped by category and supplier
  • Daily orders placed by employees
  • Order aggregation so an administrator can place one order with the supplier
  • Per-employee account balance, credited and debited as meals are ordered and paid
  • Cash moves to settle an employee's balance
  • Order history per employee
  • Supplier (vendor) management for meal providers

lunch_custom_module is intended to add the payroll recovery of accumulated meal cost. That part is not finished.

3. Where to find it

  • Menu: Lunch → My Lunch / Manager / Configuration
  • Technical name: lunch
  • Tier: Odoo core (Community Edition)
  • Available in: Odoo 17 in the NestERP stack — lunch_custom_module sits in the Odoo 17 tree

4. Modules used

Module Tier Why it is needed
lunch Odoo core Meal products, orders, employee balances
hr_payroll_community Third-party (Cybrosys) The payroll layer the recovery rule would run in

NestERP custom modules that build on Lunch

Module Odoo version Status What it adds
lunch_custom_module 17 Under construction Client-specific staff lunch handling, with meal cost recovered through payroll

The payroll link is the reason this module matters

lunch_custom_module declares a dependency on hr_payroll_community, so meal cost is intended to flow into payroll rather than being settled in cash. That link is the entire functional point of the module. Core lunch on its own only maintains a balance — nothing recovers it.

5. Configuration

Applies to core lunch. The lunch_custom_module configuration is not settled while the module is under construction.

  1. Create meal suppliers — Lunch → Configuration → Vendors, with their delivery details and order cut-off.
  2. Create meal categories and the products within them, each with its price.
  3. Set the order cut-off time, after which orders for the day close.
  4. Set opening balances for employees if the system is taking over from a manual ledger.
  5. Payroll recovery — to be defined when lunch_custom_module is complete: which salary rule recovers the cost, and over what period.

Configuration traps

  • Employee balances are real money owed. Loading opening balances wrongly creates deductions or credits that will be disputed on a payslip.
  • Order cut-off is per vendor. Without it, orders continue to be accepted after the supplier has been told the count.
  • Until the payroll recovery rule exists, nothing recovers the cost. Meals are ordered and the balance simply grows. This is the current state, not a hypothetical risk.

6. How it's used

Intended flow once the custom module is complete:

  1. Employee — Lunch → My Lunch, selects the day's meal and orders before the cut-off.
  2. Lunch Manager — reviews the aggregated order and places it with the supplier.
  3. Lunch Manager — confirms receipt, which debits each employee's balance.
  4. Payroll Officer — the accumulated cost is recovered through the payroll rule at month-end. ← not yet built
  5. Lunch Manager — records cash moves where an employee settles directly instead.

Screenshots needed

Deferred until the module is complete — screenshots of an unfinished module would document a state that will change.

7. Access rights

Group Can do
Lunch / User Order their own meals and see their own balance
Lunch / Manager Manage all orders, vendors, products and employee balances

Balance adjustment is a financial permission in practice, since it changes what an employee is deducted.

8. Version differences (16 / 17 / 18)

  • lunch is not a dependency of any Odoo 16 module in our stack.
  • The version where lunch_custom_module sits, currently under construction.
  • Not part of the product on this version.

9. Known limitations

  • The custom module is unfinished, so the payroll recovery that justifies the whole feature does not yet work.
  • No supplier ordering integration — the aggregated order is placed manually, by phone or email.
  • No dietary or allergen tracking.
  • No subsidy rules in core — a company paying part of the meal cost needs the split handled by the custom module or by the payroll rule.
  • No approval on balance adjustments, so a Lunch Manager can change what an employee owes without a second signature.

Needs verification

  • Confirm the intended payroll recovery design with whoever is building the module
  • Confirm which client this is being built for, and their meal-cost policy
  • Revisit this page once the module is complete — most of it is design intent, not delivered behaviour