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 Custody v 17.0
  4. Sales Conditions FAQ

EH HR Custody

by ERP Heritage https://erpheritage.com.au
Odoo
v 17.0 Third Party 46
Download for v 17.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 Custody

Company asset custody, assigned and returned on the audited HR Platform engine.

Free · LGPL-3v 1.0.0LGPL-3v1.0.0
Assign and return flow
Overdue asset flag
Condition on return
Asset value tracking
Hash-chained audit

Why this module

EH HR Custody

Workflow as data

Assign, return, cancel without code

The draft to assigned to returned path is a workflow definition, not hard-coded Python. States, order and who may move a record between them are configuration on the shared workflow engine, so an administrator can adjust the flow without a developer.

Tamper-evident

Every custody change is on the audit chain

Holder, asset, dates, condition, value and state changes are written to an append-only, hash-chained audit log. Each row links to the one before it, so an after-the-fact edit is detectable by verifying the chain. The log table is not self-audited and appends are serialized by a Postgres advisory lock.

Strict scoping

Company isolation that does not leak

Custody records are required to carry a company and default to the active one. Moving a record to a company the user does not belong to is refused, even under sudo, unless an explicit override is set and itself audited, so one company cannot see or rewrite another's custody.

Day in the life

From handover to return, on the record

An HR officer raises a custody record for a new laptop, picks the employee, sets an expected return date and an estimated value, and clicks Assign. The record gets an auto-numbered reference and moves to assigned, with the change tracked in the chatter and the audit log. Weeks later the laptop comes back. The officer clicks Return, the system stamps today as the actual return date, and they record the condition as good and add a note. If the return date had passed first, the record would have shown as overdue in the list until it came back. The whole history, who assigned it, who returned it, in what condition, sits on a verifiable audit trail.

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 guard

Once a record reaches Returned or Cancelled it is marked final by the engine, and any further transition is refused even if a misconfigured definition declared one from it. Terminal means terminal.

Return idempotency

The Return action only stamps the actual return date when it is not already set, so re-firing the return path never silently overwrites the real handback date that was recorded the first time.

Audit 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.

Cross-company override is audited

A write that moves a custody record into another company is rejected unless an explicit override context is set, and when it is allowed every affected record id is captured in the audit log, so the elevation is fully reconstructable.

Live overdue, no cron

Overdue is a computed flag derived from the expected and actual return dates at read time, not a nightly batch, so it is always current and there is no scheduled job to fail.

Transition authorization

Assign, return and cancel are restricted to the HR officer group on the transition itself. A user outside the allowed groups is refused at the engine, independently of view-level button visibility.

What is inside

Built to do the job, end to end.

  • Models this module adds. One model, eh.hr.custody, holding the employee, asset name and description, assigned and expected return dates, actual return date, condition on return, return notes, estimated value, a live overdue flag and an auto-generated reference.
  • Workflow it ships. A Custody workflow definition with four states, draft, assigned, returned and cancelled, and three transitions, assign, return and cancel, all loaded as data and all gated to the HR officer group. Returned and cancelled are marked final.
  • Engines it stands on. It owns no workflow or audit code of its own. State movement comes from eh_hr_engine_workflow, the hash-chained audit trail and strict multi-company scoping come from eh_hr_core mixins, and cross-version support comes from eh_hr_compat.
  • What it does not add. No wizard, no scheduled job, and no link to Odoo's equipment or maintenance models. Return is a header button, not a pop-up, and there is no approval chain wired onto custody transitions in this module.

Honest about the edges

What this does not do, so nothing surprises you.

  • Custody is a standalone model. It does not read from or write to Odoo's standard equipment, maintenance or asset registers, so it is a record of who holds what, not an inventory or depreciation system.
  • Custody transitions are not routed through the approval engine in this module. Assign, return and cancel complete immediately for an authorized HR officer rather than waiting on a multi-step sign-off chain.
  • There is no scheduled reminder or escalation job. The overdue flag is computed live for reporting and filtering, but the module does not email holders or managers when an item runs late on its own.
  • Condition on return and return notes are captured for the record. The module does not branch the workflow on a damaged or lost outcome or post any charge or accounting entry from it.
  • Asset value is a single estimated figure for reference. There is no depreciation, revaluation or currency handling on the custody record itself.
Search

odoo 17 employee custody, company asset custody odoo, asset assignment and return, employee asset tracking odoo, hr custody management, overdue asset report odoo, asset value tracking hr, audited custody trail, multi company asset custody, odoo community hr platform, laptop custody tracking odoo, asset handover workflow

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 19
Employment Hero Onboarding

Bring Employment Hero onboarding workflows, employee goals and contractor flags into Odoo Community as real recor...

USD 349
France e-Invoicing

End to end French B2B and B2G electronic invoicing for the DGFiP reform, generating Factur-X PDF/A-3 with embedde...

USD 34
ZainCash Payment Provider

Accept ZainCash wallet payments in Iraq at your Odoo checkout, on the ZainCash Payment Gateway v2 with OAuth2, re...

USD 39
Employment Hero ATS

Sync Employment Hero ATS recruitment job openings into the standard Odoo Recruitment app, mapping each opening on...

USD 9
Employment Hero New Zealand

The New Zealand country pack for the ERP Heritage Employment Hero integration

USD 39
Employment Hero Planning

Sync Employment Hero rosters into Odoo Planning shifts

ERP Heritage

v1.0.0 · LGPL-3 · Odoo 17 Community

Developed by ERP Heritage - Odoo Experts • 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 1352
Technical Name eh_hr_custody
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