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

EH HR Payroll Links

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 16.0 Third Party 10
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)
• Attendances (hr_attendance)
Community Apps Dependencies Show
• EH HR Gratuity
• EH HR Loan
• EH HR Overtime
• EH HR Payroll
• EH HR Salary Advance
• EH HR Compatibility
• EH HR Platform Core
• EH HR Workflow Engine
• EH HR Attendance Pro
• EH HR Approval Engine
• EH HR Notify Engine
• EH HR Policy Engine
Lines of code 7321
Technical Name eh_hr_payroll_link
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
Payroll integration bridge

HR Payroll Links

Loans, advances, overtime and gratuity reach the payslip automatically, once and only once.

Free · LGPL-3Odoo 16Communityv1.0.0
Loan instalment to LOAN deduction
Advance recovery to ADVANCE
Paid overtime to OT_HOURS
Approved gratuity to GRATUITY
Rebuilt on every compute

Why this module

HR Payroll Links

The gap

Requests that never reach pay

Approving a loan, advance, overtime or gratuity request does not move money on its own. Someone still has to read each one and key the amount onto the payslip by hand every period, which is slow and easy to get wrong.

The fix

Feeders that wire into compute

This module overrides the payslip's auto input collection so an instalment due this period, a recovery month that lands in the period, paid and completed overtime, and an approved gratuity each become a coded input line the moment you compute.

The guard

Paid once, marked processed

Inputs are rebuilt fresh on every compute and the source records are flagged processed only when the slip is actually paid, so a recompute never duplicates and a later payslip for the same employee feeds nothing already settled.

Day in the life

Run a monthly cycle without keying a single deduction

Open the payslip and hit compute. The instalment due this month lands as a LOAN deduction, a salary advance whose recovery month falls in the period lands as ADVANCE, the employee's paid and completed overtime hours land as OT_HOURS for a rule to rate, and an approved gratuity lands as GRATUITY. Any manual line you added stays put. You confirm and pay; behind the button the loan instalment is marked paid, the advance recovered, the overtime and gratuity processed. Next month the same compute feeds only what is genuinely outstanding.

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.

Recompute safety

Every compute unlinks the existing automatic inputs and recreates them from the live sources, so recomputing a slip never stacks a second LOAN or ADVANCE line. A test asserts the count is unchanged after a second compute.

Pay-once idempotency

Source records carry processed markers (overtime and gratuity flagged processed, advance flagged recovered, loan instalment flagged paid) set only on pay, so a fresh payslip for the same period afterwards feeds nothing. A test confirms the second slip has no automatic inputs.

Manual inputs untouched

Only lines marked automatic are rebuilt. A manual input you typed onto the slip survives compute unchanged and is never treated as a feeder line.

State gating

Feeders are selective by state: advances must be paid and not yet recovered, overtime must be paid compensation in done state, gratuity must be approved, and loan instalments must be unpaid, so draft or rejected requests are ignored.

Period scoping

Each feeder filters source records to the payslip's own date_from and date_to window for that employee, so amounts land in the correct period and not a neighbouring one.

Hours as quantity

Overtime is fed as a quantity of compensated hours rather than a fixed amount, so your salary rule applies the employee's own rate instead of a frozen figure.

What is inside

Built to do the job, end to end.

  • Four feeders, one hook. A single override of the payslip's automatic input collection appends loan, advance, overtime and gratuity input dictionaries with stable codes LOAN, ADVANCE, OT_HOURS and GRATUITY plus a source tag identifying which feeder produced each line.
  • Processed markers. Adds eh_payslip_processed to overtime and gratuity and eh_payslip_recovered to salary advance, each read-only and not copied, set on pay so the record cannot be fed into a future payslip again.
  • Pay-time settlement. On the paid hook the module reads which sources the slip carried, then marks just those record types processed for the employee and period: loan instalments paid, advance recovered, overtime and gratuity processed.
  • Rule-driven treatment. The module only delivers coded inputs. Your salary structure decides the accounting by referencing inputs.LOAN, inputs.ADVANCE, inputs.OT_HOURS or inputs.GRATUITY in a rule, so a deduction or an allowance is your structure's choice.
  • Pure server wiring. No views, wizards, cron or seed data ship with this bridge. It depends on the payroll engine and the four request modules and adds only the Python that connects them.

Honest about the edges

What this does not do, so nothing surprises you.

  • Targets Odoo 16 Community and depends on eh_hr_payroll plus the eh_hr_loan, eh_hr_overtime, eh_hr_gratuity and eh_hr_salary_advance request modules; it is a bridge, not a standalone payroll.
  • It delivers coded input lines only. You must add rules to your salary structure that reference inputs.LOAN, inputs.ADVANCE, inputs.OT_HOURS and inputs.GRATUITY, otherwise the amounts arrive but are not applied.
  • Overtime is fed as compensated hours; the per-hour rate lives in your salary rule, not in this module.
  • Settlement happens at pay time. Cancelling or reversing a paid slip does not automatically unmark the source records as outstanding.
  • Scoping is by employee and payslip period only. There is no separate multi-company filter, advisory locking, or batch cron layer in this module beyond what the payroll engine itself provides.
Search

Odoo 16 payroll integration, loan deduction payslip, salary advance recovery payroll, overtime pay input, end of service gratuity payroll, payroll input lines, automatic payslip feeders, HR payroll bridge, loan instalment deduction, payslip compute inputs, Odoo HR payroll Community, no double deduction payroll

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