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

EH HR Announcement

by ERP Heritage https://erpheritage.com.au
Odoo
v 16.0 Third Party 21
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 1378
Technical Name eh_hr_announcement
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
ERP Heritage . HR Platform

EH HR Announcement

Company announcements, governed and audited.

Free · LGPL-3v 1.0.0LGPL-3v1.0.0
Draft, published, archived workflow
Four categories: policy, event, general, urgent
Audience: company, departments or employees
Pin and expiry controls
Hash-chained tamper-evident audit

Why this module

EH HR Announcement

Governed

A real workflow, not a status field

Each announcement moves through draft, published, archived and cancelled states defined as data in the platform workflow engine. Publish, archive and cancel are restricted to the HR officer group, final states block any further transition, and every move is tracked on the chatter.

Provable

Tamper-evident audit on every change

State, title, category, dates, audience and pin changes are written to an append-only, sha256 hash-chained audit log shared across the platform. Appends are serialized with a Postgres advisory lock and the chain can be verified on demand, so an edited record shows up.

Targeted

Right notice, right audience

Aim an announcement at the whole company, selected departments or named employees. The reached audience and a head count are resolved automatically from that choice, and the whole-company option is scoped to the announcement's own company.

Day in the life

From draft notice to audited record

An HR officer opens a new announcement, which auto-numbers itself ANN/2026/00001 and lands in draft. They write the headline and body, set the category to policy, pick selected departments as the audience and watch the reached head count fill in. Publish moves it to published, the publish date governs when it counts as live, and an optional expiry date stops it counting as live afterwards. A pin keeps the most important notice at the top of the list. When the message is no longer current, Archive closes it. Every step, the state change, the date, the audience, lands in the hash-chained audit log, so months later anyone can show exactly who published what and when, and prove the record was never quietly edited.

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.

Audit immutability

Audit rows are append-only and sha256 hash-chained: each row hashes the previous row's hash plus its own fields, so any after-the-fact edit breaks the chain and is caught by verify_chain.

Concurrency

Chain appends are serialized with a transaction-scoped Postgres advisory lock, so two simultaneous writes cannot read the same tail and fork the audit chain.

Multi-company

company_id is required and defaults to the current company; writing a record into a company the user does not belong to is rejected, and any audited cross-company override is itself logged.

Final-state guard

Archived and cancelled are marked final, so the engine refuses any further transition out of them even if a misconfigured definition declared one.

Idempotent numbering

The ANN reference is assigned once from the sequence on create and is read-only and non-copyable, so duplicating an announcement never reuses or collides a reference.

Live window

is_live is computed from state plus the publish and expiry dates, so a published announcement before its publish date or past its expiry date correctly reports as not live.

What is inside

Built to do the job, end to end.

  • Model it adds. One model, eh.hr.announcement, with title, body, category, publish and expiry dates, pin flag, audience selector, department and employee targets, and computed audience and live fields. It adds no parallel tables to standard HR.
  • Workflow as data. A workflow definition with draft, published, archived and cancelled states and publish, archive and cancel transitions, all loaded as data and gated to the HR officer group. Buttons on the form call the matching transition.
  • Shared platform engines. Inherits the workflow, audited and company-aware mixins plus mail.thread, so the state machine, the hash-chained audit trail and strict company scoping come from the platform, not from code duplicated here.
  • Security and numbering. Four access tiers (admin, officer, manager, self-service read) and a company-independent ANN/year sequence with five-digit padding. Tests cover defaults, the publish and archive path, cancel, audience resolution and the live window.

Honest about the edges

What this does not do, so nothing surprises you.

  • This module records and governs announcements inside Odoo. It does not send email, push notifications or chat messages to the targeted audience; the audience and head count are resolved for visibility and reporting, not for delivery.
  • There is no scheduled job. The expiry date drives the computed live flag in real time but does not auto-archive the record; archiving is a manual workflow action.
  • The announcement workflow ships without approval gating, so publish, archive and cancel are direct transitions restricted to the HR officer group rather than multi-step approval chains.
  • It depends on eh_hr_core, eh_hr_compat and eh_hr_engine_workflow, which install automatically with it, plus standard Odoo hr.
  • Targeting uses standard hr.department and hr.employee records; there is no portal or website front end for employees to browse announcements.
Search

odoo hr announcement, company announcement odoo, employee communication odoo, hr notice board, policy announcement workflow, department targeted announcement, pinned announcements odoo, hash chained audit log, multi company hr odoo, odoo 16 community hr, self hosted hr platform, tamper evident audit trail

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 Customisation Services • 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