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
      • 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
  3. Odoo 16 Payroll v 16.0
  4. Sales Conditions FAQ

Odoo 16 Payroll

by Cybrosys Techno Solutions https://www.openhrms.com
Odoo 8
v 16.0 Third Party 13507
Download for v 16.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Employee Contracts (hr_contract)
• Time Off (hr_holidays)
• Employees (hr)
• Discuss (mail)
• Calendar (calendar)
Community Apps Dependencies Show
Odoo16 Employee Contracts Types
Lines of code 2694
Technical Name hr_payroll_community
LicenseAGPL-3
Websitehttps://www.cybrosys.com
Versions 13.0 14.0 15.0 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 • Employee Contracts (hr_contract)
• Time Off (hr_holidays)
• Employees (hr)
• Discuss (mail)
• Calendar (calendar)
Community Apps Dependencies Show
Odoo16 Employee Contracts Types
Lines of code 2694
Technical Name hr_payroll_community
LicenseAGPL-3
Websitehttps://www.cybrosys.com
Versions 13.0 14.0 15.0 16.0 17.0 18.0 19.0
Community

Odoo 16 Payroll

Managing employee salary in your organization

Explore This Module

Overview Learn more about this module
Features View features of this module
Screenshots View screenshots for this module

Overview

Payroll management revolves in and around the management of employee salary in an organization. The management includes timely issuance of salary, employee benefits/ allowances, deducting employee loan amount and so on.

Features

Salary Rules
Salary Structure
Employee Pay Slips

Screenshots

Salary Rule Categories

Salary Rules

Salary Structures

Employee Payslips

Send Payslip through Email

Refund after confirmation

Generate Payslip

Related Products

Our Services

Odoo Customization
Odoo Implementation
Odoo Support
Hire Odoo Developer
Odoo Integration
Odoo Migration
Odoo Consultancy
Odoo Implementation
Odoo Licensing Consultancy

Our Industries

Trading

Easily procure and sell your products

POS

Easy configuration and convivial experience

Education

A platform for educational management

Manufacturing

Plan, track and schedule your operations

E-commerce & Website

Mobile friendly, awe-inspiring product pages

Service Management

Keep track of services and invoice

Restaurant

Run your bar or restaurant methodically

Hotel Management

An all-inclusive hotel management application

Support

Need Help?

Got questions or need help? Get in touch.

odoo@cybrosys.com

WhatsApp

Say hi to us on WhatsApp!

+91 86068 27707

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.
Please choose a rating from 1 to 5 for this module.
  • Ratings
  • Discuss
Great Module - how to create hourly based wage?
by
Tom Lanbacher
on 9/24/25, 4:01 AM

Great Module - how to create hourly based wage? Is this possible?

Re: Great Module - how to create hourly based wage?
by
Cybrosys Technologies
on 10/14/25, 3:25 AM Author

Yes, it’s possible to create an hourly-based wage setup. However, this cannot be done using the hr_payroll_community module. Instead, it can be achieved through the hr_hourly_payslip module.

https://apps.odoo.com/apps/modules/16.0/hr_hourly_payslip

To configure hourly-based wages:

  1. Enable the Hourly Payslip field in the employee’s contract.
  2. Enter the Wage per Hour for the employee.
  3. The hourly wage will then be calculated based on the employee’s attendance records.
  4. When you generate a payslip, it will display the Total Worked Hours and the corresponding Salary Slip for the selected period.

Cannot install the module
by
Magi
on 3/17/25, 10:57 PM
File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/res_users.py", line 1407, in write
    res = super(UsersImplied, self).write(values)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/res_users.py", line 705, in write
    internal_users.write({'groups_id': [Command.link(gid) for gid in added_groups.ids]})
  File "/Users/odoo_dev/Odoo16/odoo/JASINDO/ab_base/models/res_users.py", line 38, in write
    if self.id not in group.users.ids:
  File "/Users/odoo_dev/Odoo16/odoo/odoo/fields.py", line 5101, in __get__
    raise ValueError("Expected singleton: %s" % record)
ValueError: Expected singleton: res.users(154, 2, 84, 100, 59, 120, 51, 137, 63, 151, 126, 132, 66, 155, 40, 52, 41, 146, 62, 64, 115, 56, 72, 152, 42, 65, 148, 61, 53, 125, 75, 99, 87, 54, 109, 88, 68, 110, 113, 58, 57, 46, 70, 69, 147, 133, 60, 67, 145, 131, 149, 142)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 1653, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 1681, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 1885, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 734, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/Users/odoo_dev/Odoo16/odoo/addons/web/controllers/dataset.py", line 46, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-77>", line 2, in button_immediate_install
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
    return method(self, *args, **kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_module.py", line 478, in button_immediate_install
    return self._button_immediate_function(self.env.registry[self._name].button_install)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_module.py", line 602, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "<decorator-gen-16>", line 2, in new
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 489, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 373, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 232, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 72, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 763, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 829, in convert_xml_import
    obj.parse(doc.getroot())
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 749, in parse
    self._tag_root(de)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 698, in _tag_root
    f(rec)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 711, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /Users/odoo_dev/Odoo16/odoo/JASINDO/hr_payroll_community/security/hr_payroll_security.xml:24, somewhere inside
<record id="base.default_user" model="res.users">
        <field name="groups_id" eval="[(4,ref('hr_payroll_community.group_hr_payroll_community_manager'))]"/>
    </record>

After change base.default_user to base.user_admin the error become

File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 72, in load_data

    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 763, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 829, in convert_xml_import

    obj.parse(doc.getroot())

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 749, in parse

    self._tag_root(de)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 698, in _tag_root

    f(rec)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 711, in _tag_root

    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (

odoo.tools.convert.ParseError: while parsing /Users/odoo_dev/Odoo16/odoo/JASINDO/hr_payroll_community/data/hr_payroll_data.xml:180, somewhere inside

<record forcecreate="True" id="decimal_payroll" model="decimal.precision">

            <field name="name">Payroll</field>

            <field name="digits">2</field>

        </record>

Re: Cannot install the module
by
Cybrosys Technologies
on 3/24/25, 2:09 AM Author

The logs show that the singleton error originates from another module(ab_base), which is affecting this module. You should check the ab_base module.


Payslips Batches - Bulk Validate
by
Nasser Tahan
on 11/8/23, 3:41 AM

The module is great and covers everything, but one major issue is that "payslips batches" can't be validated in bulk. It would be great to add such a feature

Re: Payslips Batches - Bulk Validate
by
Cybrosys Technologies
on 12/11/23, 12:52 AM Author

Thanks for reporting. The module is updated with the option to validate payslips batches in bulk. Please check the latest version.


The package is awesome but i missing something
by
Eslam Saber
on 10/25/23, 3:37 PM

how to set shift price and pay workers per shift or enter the number of actual shifts they attended.

thanks a lot

Re: The package is awesome but i missing something
by
Cybrosys Technologies
on 12/8/23, 5:44 AM Author

The app does not currently have the feature to set shift prices for workers.


Dear all, I have a when Generate Payslip for employee. When Employee creates two leave with two time off types in a day, For example: A leave with time off types is paid time off from 8:00am to 10:00am Another leave from 10:00am to 13:00am with time off type is sick time off. Both vacations are for 1 day When Generate Payslips for that employee, there is ValueError: Expected singleton: hr.leave.type(1, 7) Please hepl me! Thank you.
by
James Nguyen
on 7/13/23, 9:08 PM
 File "/home/developer/Desktop/tvs_project/odoo16_base_addons/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/api.py", line 461, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/api.py", line 448, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/developer/Desktop/tvs_project/third_app/hr_payroll_community/wizard/hr_payroll_payslips_by_employees.py", line 13, in compute_sheet
    slip_data = self.env['hr.payslip'].onchange_employee_id(from_date, to_date, employee.id, contract_id=False)
  File "/home/developer/Desktop/tvs_project/third_app/hr_payroll_community/models/hr_payslip.py", line 402, in onchange_employee_id
    worked_days_line_ids = self.get_worked_day_lines(contracts, date_from, date_to)
  File "/home/developer/Desktop/tvs_project/third_app/hr_payroll_community/models/hr_payslip.py", line 275, in get_worked_day_lines
    'name': holiday.holiday_status_id.name or _('Global Leaves'),
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/fields.py", line 1132, in __get__
    record.ensure_one()
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/models.py", line 5119, in ensure_one
    raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: hr.leave.type(1, 7)


Re: Dear all, I have a when Generate Payslip for employee. When Employee creates two leave with two time off types in a day, For example: A leave with time off types is paid time off from 8:00am to 10:00am Another leave from 10:00am to 13:00am with time off type is sick time off. Both vacations are for 1 day When Generate Payslips for that employee, there is ValueError: Expected singleton: hr.leave.type(1, 7) Please hepl me! Thank you.
by
Cybrosys Technologies
on 7/26/23, 1:30 AM Author

We have updated the module. Please download the latest version


send email button is not available.
by
Rakesh Kumar
on 5/5/23, 8:40 AM

we are not able to send paylips via email as send button is not visible in your version 16, also once a salary is confirmed then we are not able to cancel it. 


Re: send email button is not available.
by
Cybrosys Technologies
on 5/16/23, 8:53 AM Author

Thanks for reporting. We have updated the module.


by
Hajaj Roshan
on 10/20/22, 5:35 AM



by
sarathi87@gmail.com
on 7/22/25, 2:28 PM

when automatically put unpaid in timeoff its not reflected in payroll ???

Re:
by
Cybrosys Technologies
on 8/6/25, 7:27 AM Author

Thank you for your feedback. We’ve checked the module’s workflow and confirmed that this functionality is not currently included. We are working on adding this feature to the module and will inform you once the updated version is published on the Odoo App Store.


Cannot install the module
by
Magi
on 3/17/25, 10:56 PM
File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/res_users.py", line 1407, in write
    res = super(UsersImplied, self).write(values)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/res_users.py", line 705, in write
    internal_users.write({'groups_id': [Command.link(gid) for gid in added_groups.ids]})
  File "/Users/odoo_dev/Odoo16/odoo/JASINDO/ab_base/models/res_users.py", line 38, in write
    if self.id not in group.users.ids:
  File "/Users/odoo_dev/Odoo16/odoo/odoo/fields.py", line 5101, in __get__
    raise ValueError("Expected singleton: %s" % record)
ValueError: Expected singleton: res.users(154, 2, 84, 100, 59, 120, 51, 137, 63, 151, 126, 132, 66, 155, 40, 52, 41, 146, 62, 64, 115, 56, 72, 152, 42, 65, 148, 61, 53, 125, 75, 99, 87, 54, 109, 88, 68, 110, 113, 58, 57, 46, 70, 69, 147, 133, 60, 67, 145, 131, 149, 142)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 1653, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 1681, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 1885, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/http.py", line 734, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/Users/odoo_dev/Odoo16/odoo/addons/web/controllers/dataset.py", line 46, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-77>", line 2, in button_immediate_install
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
    return method(self, *args, **kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_module.py", line 478, in button_immediate_install
    return self._button_immediate_function(self.env.registry[self._name].button_install)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/addons/base/models/ir_module.py", line 602, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "<decorator-gen-16>", line 2, in new
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 489, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 373, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 232, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 72, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 763, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 829, in convert_xml_import
    obj.parse(doc.getroot())
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 749, in parse
    self._tag_root(de)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 698, in _tag_root
    f(rec)
  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 711, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /Users/odoo_dev/Odoo16/odoo/JASINDO/hr_payroll_community/security/hr_payroll_security.xml:24, somewhere inside
<record id="base.default_user" model="res.users">
        <field name="groups_id" eval="[(4,ref('hr_payroll_community.group_hr_payroll_community_manager'))]"/>
    </record>

After change base.default_user to base.user_admin the error become

File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 72, in load_data

    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 763, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 829, in convert_xml_import

    obj.parse(doc.getroot())

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 749, in parse

    self._tag_root(de)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 698, in _tag_root

    f(rec)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 711, in _tag_root

    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (

odoo.tools.convert.ParseError: while parsing /Users/odoo_dev/Odoo16/odoo/JASINDO/hr_payroll_community/data/hr_payroll_data.xml:180, somewhere inside

<record forcecreate="True" id="decimal_payroll" model="decimal.precision">

            <field name="name">Payroll</field>

            <field name="digits">2</field>

        </record>




I cannot install your module, this the following error
by
Magi
on 3/17/25, 10:36 PM

File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 749, in parse self._tag_root(de) File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 698, in _tag_root f(rec) File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 711, in _tag_root raise ParseError('while parsing %s:%s, somewhere inside\n%s' % ( odoo.tools.convert.ParseError: while parsing /Users/odoo_dev/Odoo16/odoo/JASINDO/hr_payroll_community/security/hr_payroll_security.xml:24, somewhere inside <record id="base.default_user" model="res.users"> <field name="groups_id" eval="[(4,ref('hr_payroll_community.group_hr_payroll_community_manager'))]"/> </record> The above server error caused the following client error: RPC_ERROR: Odoo Server Error RPC_ERROR at makeErrorFromResponse (http://localhost:8069/web/assets/21525-e6df796/web.assets_backend.min.js:1002:163) at XMLHttpRequest.<anonymous> (http://localhost:8069/web/assets/21525-e6df796/web.assets_backend.min.js:1010:13)



File "/Users/odoo_dev/Odoo16/odoo/odoo/modules/loading.py", line 72, in load_data

    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 763, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 829, in convert_xml_import

    obj.parse(doc.getroot())

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 749, in parse

    self._tag_root(de)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 698, in _tag_root

    f(rec)

  File "/Users/odoo_dev/Odoo16/odoo/odoo/tools/convert.py", line 711, in _tag_root

    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (

odoo.tools.convert.ParseError: while parsing /Users/odoo_dev/Odoo16/odoo/JASINDO/hr_payroll_community/data/hr_payroll_data.xml:180, somewhere inside

<record forcecreate="True" id="decimal_payroll" model="decimal.precision">

            <field name="name">Payroll</field>

            <field name="digits">2</field>

        </record>


by
Luis Grijalva
on 10/4/23, 2:54 PM

Had to deactivate  matplot cause this error that broke the server:

"Loading module hr_payroll_community (99/211) 

2023-10-04 18:40:23,356 4055 CRITICAL dbaseservername odoo.modules.module: Couldn't load module hr_payroll_community 

2023-10-04 18:40:23,356 4055 CRITICAL dbaseservername odoo.modules.module: cannot import name 'seconds' from 'matplotlib.dates' (/odoo16/odoo16-server/venv/lib/python3.10/site-packages/matplotlib/dates.py) 

2023-10-04 18:40:23,357 4055 WARNING dbaseservername odoo.modules.loading: Transient module states were reset 

2023-10-04 18:40:23,357 4055 ERROR dbaseservername odoo.modules.registry: Failed to load registry 

2023-10-04 18:40:23,357 4055 ERROR dbaseservername odoo.http: Exception during request handling. "

Luis G

Re:
by
Cybrosys Technologies
on 10/9/23, 1:52 AM Author

Hello Luis, Thanks for reporting. We have updated the app.


by
Luis Grijalva
on 10/3/23, 9:24 PM

last update broke the server

"Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application."

"DEBUG databasename odoo.modules.loading: Loading module hr_payroll_community (98/210) 

2023-10-04 01:22:09,191 440608 CRITICAL databasename odoo.modules.module: Couldn't load module hr_payroll_community 

2023-10-04 01:22:09,191 440608 CRITICAL databasename odoo.modules.module: cannot import name 'seconds' from 'matplotlib.dates' (/odoo16/odoo16-server/venv/lib/python3.10/site-packages/matplotlib/dates.py) 

2023-10-04 01:22:09,192 440608 WARNING databasename odoo.modules.loading: Transient module states were reset 

2023-10-04 01:22:09,192 440608 ERROR databasename odoo.modules.registry: Failed to load registry 

2023-10-04 01:22:09,192 440608 ERROR databasename odoo.http: Exception during request handling. "


Luis G


Re:
by
Cybrosys Technologies
on 10/9/23, 1:53 AM Author

Hello Luis, Thanks for reporting. We have updated the app.


by
James Nguyen
on 7/13/23, 9:08 PM



Dear all, I have a when Generate Payslip for employee. When Employee creates two leave with two time off types in a day, For example: A leave with time off types is paid time off from 8:00am to 10:00am Another leave from 10:00am to 13:00am with time off type is sick time off. Both vacations are for 1 day When Generate Payslips for that employee, there is ValueError: Expected singleton: hr.leave.type(1, 7) Please hepl me! Thank you.
by
SSG
on 7/11/23, 9:24 PM

 File "/home/developer/Desktop/tvs_project/odoo16_base_addons/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/api.py", line 461, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/api.py", line 448, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/developer/Desktop/tvs_project/third_app/hr_payroll_community/wizard/hr_payroll_payslips_by_employees.py", line 13, in compute_sheet
    slip_data = self.env['hr.payslip'].onchange_employee_id(from_date, to_date, employee.id, contract_id=False)
  File "/home/developer/Desktop/tvs_project/third_app/hr_payroll_community/models/hr_payslip.py", line 402, in onchange_employee_id
    worked_days_line_ids = self.get_worked_day_lines(contracts, date_from, date_to)
  File "/home/developer/Desktop/tvs_project/third_app/hr_payroll_community/models/hr_payslip.py", line 275, in get_worked_day_lines
    'name': holiday.holiday_status_id.name or _('Global Leaves'),
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/fields.py", line 1132, in __get__
    record.ensure_one()
  File "/home/developer/Desktop/tvs_project/odoo16_base_addons/odoo/models.py", line 5119, in ensure_one
    raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: hr.leave.type(1, 7)



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