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

EH HR Loan

by ERP Heritage https://erpheritage.com.au
Odoo
v 16.0 Third Party 34
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 1421
Technical Name eh_hr_loan
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
Employee loans and advances

EH HR Loan

Employee loans and salary advances with an auto-built repayment schedule, governed by a configurable approval lifecycle and a tamper-evident audit trail.

Free · LGPL-3Odoo 16 CommunityLGPL-3v1.0.0
Loans and advances
Auto repayment schedule
Group-gated approvals
Flat interest
Instalment tracking

Why this module

EH HR Loan

Schedule

Schedule builds itself

On disbursement the engine wipes any draft lines and lays out equal instalments, one per month from the start date, sized to principal plus flat interest. No manual row entry.

Governance

Every step is gated

Submit, approve, disburse, close and refuse are separate transitions, each restricted to its own HR group. Closed and refused are final states the engine refuses to move past.

Evidence

Nothing edits silently

State, employee, amount, rate, instalment count and start date are written to an append-only, sha256 hash-chained audit log that verify_chain can re-check end to end.

Day in the life

From request to paid off

An employee raises a loan for a known principal, instalment count and start date, then submits it. A manager approves or refuses. An HR officer disburses, and at that moment the repayment schedule appears as equal monthly instalments covering principal plus any flat interest. As each instalment is settled the officer marks the line paid, and the total paid and outstanding balance recompute live. When the balance is cleared the officer closes the loan, and the record locks into its final state. Every transition and every change to the key figures lands in the hash-chained audit log, so months later you can prove who approved what, when, and for how much.

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 loan is closed or refused the workflow engine refuses any further transition, even one a misconfigured definition might allow, so settled loans cannot be quietly reopened.

Group enforcement

Each transition checks the acting user against its allowed HR groups before advancing. A self-service employee can submit but not approve, disburse or refuse.

Audit serialization

Audit rows are appended under a Postgres transaction-scoped advisory lock, so concurrent writes cannot fork the hash chain; verify_chain walks the chain and returns the first broken row if anyone tampers.

Cross-company refusal

company_id is required and defaults to the active company. Writing a loan into a company the user does not belong to is rejected, even under sudo, unless an explicitly audited override context is set.

Schedule idempotency

Regenerating the schedule unlinks the previous instalment lines first, so re-running disbursement logic never leaves stale or duplicated rows behind.

Amount constraints

A database CHECK constraint forbids a negative principal and requires a positive instalment count, so a loan cannot be saved with values that would break the schedule maths.

What is inside

Built to do the job, end to end.

  • Loan and instalment models. eh.hr.loan holds principal, flat interest rate, instalment count, start date and reason, with stored computes for total repayable, total paid and outstanding balance. eh.hr.loan.line holds each dated instalment with a paid flag and a Mark paid action.
  • Workflow definition as data. States and transitions ship as eh.hr.workflow.definition records: draft, submitted, approved, disbursed, closed and refused, with submit, approve, disburse, close and refuse transitions. The status bar and buttons derive from this data, so the lifecycle is configurable without code.
  • Audit and company mixins. The model inherits the platform audited and company-aware mixins, giving it the append-only hash-chained audit log, mail thread tracking on key fields, and strict multi-company scoping out of the box.
  • Security, sequence and menu. Access rights for HR admin, officer and self-service groups, a per-year LOAN sequence, and a Loans menu under the HR requests section. Three automated tests cover defaults, interest and the disburse-to-schedule path.

Honest about the edges

What this does not do, so nothing surprises you.

  • No accounting integration. The module posts nothing to journals or payroll; the manifest is explicit that journal posting is a future seam, and there is no dependency on the account module.
  • Interest is flat only. Total repayable is principal times one plus the flat rate; there is no reducing-balance or amortized interest model.
  • Instalments are equal. The schedule spreads the repayable amount evenly across the instalment count from the start date, one per month, with no custom or irregular instalment sizing.
  • Repayment is marked manually. There is no automatic salary deduction or payslip link; an officer marks each instalment paid.
  • The shipped loan workflow uses direct group-gated transitions, not multi-step approval chains. The platform approval engine exists but this module does not flag its transitions as requiring an approval chain.
  • Amounts are tracked in the company currency. There is no per-loan multi-currency handling.
Search

employee loan Odoo 16, HR loan management, salary advance Odoo, loan repayment schedule, instalment tracking, loan approval workflow, employee advance, flat interest loan, HR loan module, multi-company HR loan, loan audit trail, Odoo Community HR, ERP Heritage HR, staff loan management

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