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
    • Estate 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
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

How to create Salary rules?

Subscribe

Get notified when there's activity on this post

This question has been flagged
pythonhr_payrollrules
2 Replies
13143 Views
Avatar
priyankahdp

How to create q salary rule when worker works in holiday (1st of may,25 december) and we need to pay salary x 1.5?

WE also need to pay bonus when he worked preceding 3months with more than 75% attendance.

Can we create such rules or do we need to write method in Python ?

2
Avatar
Discard
Cheikh Diop

<record id="extra_hr_salaire_hs" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">heure supplémentaire</field>
<field name="code">STAR0002</field>
<field name="appears_on_payslip">True</field>
<field name="sequence">00002</field>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">if worked_days.number_of_days > 30:
result = contract.wage + contract.wage * (worked_days.number_of_days-30) /100
else:
result = contract.wage </field>

Avatar
Cheikh Diop
Best Answer

A partire des regel salarial , chaque models possede un ligne de communication sur l'autre models
# Available variables:
#----------------------
# payslip: object containing the payslips
# employee: hr.employee object
# contract: hr.contract object
# rules: object containing the rules code (previously computed)
# categories: object containing the computed salary rule categories (sum of amount of all rules belonging to that category).
# worked_days: object containing the computed worked days.
# inputs: object containing the computed inputs.


# Note: returned value have to be set in the variable 'result'


result = contract.wage * 0.10





record go here 

0
Avatar
Discard
Cheikh Diop

<record id="extra_hr_salaire_hs" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">heure supplémentaire</field>
<field name="code">STAR0002</field>
<field name="appears_on_payslip">True</field>
<field name="sequence">00002</field>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">if worked_days.number_of_days > 30:
result = contract.wage + contract.wage * (worked_days.number_of_days-30) /100
else:
result = contract.wage </field>

Avatar
Mario Arias Badila
Best Answer

You need to go with a new module.

One way to do this is inherit from hr.payslip, and patch the method get_inputs so that you go over employees attendance, check if worked on holidays and his attendance records and create inputs for them.

class hr_payslip(osv.osv):
    '''
    Pay Slip
    '''
    _inherit = 'hr.payslip'

    def get_inputs(self, cr, uid, contract_ids, date_from, date_to, context=None):
        res = super(hr_payslip, self).get_inputs(cr, uid, contract_ids, date_from, date_to, context=context)
        contract_obj = self.pool.get('hr.contract')

        for contract in contract_obj.browse(cr, uid, contract_ids, context=context):

            """
               Your code here to find out if emplooyee has more than 75% attendance.
               Suppose you set a flag called 'good_attendance'
            """
            input = {
                 'name': 'Attendance over 75 percent',
                 'code': 'ATTENDANCE_OVER_75',
                 'contract_id': contract.id,
                 'amount': good_attendance,
            }
            res += [input]

        return res

Then you create a rule that checks for ATTENDANCE_OVER_75 input and adds a bonus if true...

Similar will be for checking if employee worked on holidays...

0
Avatar
Discard
priyankahdp
Author

daily attendace how to entered.?seems no modules to capture employee;'s come or not.!

i got only leave management views

Mario Arias Badila

Check http://doc.openerp.com/v6.1/book/4/4_11_HR/4_11_HR_timesheet.html It explains time sheets and attendance management

priyankahdp
Author

Thanks Mario

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Payroll rules with dates
python code hr_payroll rules
Avatar
Avatar
2
Mar 15
8082
Record rules on same object with different CRUD options?
python rules
Avatar
0
Feb 17
5686
How to sum previous payroll rule categories in Odoo 17
python payroll hr_payroll rules odoo17
Avatar
Avatar
1
Nov 24
2403
Payroll Goal seek function
python hr_payroll excel
Avatar
Avatar
1
May 22
2757
HR Payroll Pay Roll - Python Rules.
python employee hr_payroll age
Avatar
1
Jun 15
7053
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
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

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

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now