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 16.0
  4. Sales Conditions FAQ

EH HR Gratuity

by ERP Heritage https://erpheritage.com.au
Odoo
v 16.0 Third Party 22
Download for v 16.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
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 1303
Technical Name eh_hr_gratuity
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
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 1303
Technical Name eh_hr_gratuity
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
End-of-service settlement

EH HR Gratuity

End-of-service gratuity computed, routed through a group-gated workflow, and written to a tamper-evident audit chain.

Free · LGPL-3Odoo 16 CommunityLGPL-3v1.0.0
End-of-service gratuity
Stored payout formula
Group-gated workflow
Tamper-evident audit
Strict multi-company

Why this module

EH HR Gratuity

Predictable

One formula, stored and tracked

Gratuity is (basic salary / 30) times days per year times years of service, computed and stored on the record. The days-per-year basis is a data value per record, so you set the accrual rate without touching code.

Controlled

Officer computes, admin approves and pays

The workflow advances draft to computed to approved to paid, with cancel available from draft. Each transition is restricted to an HR group, so computation and final payment sit with different roles by default.

Provable

Every change on a hash chain

Create, write, and unlink events land in an append-only audit log. Each row carries the sha256 of the previous row, so any silent edit is caught by the chain verifier. Field snapshots cover state, employee, salary, service, and amount.

Day in the life

Settling a leaver

An HR officer opens a new gratuity record for the departing employee, fills in basic salary, years of service, and the days-per-year basis, and the payout amount computes immediately. They press Compute and the record moves to computed. An HR admin reviews the figure and presses Approve, then Mark paid once the settlement is disbursed, landing the record in its final paid state. Behind the scenes, every step writes a before-and-after snapshot to the audit chain, so the full history of who changed what and when is reconstructable later. A record entered against the wrong leaver can be cancelled from draft, but once paid the workflow refuses any further transition.

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

Paid and cancelled are terminal. The engine refuses any transition out of a final state, even one a misconfigured definition might declare, so a settled record cannot be silently reopened.

Self-approval guard

When a transition is gated through the platform approval engine, the original submitter is captured before the engine elevates to sudo, so the user who fired a gated transition cannot later approve their own request even if they hold an approver group.

Hash-chain serialization

Audit appends take a transaction-scoped Postgres advisory lock, so two concurrent writes cannot read the same chain tail and fork it. The lock releases automatically on commit or rollback.

Idempotent audit writes

A write whose before and after snapshots are identical for the captured fields emits no audit row, so no-op saves do not pad the trail with empty events.

Strict multi-company

Company is required and defaults to the active company. Moving a gratuity record into a company the user is not a member of is refused, and any audited cross-company override is recorded with every affected record id.

Non-negative inputs

A database CHECK constraint rejects negative years of service or negative basic salary, so a bad keystroke cannot produce a nonsensical payout.

Group-gated transitions

Each transition checks the user against its allowed HR groups before advancing, so an officer cannot approve or mark paid a record reserved for an admin.

What is inside

Built to do the job, end to end.

  • The gratuity record. A single eh.hr.gratuity model holds the employee, computation date, years of service, basic salary, days-per-year basis, and the stored gratuity amount. References are auto-numbered with a yearly GRAT sequence on save.
  • The workflow engine. States and transitions are defined as data on the shared EH HR Platform workflow engine, not hard-coded. The statusbar and transition buttons are driven from that definition, and the module declares only its own state graph.
  • The audit mixin. An audited mixin emits create, write, and unlink events into the platform hash-chained log, capturing before-and-after snapshots of state, employee, years of service, basic salary, days per year, and amount.
  • Roles and access. Access rights map to HR admin, officer, and manager groups. Admin has full control, officer can create and edit but not delete, manager has read-only visibility.

Honest about the edges

What this does not do, so nothing surprises you.

  • This module does not own workflow or audit code. It depends on the EH HR Platform engine modules (eh_hr_core, eh_hr_compat, eh_hr_engine_workflow), which must be installed.
  • The gratuity formula is fixed as (basic salary / 30) times days per year times years of service. Only the days-per-year basis is data-driven per record; the divisor and structure are not configurable in this module.
  • The shipped workflow is a linear officer-computes, admin-approves-and-pays segregation. It does not configure a multi-step approval chain or escalation ladder out of the box, although the underlying engine supports gated approvals.
  • Years of service and basic salary are entered manually on the record. The module does not auto-derive tenure from contract or attendance history, nor read salary from a payroll structure.
  • There is no posting to accounting or payroll. Mark paid records the settlement state for audit and reporting; it does not create a journal entry or payslip.
  • There is no built-in country-specific labour-law variation or end-of-service ceiling. Local rules must be reflected by setting the days-per-year basis and amounts yourself.
Search

odoo end of service gratuity, odoo 16 gratuity module, end of service settlement odoo, gratuity calculation odoo, EOS gratuity HR, final pay settlement odoo, severance odoo HR, leaving entitlement odoo, days per year gratuity accrual, hash chained audit trail odoo, multi company HR odoo, odoo HR workflow approval, employee end of service payout, odoo community payroll gratuity

ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Implementation Australia

v1.0.0 · LGPL-3 · Odoo 16 Community

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