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. Appraisal
  3. EH HR Appraisal v 16.0
  4. Sales Conditions FAQ

EH HR Appraisal

by ERP Heritage https://erpheritage.com.au
Odoo
v 16.0 Third Party 29
Download for v 16.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!
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 1586
Technical Name eh_hr_appraisal
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
Performance Reviews on the EH HR Platform

EH HR Appraisal

Periodic performance reviews with weighted goals, 360 feedback, and a hash-chained audit trail, driven by the platform workflow engine.

Free · LGPL-3Odoo 16 CommunityOPL no, LGPL-3v1.0.0
Weighted goal score
360-degree feedback
Submitted-only aggregate
Reusable templates
Configurable workflow

Why this module

EH HR Appraisal

Honest scoring

Weighted goals, not a single number

Each goal carries a weight and a 0 to 5 rating; the goal score is the weight-normalized average, so a heavily weighted objective moves the result more than a minor one. Verified by the shipped weighted-score test.

Multi-rater

360 feedback that only counts finalised input

Self, manager, peer, direct report, and external raters each score the same appraisal. Only entries marked submitted feed the aggregate, so drafts still being edited never skew the number.

Platform-backed

Audit and company safety come from the engine

Every transition and edit writes to an append-only, sha256 hash-chained audit log, and company_id is required with cross-company writes rejected. The module composes these engines rather than reimplementing them.

Day in the life

A review cycle, start to finish

HR applies an Annual Review template to a new appraisal, which copies its weighted goals in without wiping anything already entered. The manager starts the review, peers and direct reports submit 360 scores, and the goal and feedback scores recompute live as ratings land. The manager records an overall rating and completes the appraisal; the workflow locks it in its final state so no further transition can fire, and every step is captured in the hash-chained audit trail. An optional generation service can open one appraisal per active employee for a period and skips anyone who already has one for that window.

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.

Idempotent generation

The period-generation service searches for an existing appraisal on the same employee and date window before creating, so re-running it for the same period creates zero duplicates. Covered by the idempotency test.

Final-state lock

Once an appraisal reaches completed or cancelled, the workflow engine treats is_final as authoritative and refuses any further transition, even one a misconfigured definition might declare from that state.

Submitted-only 360

Feedback rows default to not submitted; the feedback count and average ignore every unsubmitted row, so an in-progress draft rating never inflates the aggregate until the rater explicitly submits.

Strict company scope

company_id is required and defaults to the active company. A write that moves a record into another company is rejected even under sudo unless an explicit allow_cross_company context override is set, and that elevation is itself written to the audit log.

Append-only audit chain

Audit rows are serialized with a Postgres transaction-scoped advisory lock and chained by sha256 over the previous row's hash, so any after-the-fact edit breaks the chain and is detectable on verification.

Group-gated transitions

Start, complete, and cancel transitions are restricted to the HR Manager group; a user outside the allowed groups is refused the transition by the workflow engine rather than the button silently doing nothing.

Empty-weight guard

When total goal weight is zero the goal score resolves to 0.0 instead of dividing by zero, and weights and ratings are constrained at the database level to non-negative and 0 to 5.

What is inside

Built to do the job, end to end.

  • Appraisal record and workflow. eh.hr.appraisal carries employee, manager, period dates, overall rating, and free-text employee and manager feedback. It composes the workflow, audited, and company-aware platform mixins plus mail.thread for chatter, and declares a draft to in_progress to completed or cancelled workflow whose states and transitions live in data and can be reconfigured without code.
  • Weighted goals and 360 feedback. Goals hold a sequence, weight, and 0 to 5 rating feeding a stored weight-normalized goal score. Feedback rows carry a rater, a rater type of self, manager, peer, direct report, or external, a rating, and a submitted flag; only submitted rows feed the stored feedback score and count.
  • Templates and generation service. eh.hr.appraisal.template holds reusable weighted goal lines; Apply Template copies them onto an appraisal additively. A registered generation service opens one appraisal per active employee for a date window, optionally scoped to a company, and is idempotent across reruns.
  • Security and audit. Access is split across HR admin, manager, and employee-self groups with row-level permissions per model. Transitions are group-gated to HR Manager, and creates, writes, unlinks, and transitions all emit rows into the append-only hash-chained platform audit log.

Honest about the edges

What this does not do, so nothing surprises you.

  • Targets Odoo 16 Community and requires the EH HR Platform modules eh_hr_core, eh_hr_compat, and eh_hr_engine_workflow alongside hr.
  • Appraisal transitions are group-gated only; this module does not route appraisals through a multi-step approval chain, as it does not depend on the approval engine.
  • The overall rating is recorded manually by the manager and is not auto-derived from the goal or 360 feedback scores.
  • There is no employee or manager self-service portal view; appraisals are managed through the standard backend forms.
  • The generation service is callable but is not wired to a scheduled cron in this module; scheduling is left to the deployment.
  • 360 feedback aggregation is a simple average of submitted ratings and is not weighted by rater type.
Search

Odoo 16 appraisal, performance review Odoo, employee appraisal module, weighted goal scoring, 360 degree feedback Odoo, performance management Odoo 16, HR review cycle, appraisal templates, performance rating scale, multi-company HR Odoo, audit logged appraisals, Odoo HR platform, employee performance review software, goal weighting, ERP Heritage HR

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.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo HR, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Consultant Melbourne • LinkedIn

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