Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Human Resources Payroll
  3. EH HR Gratuity v 18.0
  4. Sales Conditions FAQ

EH HR Gratuity

by ERP Heritage https://erpheritage.com.au
Odoo
v 18.0 Third Party 35
Download for v 18.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
ERP Heritage · HR Platform
ERP Heritage . HR Platform

EH HR Gratuity

End-of-service gratuity, computed, approved, and paid on one audited workflow.

Free · LGPL-3v 1.0.0LGPL-3v1.0.0
End-of-service gratuity
Configurable days-per-year basis
Computed settlement amount
Draft to computed to approved to paid
Role-gated transitions

Why this module

EH HR Gratuity

Configure, do not code

The accrual basis is data

Days accrued per year of service is a field on the record, defaulting to 21. Change the basis per record without touching Python, and the amount recomputes from basic salary, years of service and that basis automatically.

Governed end to end

Four states, role-gated

A gratuity moves draft, computed, approved, paid, with cancel available from draft. The workflow engine refuses any transition that is not defined from the current state, locks the final states, and checks the user is in the allowed group before each step.

Provable history

Tamper-evident audit

Every create, write and cancel is written to an append-only, sha256 hash-chained log. State, employee, years, salary, the days basis and the computed amount are captured, and the chain can be verified on demand to show nothing was edited after the fact.

Day in the life

A leaver, settled on the record

An HR officer opens a gratuity for the departing employee, enters years of service and basic salary, and the settlement amount computes from the days-per-year basis. The officer hits Compute to move it to computed; an HR administrator reviews and Approves, then marks it Paid once the money is out. Each step is permission-checked and written to the audit chain, so the final settlement is fully reconstructable from the trail rather than from a spreadsheet nobody kept.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

Final-state lock

Once a gratuity reaches paid or cancelled, the engine treats it as final and refuses any further transition, even one a misconfigured definition might declare from it.

Transition guard

A transition only fires if it is defined from the record's current state. You cannot mark a draft paid, or approve a record that was never computed; the engine raises rather than silently advancing.

Role-gated steps

Compute and Cancel require the HR officer group; Approve and Mark paid require the HR administrator group. A user outside the allowed group is refused, and admin is the only bypass.

Chain serialization

Audit appends take a transaction-scoped Postgres advisory lock, so two concurrent saves cannot fork the hash chain; the lock releases automatically on commit or rollback.

Audit-only changes skipped

A write that does not actually change any captured field emits no audit row, so the trail records real edits rather than no-op saves.

Strict multi-company

Each gratuity is owned by a company, required on create. Moving a record into a company the user does not belong to is rejected, and any cross-company override is itself written to the audit log.

Non-negative inputs

A database check constraint refuses negative years of service or negative basic salary, so the computed amount cannot be driven below zero by bad input.

Stable references

Each record is auto-numbered from a year-prefixed sequence on create, with a fallback reference if the sequence is unavailable, so saved records always carry a non-default name.

What is inside

Built to do the job, end to end.

  • Model it adds. One model, eh.hr.gratuity, holding the employee, computation date, years of service, basic salary, the days-per-year basis and the computed gratuity amount, with chatter on the form.
  • The computation. gratuity_amount is a stored computed field equal to (basic_salary / 30) times days_per_year times years_of_service, recomputed whenever any of the three inputs changes.
  • Workflow as data. The draft, computed, approved, paid and cancelled states and their transitions ship as workflow-definition records, not hard-coded Python, so the path is inspectable and the engine enforces it.
  • Audit and company mixins. The model inherits the platform's audited mixin and strict company-aware mixin, so the hash-chained log and multi-company guards apply without any code living in this module.
  • Security and access. HR administrators get full access, HR officers read, write and create without delete, and HR managers get read-only, set in ir.model.access.csv.
  • Tests in the box. Automated tests cover the computed amount and defaults and the full draft to paid transition path, run as part of the platform suite.

Honest about the edges

What this does not do, so nothing surprises you.

  • The days-per-year basis defaults to 21 and is editable per record. The module does not ship country-specific gratuity rule tables, tiered slabs, or unpaid-leave deductions; the formula is a single straight-line accrual you supply inputs to.
  • Years of service is entered as a number on the record. The module does not auto-derive tenure from contract or joining dates.
  • Marking a gratuity paid is a workflow step that records the settlement. It does not post a journal entry, generate a payslip, or move money; integration with payroll or accounting is not included here.
  • The shipped gratuity workflow uses direct role-gated transitions. It does not wire in the multi-step approval-chain engine, so there is no N-step escalation ladder on this document type out of the box.
  • There is no scheduled job in this module; gratuity records are created and advanced by people, not by a cron.
Search

odoo gratuity, end of service gratuity odoo, EOSB odoo, gratuity calculation, end of service benefit, severance pay odoo, terminal benefits, employee final settlement, odoo 18 hr, offboarding settlement, leaver pay, gratuity workflow, hr platform odoo community, self-hosted hr odoo

Work with ERP Heritage

Need this fitted to the way you work?

ERP Heritage delivers end to end Odoo work: Odoo Implementation, Customization and Development, Integration, Migration, Consultation, Support and Training. We help teams put this module into production, shape it to their process, and keep it running.

Build and tailor
Odoo Implementation, Customization and Development, scoped to your workflow.
Connect and move
Odoo Integration and Migration across systems and Odoo versions.
Run and support
Odoo Support and Training so your team stays productive after go live.
Plan and advise
Odoo Consultation and ERP Consulting, from discovery to roadmap.

We work with businesses across Australia (Melbourne, Sydney, Brisbane, Perth, Adelaide, Canberra) and the Middle East (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, Kuwait City, Muscat). Start a conversation at erpheritage.com.au or email info@erpheritage.com.au.

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

العربية简体中文繁體中文NederlandsFrançaisDeutschहिन्दीBahasa IndonesiaItaliano日本語한국어PolskiPortuguês (Brasil)РусскийEspañolSvenskaไทยTürkçeTiếng Việt
More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 69
Ireland - Payroll Account

Post Irish payslips to the general ledger on the Irish chart of accounts

USD 99
Project Gantt

Interactive drag and drop Gantt planner for Odoo 18 Community project tasks with a deterministic server side sche...

USD 59
Employment Hero Connector

Employment Hero Connector is the integration core of the ERP Heritage Employment Hero suite, providing per compan...

USD 9
Employment Hero UK

The United Kingdom country pack for the ERP Heritage Employment Hero integration

USD 59
Employment Hero HR

Sync Employment Hero employees, departments and payroll bank details into standard Odoo Community HR over the pla...

USD 19
Employment Hero Webhook

Inbound webhook receiver for the Employment Hero people and payroll platform on Odoo 18 Community

ERP Heritage

v1.0.0 · LGPL-3 · Odoo 18 Community

Developed by Odoo Implementation Australia • LinkedIn

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Employees (hr)
• Discuss (mail)
Community Apps Dependencies Show
• EH HR Compatibility
• EH HR Platform Core
• EH HR Workflow Engine
Lines of code 1354
Technical Name eh_hr_gratuity
LicenseLGPL-3
Websitehttps://erpheritage.com.au

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with