indian Payrol

This commit is contained in:
raman 2025-03-04 15:54:18 +05:30
parent 6667746ba8
commit a5c9784943
125 changed files with 13644 additions and 0 deletions

View File

@ -0,0 +1,4 @@
#-*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models

View File

@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'Time Off in Payslips',
'version': '1.0',
'category': 'Human Resources/Payroll',
'sequence': 95,
'depends': ['hr_contract', 'hr_work_entry_holidays', 'hr_payroll'],
'data': [
'security/hr_payroll_holidays_security.xml',
'views/res_config_settings_views.xml',
'views/hr_leave_views.xml',
'views/hr_allocation_views.xml',
'views/hr_payslip_run_views.xml',
'views/hr_payslip_views.xml',
'data/mail_activity_data.xml',
'data/ir_actions_server_data.xml',
'data/hr_payroll_dashboard_warning_data.xml',
],
'demo': [
'data/demo.xml',
],
'auto_install': True,
'assets': {
'web.assets_backend': [
'hr_payroll_holidays/static/src/**/*',
('remove', 'hr_payroll_holidays/static/src/js/hr_work_entries_gantt.*'),
],
'web.assets_backend_lazy': [
'hr_payroll_holidays/static/src/js/hr_work_entries_gantt.*',
],
},
'license': 'OEEL-1',
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_holidays.hr_holidays_cl_mit_2" model="hr.leave">
<field name="payslip_state">blocked</field>
</record>
<record id="hr_holidays.hr_holidays_sl_qdp" model="hr.leave">
<field name="payslip_state">blocked</field>
</record>
</odoo>

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="hr_payroll_dashboard_warning_leaves_to_defer" model="hr.payroll.dashboard.warning">
<field name="name">Time Off To Defer</field>
<field name="country_id" eval="False"/>
<field name="evaluation_code">
leaves_to_defer = self.env['hr.leave'].search([
('payslip_state', '=', 'blocked'),
('state', '=', 'validate'),
('employee_company_id', 'in', self.env.companies.ids),
])
if leaves_to_defer:
warning_count = len(leaves_to_defer)
warning_action = 'hr_payroll_holidays.hr_leave_action_open_to_defer'
</field>
</record>
<record id="hr_payroll_dashboard_warning_leaves_no_document" model="hr.payroll.dashboard.warning">
<field name="name">Time Off Without Joined Document</field>
<field name="country_id" eval="False"/>
<field name="evaluation_code">
leaves_no_document = self.env['hr.leave'].search([
('state', 'not in', ['refuse', 'validate']),
('leave_type_support_document', '=', True),
('attachment_ids', '=', False),
('employee_company_id', 'in', self.env.companies.ids),
])
if leaves_no_document:
warning_count = len(leaves_no_document)
warning_records = leaves_no_document
</field>
</record>
<record id="hr_payroll_dashboard_warning_leaves_no_allocation" model="hr.payroll.dashboard.warning">
<field name="name">Time Off Not Related To An Allocation</field>
<field name="country_id" eval="False"/>
<field name="evaluation_code">
leaves_no_allocation_ids = []
employees = self.env['hr.employee'].search([('company_id', 'in', self.env.companies.ids)])
consumed_leaves = employees._get_consumed_leaves(leave_types=self.env['hr.leave.type'].search([
('requires_allocation', '=', 'yes'),
('allows_negative', '=', False),
]))[1]
for employee in consumed_leaves:
to_recheck_leaves_per_leave_type = consumed_leaves[employee]
for holiday_status_id in to_recheck_leaves_per_leave_type:
for end_dates in to_recheck_leaves_per_leave_type[holiday_status_id]['excess_days']:
leave_id = to_recheck_leaves_per_leave_type[holiday_status_id]['excess_days'][end_dates]['leave_id']
leaves_no_allocation_ids.append(leave_id)
if leaves_no_allocation_ids:
warning_count = len(leaves_no_allocation_ids)
warning_records = self.env['hr.leave'].search([('id', 'in', leaves_no_allocation_ids)])
</field>
</record>
</data>
</odoo>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="ir_actions_server_report_to_next_month" model="ir.actions.server">
<field name="name">Defer to Next Month</field>
<field name="model_id" ref="hr_holidays.model_hr_leave"/>
<field name="binding_model_id" ref="hr_holidays.model_hr_leave"/>
<field name="binding_view_types">list</field>
<field name="groups_id" eval="[(4, ref('hr_payroll.group_hr_payroll_user'))]"/>
<field name="state">code</field>
<field name="code">
records.action_report_to_next_month()
</field>
</record>
<record id="ir_actions_server_mark_as_reported" model="ir.actions.server">
<field name="name">Mark as deferred</field>
<field name="model_id" ref="hr_holidays.model_hr_leave"/>
<field name="binding_model_id" ref="hr_holidays.model_hr_leave"/>
<field name="binding_view_types">list,form</field>
<field name="groups_id" eval="[(4, ref('hr_payroll.group_hr_payroll_user'))]"/>
<field name="state">code</field>
<field name="code">
records.activity_feedback(['hr_payroll_holidays.mail_activity_data_hr_leave_to_defer'])
</field>
</record>
</data>
</odoo>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="mail_activity_data_hr_leave_to_defer" model="mail.activity.type">
<field name="name">Leave to Defer</field>
<field name="icon">fa-plane</field>
<field name="sequence">100</field>
<field name="res_model">hr.leave</field>
</record>
</data>
</odoo>

View File

@ -0,0 +1,261 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"طريقة رائعة لمتابعة إجازات الموظف المدفوعة والإجازات المرضية وحالة الموافقة."
" "
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "النشاط"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "الشركات"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "تم احتسابه في إيصال الدفع الحالي "
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "تهيئة الإعدادات "
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "التأجيل إلى الشهر التالي "
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "أيام الإجازة المُرحّلة "
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "مدير أيام الإجازة المُرحّلة "
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "كود الموظف "
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "عقد الموظف"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "تركها ليتم ترحيلها "
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "التعيين كمؤجلة "
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "إليكم لوحة بيانات الإجازات. "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"لا توجد قيود عمل حضور كافية لإعداد تقرير حول الإجازة %s. يرجى جعل العملية "
"يدوية "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "يمكن التبليغ فقط عن إجازات الموظفين لتأجيلها إلى الشهر التالي "
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "إيصال الدفع "
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "حالة إيصال الدفع "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "يرجى إنشاء قيد العمل لـ %s يدوياً "
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "تأجيل الإجازة بعد تصديق إيصال الدفع "
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "التقرير للشهر التالي "
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "المسؤول "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"قيود العمل للشهر التالي لم يتم إنشاؤها بعد أو قد تم تصديقها بالفعل للإجازة "
"%s "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"تم تصديق راتب هذا الشهر بالفعل مع تضمين هذا اليوم. إذا كنت بحاجة إلى "
"التعديل، يرجى التواصل مع قسم الموارد البشرية. "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "لا يمكن التبليغ عن الإجازة %s لأنها محددة قبل أكثر من شهرين 2 "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "لا توجد قيود عمل مرتبطة بهذه الإجازة لكتابة تقرير عنها "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"هناك بعض أيام إجازة لترحيلها لهؤلاء الموظفين: \n"
"\n"
"%s "
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "الإجازات "
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "الإجازة غير متعلقة بتخصيص "
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "أيام الإجازة لترحيلها "
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "الإجازة دون المستند المشترك "
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "أيام الإجازة لترحيلها "
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "أيام الإجازة لإعداد تقرير عنها "
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "للترحيل "
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "لاحتسابها في إيصال الدفع القادم "
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "لترحيلها إلى إيصال الدفع القادم "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "أيام الإجازة المصدقة لترحيلها "
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "لديك بعض "
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "لديك بعض <button>الإجازات</button> لترحيلها إلى الشهر القادم. "
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "أيام الإجازة "
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "لترحيلها إلى الشهر القادم "

View File

@ -0,0 +1,255 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Petko Karamotchev, 2024
# Георги Пехливанов <sonaris@gmail.com>, 2024
# Albena Mincheva <albena_vicheva@abv.bg>, 2024
# KeyVillage, 2024
# Ивайло Малинов <iv.malinov@gmail.com>, 2024
# Elena Varbanova, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Elena Varbanova, 2024\n"
"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Дейност"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Фирми"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Конфигурационни настройки"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Договор на служителя"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Фиш заплата"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Отговорен"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Почивка"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "почивка"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,268 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Martin Trigaux, 2024
# Quim - eccit <quim@eccit.com>, 2024
# Manel Fernandez Ramirez <manelfera@outlook.com>, 2024
# Josep Anton Belchi, 2024
# Iván Infantes Castarnado, 2024
# Ivan Espinola, 2024
# Óscar Fonseca <tecnico@pyming.com>, 2024
# marcescu, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: marcescu, 2024\n"
"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"La millor manera de seguir el seu permís pagat, dies de malalties i altres "
"sol·licituds d'aprovació."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Activitat"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Empreses"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calculat en la nòmina actual"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Paràmetres de configuració"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Ajorna al mes següent"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Temps lliure diferit"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Gestor de temps lliure diferit"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contracte de l'empleat"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Permís d'ajornament"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Marca com a diferit"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Coneix el tauler de control de temps lliure."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"No hi ha prou entrades de treball d'assistència per a informar del temps "
"d'espera %s. Feu l'operació manualment"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "Només es pot informar d'un empleat de temps lliure al mes següent"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Nómina"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Estat de la nòmina"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Creeu manualment l'entrada de treball per a %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Ajornar el temps lliure després de la validació de la nòmina"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Informa al mes següent"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsable"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Les prestacions del mes vinent encara no s'han generat o ja han estat "
"validades per l'absència %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"L'Absència %s no es pot ajornar perquè està establert per a més de 2 mesos."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
"No hi ha entrades de treball vinculades a aquest temps lliure a l'informe"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"A aquests empleats els queda algun temps lliure per ajornar: \n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Absències"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Temps d'ajornament"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Temps d'espera sense un document unit"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Temps lliure per a ajornar"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Temps lliure per a informar"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Ajornar"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "A computar en la pròxima nòmina"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Ajornar a la següent nòmina"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Temps lliure validat per a ajornar"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Vostè té alguns"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "temps lliure"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "ajornar fins el mes vinent."

View File

@ -0,0 +1,254 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Skvělý způsob, jak sledovat PTO zaměstnanců, dny nemoci a stav schválení."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Aktivita"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Společnosti"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Konfigurační nastavení"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Odložené volno"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Správce odloženého volna"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Zaměstnanecká smlouva"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Povolení odkladu"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Seznamte se s dashboardem dovolených."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Výplatní páska"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Odložení volna po ověření výplatní pásky"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Odpovědný"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Těmto zaměstnancům zbývá určitá část volna k odložení: \n"
"\n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Volno"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Volno k odložení"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Volné dny k vykázání"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "K odložení"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Máte nějaké"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "volno"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "odložit na příští měsíc."

View File

@ -0,0 +1,267 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Eine gute Möglichkeit, den Überblick über die Urlaubstage und Krankheitstage"
" der Mitarbeiter und den Genehmigungsstatus zu behalten."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Aktivität"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Unternehmen"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Berechnet in der aktuellen Gehaltsabrechnung"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Konfigurationseinstellungen"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Auf nächsten Monat verschieben"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Freistellungen"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Manager für Freistellungen"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Mitarbeitercode"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Arbeitsvertrag"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Zu verschiebender Urlaub"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Als verschoben markieren"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Willkommen auf dem Abwesenheitsdashboard."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Nicht genügend Anwesenheitseinträge, um die Abwesenheit %s auf den nächsten "
"Monat zu übertragen. Bitte nehmen Sie den Vorgang manuell vor."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Nur eine zu verschiebende Abwesenheit kann auf den nächsten Monat übertragen"
" werden."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Gehaltsabrechnung"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Status der Gehaltsabrechnung"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Bitte erstellen Sie den Arbeitseintrag für %s manuell"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Abwesenheit nach der Validierung der Gehaltsabrechnung aufschieben"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Auf nächsten Monat übertragen"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Verantwortlich"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Die Arbeitseinträge des nächsten Monats wurden noch nicht erstellt oder "
"wurden bereits für die Abwesenheit %s validiert"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Die Bezahlung des Monats ist bereits mit diesem Tag validiert. Wenn Sie eine"
" Anpassung benötigen, wenden Sie sich bitte an die Personalabteilung."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Die Abwesenheit %s kann nicht übertragen werden, weil sie über mehr als 2 "
"Monate festgelegt ist"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
"Es gibt keine mit diesem Abwesenheitsbericht verknüpften Arbeitseinträge"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Für diese Mitarbeiter gibt es noch einige verbleibende Abwesenheiten, die aufgeschoben werden können: \n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Abwesenheiten"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Abwesenheit nicht mit einem Urlaubsanspruch verknüpft"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Aufzuschiebende Abwesenheit"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Abwesenheit ohne beigefügtes Dokument"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Zu verschiebende Abwesenheit"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Zu übertragende Abwesenheit"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Zu verschieben"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "In nächster Gehaltsabrechnung zu berechnen"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "In nächste Gehaltsabrechnung zu verschieben"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Validierte, zu verschiebende Abwesenheit"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Sie haben einige"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Sie haben einige auf den nächsten Monat aufzuschiebene "
"<button>Abwesenheiten</button>."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "Abwesenheiten"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ", die in den nächsten Monat verschieben werden können."

View File

@ -0,0 +1,265 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Una excelente manera de realizar un seguimiento de las ausencias pagadas de "
"los empleados, los permisos por enfermedad y su estado de aprobación."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Actividad"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Compañías"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calculado en el recibo de nómina actual"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Ajustes de configuración"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Aplazar al próximo mes"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Ausencias aplazadas"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Gerente de ausencias aplazadas"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Código del empleado"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contrato del empleado"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Permiso a aplazar"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Marcar como aplazado"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Conozca el tablero de ausencias."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"No hay suficientes entradas de trabajo de asistencia para trasladar la "
"ausencia %s. Por favor, realice la operación manualmente"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Sólo la ausencia de un empleado para aplazar puede ser traslada al próximo "
"mes."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Recibo de nómina"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Estado del recibo de nómina"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Cree la entrada de trabajo para %s manualmente."
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
"Posponer las ausencias a después de la validación del recibo de nómina"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Trasladar al próximo mes"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsable"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Aún no se generan las entradas de trabajo del próximo mes o ya se validaron "
"para la ausencia %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"El pago del mes ya está validado e incluye este día. Si necesita "
"modificarlo, consulte a RR. HH."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"La ausencia %s no se puede trasladar porque se define en más de 2 meses "
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "No hay entradas de trabajo vinculadas a esta ausencia para trasladar"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Hay ausencias restantes por aplazar para estos empleados: \n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Ausencias"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Ausencia no relacionada con una asignación"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Ausencia a aplazar"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Ausencia sin documento unido"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Ausencia a aplazar"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Ausencia a trasladar"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "A aplazar"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Para calcular en el siguiente recibo de nómina"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "A aplazar en el siguiente recibo de nómina"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Ausencia validada a aplazar"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Tiene"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "Tiene algunas <button>ausencias</button> para aplazar al próximo mes."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "ausencias"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "para aplazar al próximo mes."

View File

@ -0,0 +1,269 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: es_419\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Una excelente manera de monitorear el tiempo personal pagado de los "
"empleados, los permisos por enfermedad y el estado de aprobación."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Actividad"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Empresas"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calculado en el recibo de nómina actual"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Ajustes de configuración"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Diferir al próximo mes"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Tiempo personal diferido"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Gerente de tiempo personal diferido"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Código del empleado"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contrato del empleado"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Permiso por diferir"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Marcar como diferido"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Conozca el tablero de tiempo personal"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"No hay suficientes entradas de trabajo de asistencia para reportar el tiempo"
" personal %s. Haga la operación de forma manual."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Solo se puede reportar al siguiente mes un tiempo personal diferido de un "
"empleado."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Recibo de nómina"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Estado del recibo de nómina"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Cree la entrada de trabajo para %s de forma manual."
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
"Posponer el tiempo personal a después de la validación del recibo de nómina"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Reportar al próximo mes"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsable"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Aún no se generan las entradas de trabajo del próximo mes o ya se validaron "
"para tiempo personal %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"El pago del mes ya está validado e incluye este día. Si necesita "
"modificarlo, consulte a RR. HH."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"No se puede reportar el tiempo personal %s porque se definió hace más de 2 "
"meses."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
"No hay entradas de trabajo por reportar vinculadas a este tiempo personal."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Hay tiempo personal restante por diferir para estos empleados:\n"
"\n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Tiempo personal"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Tiempo personal no relacionado a una asignación"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Tiempo personal por diferir"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Tiempo personal sin documento adjunto"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Tiempo personal por diferir"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Tiempo personal por reportar"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Por diferir"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "A calcular en el siguiente recibo de nómina"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "A diferir en el siguiente recibo de nómina"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Tiempo personal validado por diferir"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Tiene"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Tiene algunos días de <button>tiempo personal</button> para diferir al "
"próximo mes."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "tiempo personal"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "para diferir al próximo mes."

View File

@ -0,0 +1,265 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Stevin Lilla, 2024
# Piia Paurson <piia@avalah.ee>, 2024
# Eneli Õigus <enelioigus@gmail.com>, 2024
# JanaAvalah, 2024
# Algo Kärp <algokarp@gmail.com>, 2024
# Anna, 2024
# Birgit Vijar, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Birgit Vijar, 2024\n"
"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Hea võimalus jälgimaks töötajate tasustatud puudumisi, haiguspäevi ja "
"kinnitamise staatust."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Tegevus"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Ettevõtted"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Arvutatud jooksval palgalehel"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Seadistused"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Lükka edasi järgmisele kuule"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Edasilükatud puudumised"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Edasilükatud puudumiste kinnitaja"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Töötaja kood"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Tööleping"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Jäta edasilükkamiseks"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Märgi edasilükatuks"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Tutvuge puudumiste töölauaga."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Puudumise %s esitamiseks pole piisavalt piisavalt päevi välja teenitud. "
"Tehke toiming käsitsi"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "Only an employee time off to defer can be reported to next month"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Palgaleht"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Palgalehe staatus"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Loo tööaeg manuaalselt %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Lükake puudumine pärast palgalehe kinnitamist edasi"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Kajasta järgmises kuus"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Vastutaja"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Järgmise kuu töökirjeid pole veel loodud või need on juba %s puudumisteks "
"kinnitatud"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "Puudumist %s ei saa esitada kuna see on pikem kui 2 kuud"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Selle puudumisega ei ole seotud ühtegi töökirjet, millest teatada"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Nendel töötajatel on jäänud alles kasutamata puhkepäevi:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Puudumised"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Aeg edasi lükata"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Puudumised ilma seotud dokumendita"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Puudumine edasi lükkamiseks"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Puudumised raportisse"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Edasi lükata"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Arvutamiseks järgmisel palgalehel"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Järgmisele palgalehele edasilükkamiseks"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Kinnitatud puudumised edasilükkamiseks"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Teil on mõned"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "Puudumised"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "Edasi lükata järgmisse kuusse."

View File

@ -0,0 +1,273 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Kari Lindgren <kari.lindgren@emsystems.fi>, 2024
# Tuomo Aura <tuomo.aura@web-veistamo.fi>, 2024
# Veikko Väätäjä <veikko.vaataja@gmail.com>, 2024
# Martin Trigaux, 2024
# Konsta Aavaranta, 2024
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2024
# Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 2024\n"
"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Loistava tapa seurata työntekijän vapaa- ja sairauspäiviä sekä hyväksynnän "
"tilaa."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Toimenpide"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Yritykset"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Laskettu nykyisessä palkkalaskelmasta"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Asetukset"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Siirretään seuraavaan kuukauteen"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Lykätty vapaa-aika"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Lykättyjen vapaiden esihenkilö"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Työntekijän koodi"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Työsopimus"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Lykätty vapaa"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Merkitse jaksotetuksi"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Tutustu vapaapäivien mittaristoon."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Vapaapäivien ilmoittamiseen ei ole riittävästi läsnäolotyömerkintöjä %s. Tee"
" toiminto manuaalisesti"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Ainoastaan työntekijän lykkäämät vapaat voidaan ilmoittaa seuraavaan "
"kuukauteen"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Palkkalaskelma"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Palkkalaskelman tila"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Luo manuaalisesti työaikatyyppi %s varten"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Lykkää vapaata palkkalaskelman vahvistamisen jälkeen"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Raportoi seuraavaan kuukauteen"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Vastuuhenkilö"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Seuraavan kuukauden työaikatyyppejä ei ole vielä luotu tai ne on jo "
"validoitu vapaata varten %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Kuukauden palkka on jo vahvistettu, ja tämä päivä sisältyy siihen. Jos "
"haluat mukauttaa sitä, ota yhteyttä henkilöstöhallintoon."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Vapaa-aikaa %s ei voida ilmoittaa, koska se on määritelty yli 2 kuukauden "
"ajalle"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Tähän vapaaseen ei liity työmerkintöjä, joista olisi ilmoitettava"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Näillä työntekijöillä on vielä jonkin verran lykättävää vapaata:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Vapaa"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Vapaa-aika, joka ei liity vastuutukseen"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Lykättävä vapaa-aika"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Vapaa-aika ilman yhdistettyä asiakirjaa"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Lykättävä vapaa-aika"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Vapaa-aika raportointia varten"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Lykätään"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Lasketaan seuraavassa palkkalaskelmassa"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Lykätään seuraavaan palkkalaskelmaan"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Vahvistettu lykättävä vapaa-aika"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Sinulla on joitakin"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Sinulla on <button>vapaata</button>, jonka voit siirtää seuraavaan "
"kuukauteen."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "vapaa-aika"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "siirtää seuraavaan kuukauteen."

View File

@ -0,0 +1,264 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
# Manon Rondou, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Manon Rondou, 2024\n"
"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"La meilleure façon de suivre vos congés payés, jours de maladies et autres "
"demandes de validation. "
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Activité"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Sociétés"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calculé dans la fiche de paie actuelle"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Paramètres de configuration"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Reporter au mois suivant"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Congés reportés"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Responsable des congés à reporter"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Code de l'employé"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contrat d'employé"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Congé à reporter"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Marquer comme reporté"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Découvrez le tableau de bord des congés."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Pas assez de prestations pour déclarer le congé %s. Veuillez effectuer "
"l'opération manuellement"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "Seul un congé à reporter peut être reporté au mois suivant"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Fiche de paie"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Statut de la fiche de paie"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Veuillez créer manuellement la prestation pour %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Report du congé après validation de la fiche de paie"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Reporter au mois suivant"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsable"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Les prestations du mois prochain ne sont pas encore générées ou ont été déjà"
" validées pour le congé %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"La paie du mois a déjà été validée, ce jour inclus. Si vous devez l'adapter,"
" veuillez vous adresser aux ressources humaines."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Le congé %s ne peut pas être reporté parce qu'il est défini sur plus de 2 "
"mois"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Il n'y a pas de prestations liées à ce congé à reporter"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Il reste des congés à reporter pour ces employés :\n"
"\n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Congés"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Congé sans lien avec une allocation"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Congés à reporter"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Congés sans documents joints"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Congés à reporter"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Congés à rapporter"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "À reporter"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "À calculer dans la prochaine fiche de paie"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "À reporter à la prochaine fiche de paie"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Congés validés à reporter"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Vous avez des "
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "Vous avez des <button>congés</button> à reporter au mois suivant."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "congés"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "à reporter au mois prochain."

View File

@ -0,0 +1,253 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Yihya Hugirat <hugirat@gmail.com>, 2024
# Orel Nahmany, 2024
# ZVI BLONDER <ZVIBLONDER@gmail.com>, 2024
# Netta Waizer, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Netta Waizer, 2024\n"
"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: he\n"
"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr "דרך מצוינת לעקוב אחר החופשה בתשלום של העובד, ימי מחלה וסטטוס האישור."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "פעילות"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "חברות"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "הגדרות תצורה"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "חוזה עובד"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "הכירו את לוח המחוונים לחופשות."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "תלוש שכר"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "אחראי"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "מאשר חופשות"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "חופש לדיווח"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,246 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Language-Team: Hindi (https://app.transifex.com/odoo/teams/41243/hi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr ""
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,260 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Bole <bole@dajmi5.com>, 2024
# Vladimir Olujić <olujic.vladimir@storm.hr>, 2024
# Milan Tribuson <one.mile.code@gmail.com>, 2024
# Kristina Palaš, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Kristina Palaš, 2024\n"
"Language-Team: Croatian (https://app.transifex.com/odoo/teams/41243/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Izvandredan način za praćenje plaćenih odsustava zaposlenika, dana bolovanja"
" i statusa odsustva."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Aktivnost"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Tvrtke"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Obračunato u aktualnoj isplatnoj listi"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Konfiguracijske postavke"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Odgodi za sljedeći mjesec"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Odgođeno odsustvo"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Ugovor djelatnika"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Ostaviti za odgodu"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Označi kao odgođeno"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Upoznajte se s nadzornom pločom odsustava."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Samo odsustvo zaposlenika koje je odgođeno može se prijaviti za sljedeći "
"mjesec"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Obračunski list"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Molimo kreirajte odsustvo ručno za %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Odgodite odsustvo nakon provjere isplatne liste"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Izvijestiti sljedeći mjesec"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Odgovoran"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Prisutnosti i odsustva zaposlenika za sljedeći mjesec još nisu generirana "
"ili su odsustva već odobrena%s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "Odsustvo %s se ne može prijaviti jer se definira na više od 2 mjeseca"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Odsustva"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Odsustvo za odgodu"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Odsustvo bez pridruženog dokumenta"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Time Off To Defer"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Odsustava za prijaviti"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Odgoditi"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Za obračun u sljedećoj isplatnoj listi"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Za odgodu do sljedeće isplatne liste"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Odobreno odsustvo za odgodu"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Imate neka"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Imate <button>odsustvo</button> koje možete odgoditi za sljedeći mjesec."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "Odsustvo"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "odgoditi za sljedeći mjesec"

View File

@ -0,0 +1,246 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:26+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr ""
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,264 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Cara bagus untuk melacak Cuti, hari sakit, dan status persetujuan karyawan."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Aktivitas"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Perusahaan"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Dihitung di payslip saat ini"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Pengaturan Konfigurasi"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Tunda ke Bulan Depan"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Cuti Ditunda"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Manajer Cuti Ditunda"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Kode Karyawan"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Kontrak Karyawan"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Cuti untuk Ditunda"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Tandai sebagai ditunda"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Silakan liat dashboard cuti."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Tidak ada entri kerja absensi yang mencukupi untuk melaporkan cuti %s. Mohon"
" lakukan opearsi secara manual"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Hanya cuti karyawan yang ditunda yang dapat dilaporkan ke bulan berikutnya"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Slip Gaji"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Status Payslip"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Mohon buat secara manual entri kerja untuk %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Tunda cuti setelah validasi payslip"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Laporkan ke Bulan Berikutnya"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Penanggung Jawab"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Entri kerja bulan berikutnya belum dibuat atau belum divalidasi untuk cuti "
"%s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Gaji bulan ini sudah divalidasi termasuk dengan hari ini. Bila Anda perlu "
"adaptasi, silakan hubungi HR."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Cuti %s tidak dapat dilaporkan karena didefinisikan untuk lebih dari 2 bulan"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Tidak ada entri kerja yang dihubungkan ke cuti ini untuk dilaporkan"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Terdapat beberapa cuti tersisa untuk ditunda untuk karyawan berikut: \n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Cuti"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr " Cuti Tidak Terkait Alokasi"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Cuti Untuk Ditunda"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Cuti Tanpa Dokumen yang Digabung"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Cuti untuk Ditunda"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Cuti untuk Dilaporkan"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Untuk Ditunda"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Untuk dihitung di payslip berikutnya"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Untuk ditunda ke payslip berikutnya"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Cuti yang Divalidasi untuk Ditunda"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Anda memiliki beberapa"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Anda memiliki beberapa hari <button>cuti</button> untuk didefer ke ulan "
"berikutnya."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "cuti"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "untuk ditunda ke bulan berikutnya."

View File

@ -0,0 +1,265 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: it\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Un ottimo modo per tenere traccia di aspettative retribuite, giorni di "
"malattia e stato delle approvazioni per i dipendenti."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Attività"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Aziende"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calcolato nella busta paga corrente"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni di configurazione"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Differisci al mese successivo"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Ferie differite"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Manager ferie differite"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Codice dipendente"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contratto dipendente"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Congedo da differire"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Segna come differito"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Scopri la bacheca ferie."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Non ci sono sufficienti voci lavorative sulla frequenza per registrare le "
"ferie %s. Effettua l'operazione manualmente"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "È possibile registrare nel mese successivo solo le ferie da differire"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Busta paga"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Stato busta paga"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Crea manualmente la voce lavorativa per %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Posticipa le ferie dopo la convalida della busta paga"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Registra al mese successivo"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsabile"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Le voci lavorative del prossimo mese non sono state ancora generate oppure "
"sono state già covalidate per le ferie %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Lo stipendio del mese è già stato convalidato e include questo giorno. "
"Contatta le risorse umane in caso di modifiche da apportare."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Le ferie %s non possono essere registrate perché sono state definite su più "
"di due mesi"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
"Non è presente alcuna voce lavorativa collegata alle ferie da registrare"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"C'è del tempo libero rimanente da differire per questi dipendenti: \n"
"\n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Ferie"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Ferie non correlate ad un'assegnazione"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Ferie da differire"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Ferie senza documenti allegati"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Ferie da differire"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Tempo libero da segnalare"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Da differire"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Da calcolare nella prossima busta paga"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Da differire alla prossima busta paga"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Ferie differite convalidate"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Hai alcuni"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Hai alcuni <button>giorni di ferie</button> da posporre al mese prossimo."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "time off"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "da differire al mese successivo."

View File

@ -0,0 +1,254 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
# Junko Augias, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Junko Augias, 2024\n"
"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr "従業員のPTO、病欠、および承認ステータスを追跡するための優れた方法。"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "活動"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "会社"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "現在の給与明細で計算済"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "コンフィグ設定"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "来月に繰越"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "休暇の繰り延べ"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "繰越休暇マネジャー"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "従業員コード"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "従業員契約"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "繰越する休暇"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "繰越済にする"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "ダッシュボードの休暇をご覧ください。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr "休暇%sを報告するには勤怠作業エントリが不十分です。操作を手動で行って下さい。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "繰越する従業員休暇のみ翌月に持越すことができます"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "給与明細"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "給与明細ステータス"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr " %sの作業エントリを手動で作成して下さい"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "給与明細の確認後、休暇を繰り延べます"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "来月に繰越し"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "担当者"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr "来月の作業エントリが作成されていないか、休暇%s用に既に検証済です。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr "その月の給与は、すでにこの日を含めて検証済です。変更が必要な場合は、人事部に相談して下さい。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "休暇 %sは繰越できません、2ヶ月以上に渡り定義されているためです。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "この休暇に連動した未報告の作業エントリはありません"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"これらの従業員には、繰り延べられる休暇が残っています: \n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "休暇"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "割当に関連しない休暇"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "繰越する休暇"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "添付ドキュメントのない休暇"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "繰越する休暇"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "未報告休暇"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "繰越"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "次回の給与明細で計算"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "次回の給与明細に繰越"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "繰越する承認済休暇"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "いくつかの"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "翌月に繰り延べできる<button>休暇</button>があります。"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "休暇"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "。"

View File

@ -0,0 +1,253 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr "직원의 연차, 병가, 승인 상태를 추적할 수 있는 좋은 방법입니다."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "활동"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "회사"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "현재 급여 명세서에서 계산"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "환경 설정"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "다음 달로 연기"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "이월 휴가"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "이월 휴가 관리자"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "직원 코드"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "근로 계약서"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "휴가 연기하기"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "연기됨으로 표시"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "휴가 현황판을 만나보세요."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr "휴가 %s를 보고할 수 있는 근태 근로 항목이 충분하지 않습니다. 수동으로 작업을 수행해 주세요."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "휴가를 연기한 직원의 휴가 내역만 다음 달로 보고할 수 있습니다."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "급여 명세서"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "급여 명세서 상태"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "%s에 대한 근로 항목을 수동으로 작성하세요"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "급여 명세서 승인 후 휴가를 이월할 수 있습니다."
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "다음 달에 보고"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "담당자"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr "다음 달의 근로 항목이 아직 생성되지 않았거나 %s휴가가 이미 승인되었습니다"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr "해당 월의 급여는 이미 이 날짜가 포함된 상태로 승인되었습니다. 추가 조정이 필요한 경우 인사팀에 문의하세요."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "휴가 %s가 2개월 이상으로 정의되어 있어 휴가를 올릴 수 없습니다."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "이 휴가와 관련된 근로 항목이 없어 보고할 수 없습니다"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"해당 직원들에게 아직 남아있는 휴가입니다:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "휴가"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "휴가와 관련 없는 결근"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "이월할 휴가"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "결재가 이루어지지 않은 휴가"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "이월할 휴가"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "보고할 휴가"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "이월"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "다음 급여 명세서에서 계산"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "다음 급여 명세서로 이월"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "결재된 휴가 이월"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "몇 가지가"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "다음달로 이월할 수 있는 <button>휴가</button>가 있습니다."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "휴가"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "다음 달로 이월할 수 있습니다."

View File

@ -0,0 +1,254 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Baskhuu Lodoikhuu <baskhuujacara@gmail.com>, 2024
# Martin Trigaux, 2024
# Uuganbayar Batbaatar <uuganaaub33@gmail.com>, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Uuganbayar Batbaatar <uuganaaub33@gmail.com>, 2024\n"
"Language-Team: Mongolian (https://app.transifex.com/odoo/teams/41243/mn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: mn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Ажилтныхаа Цалинтай чөлөө, өвчний чөлөө, зөвшөөрлийн төлвийг хянах "
"боломжтой."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Ажилбар"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Компаниуд"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Тохиргооны тохируулга"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Ажилтны гэрээ"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Цалингийн хуудас"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Хариуцагч"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Чөлөө"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Чөлөөг тайлагнах"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,267 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Een geweldige manier om de betaald verlof, ziektedagen en goedkeuringsstatus"
" van werknemers bij te houden."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Activiteit"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Bedrijven"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Berekend in huidige loonstrook"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Configuratie instellingen"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Uitstellen tot volgende maand"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Uitgesteld verlof"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Manager uitgesteld verlof"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Code werknemer"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Arbeidsovereenkomst"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Laat om uit te stellen"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Markeer als uitgesteld"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Maak kennis met het verlof dashboard."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Onvoldoende aanwezigheidsregistraties om de verlof %s aan te vragen. Graag "
"de bewerking handmatig uitvoeren:"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Alleen verlof van een werknemer om uit te stellen kan worden gerapporteerd "
"naar de volgende maand"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Loonstrook"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Status loonstrook"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Maak handmatig de werkboeking voor %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Verlof uitstellen na loonstrookbevestiging"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Rapporteren aan volgende maand"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Verantwoordelijke"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"De werkboekingen van de volgende maand zijn nog niet gegenereerd of zijn al "
"gevalideerd voor verlof %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Het maandloon is tot en met vandaag reeds gevalideerd. Neem contact met HR "
"op als je wijzigingen wilt aanbrengen."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"De verlofaanvraag %s kan niet worden gerapporteerd omdat deze is "
"gedefinieerd over meer dan 2 maanden"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Er zijn geen werkboekingen gekoppeld aan deze verlof om te melden"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Er is nog wat verlof om uit te stellen voor deze werknemers:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Verlof"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Verlof die niet gerelateerd is aan een toewijzing"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Verlof om uit te stellen"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Verlof zonder toegevoegd document"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Verlof om uit te stellen"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Verlof te rapporteren"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Uit te stellen"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Om te berekenen in de volgende loonstrook"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Uitstellen tot volgende loonstrook"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Bevestigd verlof om uit te stellen"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Je hebt sommige"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Je hebt wat <button>verlof</button> om uit te stellen naar de volgende "
"maand."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "verlof"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "uitstellen naar de volgende maand."

View File

@ -0,0 +1,264 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pl\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Świetny sposób na śledzenie WOM pracowników, dni chorobowych i statusu "
"zatwierdzenia."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Czynność"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Firmy"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Naliczone w bieżącym pasku wypłaty"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Ustawienia konfiguracji"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Odrocz na następny miesiąc"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Odroczone dni wolne"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Menedżer odroczonych dni wolnych"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Umowa pracownika"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Pozostaw do odroczenia"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Oznacz jako odroczone"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Poznaj konsolę czasu wolnego."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Za mało wpisów pracy dotyczących obecności, aby zgłosić dni wolne %s. "
"Wykonaj operację ręcznie"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Tylko dni wolne pracownika do odroczenia mogą być zgłaszane do następnego "
"miesiąca"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Pasek wypłaty"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Stan paska wypłaty"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Należy ręcznie utworzyć wpis pracy dla %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Odroczenie dni wolnych po zatwierdzeniu paska wypłaty"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Raport na następny miesiąc"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Odpowiedzialny"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Wpisy pracy z następnego miesiąca nie są jeszcze wygenerowane lub są już "
"zatwierdzone dla dni wolnych %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Dni wolne %s nie mogą być raportowane, ponieważ są zdefiniowane na więcej "
"niż 2 miesiące"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
"Nie ma żadnych wpisów pracy związanych z tymi dniami wolnymi do zgłoszenia"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Tym pracownikom pozostało jeszcze trochę dni wolnych do odroczenia: \n"
"\n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Dni wolne"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Dni wolne do odroczenia"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Dni wolne bez dołączonego dokumentu"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Dni wolne do odroczenia"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Dni wolne do zgłoszenia"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Do odroczenia"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Do obliczenia w następnym pasku wypłaty"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Aby odroczyć do następnego paska wypłaty"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Zatwierdzone dni wolne do odroczenia"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Masz trochę"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "dni wolne"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "do odroczenia do następnego miesiąca."

View File

@ -0,0 +1,265 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Uma ótima maneira de acompanhar as folgas remuneradas dos funcionários, "
"atestados médicos e status de aprovação."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Atividade"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Empresas"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calculado no holerite atual"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Configurações"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Adiar para o próximo mês"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Folga adiada"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Gerente de folga adiada"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Código do funcionário"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contrato do funcionário"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Folga a ser adiada"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Marcar como adiado"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Conheça o painel do app Folga."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Não há registros de trabalho de presença suficientes para relatar a folga "
"%s. Faça a operação manualmente."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Somente a folga de um funcionário a ser adiada pode ser reportada para o "
"próximo mês"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Holerite"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Status do holerite"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Crie manualmente o registro de trabalho para %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Adiar a folga após a validação do holerite"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Relatar no próximo mês"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsável"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Os registros de trabalho do próximo mês ainda não foram gerados ou já foram "
"validados para a folga %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"O pagamento do mês já está validado com esse dia incluído. Se você precisar "
"fazer alguma adaptação, consulte o RH."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"A folga %s não pode ser relatada porque está definida em mais de 2 meses"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Não há registros de trabalho vinculados a essa folga para relatar"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Há algumas folgas a serem adiadas para esses funcionários: \n"
"\n"
"%s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Folga"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Folga não relacionada a uma alocação"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Folga a ser adiada"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Folga sem documento anexado"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Folga a ser adiada"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Folga a ser relatada"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "A adiar"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "A ser computado no próximo holerite"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "A ser adiado para o próximo holerite"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Folga validada a ser adiada"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Há"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"Você tem algumas <button>folgas</button> para adiar para o próximo mês."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "folga"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "a ser adiada para o próximo mês."

View File

@ -0,0 +1,264 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Romanian (https://app.transifex.com/odoo/teams/41243/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"O modalitate excelentă de a urmări PTO-urile angajaților, zilele de concediu"
" medical și statutul de aprobare."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Activitate"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Companii"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Calculat în fluturașul de salariu curent"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Setări de configurare"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Amânare pentru luna următoare"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Concediu amânat"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Manager concediu amânat"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Cod angajat"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Contract angajat"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Autorizare pentru amânare"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Marcați ca amânat"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Vizualizare timp liber de pe tabloul de bord."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Nu există suficiente înregistrări de prezență la muncă pentru a raporta "
"timpul liber %s. Vă rugăm să efectuați operațiunea manual"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Doar timpul liber de amânat al unui singur angajat poate fi raportat la luna"
" următoare"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Fluturas de salariu"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Stare fluturaș de salariu"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Vă rugăm să creați manual intrarea de lucru pentru %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Amânați concediul după validarea fluturașului de salariu"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Raportați luna viitoare"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Responsabil"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Înrtrările de lucru pentru luna următoare nu sunt încă generate sau sunt "
"deja validate pentru concediu %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Concediul %s nu poate fi raportat deoarece este definit peste mai mult de 2 "
"luni"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
"Nu există intrări de muncă asociate acestui concediu care să fie raportate"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Mai există concediu de amânat pentru acești angajați: \n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Concediu"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Timpul liber nu are legătură cu o alocare"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Concediu de amânat"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Concediu fără document asociat"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Concediu de amânat"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Concediu de Raportat"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "De amânat"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "De calculat în următorul fluturaș de salariu"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "De amânat în următorul fluturaș de salariu"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Concediu validat pentru amânare"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Aveți niște"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "Aveți <button>concediu</button> de amânat pentru luna viitoare."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "Concediu"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "de amânat pentru luna viitoare."

View File

@ -0,0 +1,224 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-12 10:55+0000\n"
"PO-Revision-Date: 2024-01-30 15:14+0400\n"
"Last-Translator: \n"
"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "A great way to keep track on employees PTOs, sick days, and approval status."
msgstr "Отличный способ отслеживать количество отпускных дней сотрудников, больничных и статуса одобрения."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Активность"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Компании"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Рассчитано в текущем расчетном листке"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Параметры конфигурации"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Перенести на следующий месяц"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Отложенный отпуск"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Менеджер по отложенному отпуску"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Код сотрудника"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Договор с Сотрудником"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Разрешение на отсрочку"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Отметить как отложенный"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Встречайте панель управления отгулами."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Not enough attendance work entries to report the time off %s. Please make the operation manually"
msgstr "Недостаточно рабочих записей о посещаемости для отчета об отгулах %s. Пожалуйста, выполните операцию вручную"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "Только отгул сотрудника может быть перенесен на следующий месяц"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Платежная ведомость"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Состояние платежной ведомости"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Пожалуйста, создайте вручную рабочую запись для %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Перенос отгулов после проверки платежной ведомости"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Отчет к следующему месяцу"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Ответственный"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "The next month work entries are not generated yet or are validated already for time off %s"
msgstr "Записи о работе в следующем месяце еще не созданы или уже подтверждены для отгулов %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "The time off %s can not be reported because it is defined over more than 2 months"
msgstr "Отпуск %s не может быть представлен в отчете, поскольку он определен более чем за 2 месяца"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Никаких рабочих записей, связанных с этим отгулом, нет"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"У этих сотрудников еще остались отгулы, которые можно отложить:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Отпуск"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Отгулы для отсрочки"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Отпуск без предъявления документа"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Отгулы для отсрочки"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Отчет по отсутствиям"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Отложить"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Для расчета в следующем расчетном листке"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Перенести на следующий платежный лист"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Подтвержденный отгул для отсрочки"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "У вас есть несколько"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "отгул"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "перенести на следующий месяц."

View File

@ -0,0 +1,250 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Aktivnost"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Podjetja"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Uredi nastavitve"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Kadrovska pogodba"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Pay Slip"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Odgovoren"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Odsotnost"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,256 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Lasse L, 2024
# Jakob Krabbe <jakob.krabbe@vertel.se>, 2024
# Chrille Hedberg <hedberg.chrille@gmail.com>, 2024
# Anders Wallenquist <anders.wallenquist@vertel.se>, 2024
# Martin Trigaux, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Martin Trigaux, 2024\n"
"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Ett bra sätt att hålla koll på medarbetarnas PTO, sjukdagar och "
"godkännandestatus."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Verksamhet"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Företag"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Inställningar"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Anställningsavtal"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Här är anslagstavlan för ledighet."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Lönebesked"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Ansvarig"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Frånvaro"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,259 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: th\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"วิธีที่ยอดเยี่ยมในการติดตาม PTO ของพนักงาน วันลาป่วย และสถานะการอนุมัติ"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "กิจกรรม"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "บริษัท"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "คำนวณในสลิปเงินเดือนปัจจุบัน"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "ตั้งค่าการกำหนดค่า"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "เลื่อนเป็นเดือนถัดไป"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "ชะลอการลา"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "ผู้จัดการชะลอการลา"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "รหัสพนักงาน"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "สัญญาของพนักงาน"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "การลาที่ชะลอออกไป"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "ทำเครื่องหมายว่าเลื่อนออกไป"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "พบกับแดชบอร์ดการลา"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"รายการของงานการเข้างานไม่เพียงพอที่จะรายงานระบบการลา %s "
"โปรดดำเนินการด้วยตนเอง"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"สามารถรายงานการลาหยุดเพื่อเลื่อนเวลาของพนักงานออกไปได้เฉพาะเดือนหน้าเท่านั้น"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "สลิปเงินเดือน"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "สถานะสลิปเงินเดือน"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "โปรดสร้างรายการงานสำหรับ %s ด้วยตนเอง"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "เลื่อนเวลาปิดหลังจากตรวจสอบสลิปเงินเดือนแล้ว"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "รายงานเดือนหน้า"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "รับผิดชอบ"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"รายการงานในเดือนถัดไปยังไม่ถูกสร้างขึ้นหรือได้รับการตรวจสอบแล้วสำหรับระบบการลา"
" %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "ไม่สามารถรายงานระบบการลา %s ได้ เนื่องจากมีการกำหนดไว้นานกว่า 2 เดือน"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "ไม่มีรายการงานที่เชื่อมโยงกับการหยุดเวลานี้เพื่อรายงาน"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"มีการลาคงเหลือที่จะชะลอออกไปสำหรับพนักงานเหล่านี้:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "การลา"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "เวลาหยุดไม่เกี่ยวข้องกับการจัดสรร"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "การลาหยุดเพื่อเลื่อนออกไป"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "การลาหยุดโดยไม่มีเอกสารที่เข้าร่วม"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "การลาที่จะชะลอออกไป"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "รายงานการลา"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "ชะลอออกไป"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "เพื่อนำไปคำนวณในสลิปเงินเดือนต่อไป"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "ชะลอสลิปเงินเดือนต่อไป"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "ตรวจสอบการลาเพื่อชะลอ"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "คุณมี"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "คุณมี<button>วันหยุด</button>ที่ถูกเลื่อนไปเดือนหน้า"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "การลา"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "ชะลอไปเดือนหน้า"

View File

@ -0,0 +1,256 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# emre oktem, 2024
# Ozlem Cikrikci <ozlemc@eskayazilim.com.tr>, 2024
# Murat Kaplan <muratk@projetgrup.com>, 2024
# Levent Karakaş <levent@mektup.at>, 2024
# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Ertuğrul Güreş <ertugrulg@projetgrup.com>, 2024\n"
"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Çalışanların ücretli izinlerini, hastalık izinlerini ve onay durumlarını "
"takip etmek için mükemmel bir yöntem."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Aktivite"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Şirketler"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Yapılandırma Ayarları"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Personel Sözleşmesi"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "İzin panosuyla tanışın."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Bordro"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr ""
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Sorumlu"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "İzin"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "İzin için Rapor"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr ""
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr ""
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr ""

View File

@ -0,0 +1,266 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
# Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Alina Lisnenko <alina.lisnenko@erp.co.ua>, 2024\n"
"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: uk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Чудовий спосіб відстежувати ВОМ працівника, дні хвороби та статус "
"затвердження."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Дія"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Компанії"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Обчислено у поточному розрахунковому листі"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Налаштування"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Відкласти на наступний місяць"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Відпустки майбутніх періодів"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Менеджер відпусток майбуніх періодів"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Код співробітника"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Трудовий контракт"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Відпустка на вікладення"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Позначити як відкладений"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Зустрічайте панель приладів відпусток."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Недостатньо записів про відвідування, щоб повідомити про відпустку %s. Будь "
"ласка, виконайте операцію вручну"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "На наступний місяць можна повідомити лише про відпустку працівника"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Розрахунковий лист"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Статус розрахункового листа"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Будь ласка, створіть вручну робочий запис для %s"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Відкласти відпустку після перевірки платіжної квитанції"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Звіт на наступний місяць"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Відповідальний"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Робочі записи наступного місяця ще не створені або вже перевірені для "
"відпустки %s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Заробітна плата за місяць уже підтверджена з урахуванням цього дня. Якщо вам"
" потрібно адаптуватися, зверніться до відділу кадрів."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr ""
"Відпустка %s не можна повідомити, оскільки воно визначено протягом більше "
"ніж 2 місяці"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Немає робочих записів, пов’язаних із цим звітом відпустки"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Для цих працівників залишається деякий час відпустки: \n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Відпустка"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Відпустка не повʼязана з розподіленням"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Відпустка для відкладення"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Відпустка без доданого документу"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Відпустка на майбутнє"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Відпустка до включення у звіт"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Відкласти"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Обчислити у наступному розрахунковому листі "
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Відкласти до наступного розрахункового листа"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Перевірений час відпустки для відкладення"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "У вас є деякі"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr ""
"У вас є залишок<button>відпустки</button>, що переходить на наступний "
"місяць."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "відпустка"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "відкласти на наступний місяць."

View File

@ -0,0 +1,263 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr ""
"Một cách tuyệt vời để theo dõi PTO của nhân viên, ngày ốm và trạng thái phê "
"duyệt."
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "Hoạt động"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "Công ty"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "Đã tính toán trong phiếu lương hiện tại"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "Cài đặt cấu hình"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "Hoãn sang tháng sau"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "Nghỉ phép đã hoãn"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "Quản lý nghỉ phép đã hoãn"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "Mã nhân viên"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "Hợp đồng nhân viên"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "Ngày phép cần hoãn"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "Đánh dấu là hoãn lại"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "Đây là trang chủ nghỉ phép."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr ""
"Không đủ công chấm công để báo cáo nghỉ phép %s. Vui lòng thực hiện thao tác"
" thủ công"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr ""
"Chỉ có nghỉ phép cần hoãn lại của nhân viên mới có thể được báo cáo vào "
"tháng tiếp theo"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "Phiếu lương"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "Trạng thái phiếu lương"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "Vui lòng tạo công cho %s theo cách thủ công"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "Hoãn nghỉ phép sau khi xác nhận phiếu lương"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "Báo cáo vào tháng sau"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "Người phụ trách"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr ""
"Công của tháng tiếp theo chưa được tạo hoặc đã được xác nhận cho nghỉ phép "
"%s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr ""
"Tiền lương tháng này đã được xác nhận và tính cả ngày này. Nếu bạn cần điều "
"chỉnh, vui lòng liên hệ HR."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "Không thể báo cáo nghỉ phép %s vì nó được xác định trong hơn 2 tháng"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "Không có công nào liên kết với đơn nghỉ phép này để báo cáo"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"Có số giờ nghỉ phép cần hoãn cho các nhân viên sau:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "Nghỉ phép"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "Đơn nghỉ phép không liên kết với phân bổ"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "Nghỉ phép cần hoãn"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "Đơn nghỉ phép không có tài liệu liên quan"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "Nghỉ phép cần hoãn"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "Nghỉ phép để Báo cáo"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "Cần hoãn"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "Để tính toán trong phiếu lương tiếp theo"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "Để hoãn trong phiếu lương kế tiếp"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "Nghỉ phép đã xác nhận cần hoãn"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "Bạn có một số giờ"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "Bạn có một số <button>nghỉ phép</button> cần hoãn sang tháng sau."
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "nghỉ phép"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "cần hoãn sang tháng sau."

View File

@ -0,0 +1,254 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
# Odoo哥 <vnsoft.he@gmail.com>, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Odoo哥 <vnsoft.he@gmail.com>, 2024\n"
"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr "追踪员工的PTO、病假和批准状态的一个好方法。"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "活动"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "公司"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "按当前工资单计算"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "配置设置"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "推迟到下个月"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "延迟休假"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "延迟休假管理员"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "员工编号"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "员工合同"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "推迟"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "标注为延迟的"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "满足休息时间仪表盘的要求。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr "没有足够的考勤工作条目来报告请假时间 %s。请手动操作"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "只有员工休假可以推迟到下个月"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "工资单"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "薪资单状态"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "请手动创建%s的工作记录"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "薪资单验证后推迟休假时间"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "下个月报表"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "负责人"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr "下个月的工作条目尚未生成,或者已经过验证,以便休假%s"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr "本月的薪资已经包含此日期进行了审核。如果您需要进行调整,请咨询人力资源部门。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "无法报告休假%s因为它的定义超过2个月"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "没有链接到此时间的工作条目来报告"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"对这些员工来说,还有一些剩余的时间可以推迟。\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "休假"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "与分配无关的休假"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "推迟的休假"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "未加入文档的休假"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "推迟休假的时间"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "待报告的休假"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "推迟"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "在下一张工资单中计算"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "推迟到下一张工资单"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "已验证的延迟休假时间"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "您有一些"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "您有些 <button>休假</button> 可推迟至下月。"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "休息时间"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "推迟到下个月。"

View File

@ -0,0 +1,253 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_holidays
#
# Translators:
# Wil Odoo, 2024
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 09:26+0000\n"
"PO-Revision-Date: 2024-09-25 09:44+0000\n"
"Last-Translator: Wil Odoo, 2024\n"
"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid ""
"A great way to keep track on employees PTOs, sick days, and approval "
"status."
msgstr "追踪員工 PTO、病假和批准狀態的方式。"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_mail_activity
msgid "Activity"
msgstr "活動"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_company
msgid "Companies"
msgstr "公司"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__done
msgid "Computed in current payslip"
msgstr "在目前工資單內計算"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_res_config_settings
msgid "Config Settings"
msgstr "配置設定"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_report_to_next_month
msgid "Defer to Next Month"
msgstr "推遲至下月"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Deferred Time Off"
msgstr "延遲休假"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_company__deferred_time_off_manager
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_res_config_settings__deferred_time_off_manager
msgid "Deferred Time Off Manager"
msgstr "延遲休假管理工具"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.view_hr_leave_allocation_inherit_filter
msgid "Employee Code"
msgstr "員工代碼"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_contract
msgid "Employee Contract"
msgstr "員工契約"
#. module: hr_payroll_holidays
#: model:mail.activity.type,name:hr_payroll_holidays.mail_activity_data_hr_leave_to_defer
msgid "Leave to Defer"
msgstr "要推遲的休假"
#. module: hr_payroll_holidays
#: model:ir.actions.server,name:hr_payroll_holidays.ir_actions_server_mark_as_reported
msgid "Mark as deferred"
msgstr "標記為已推遲"
#. module: hr_payroll_holidays
#: model_terms:ir.actions.act_window,help:hr_payroll_holidays.hr_leave_work_entry_action
msgid "Meet the time off dashboard."
msgstr "看看休假Dashboard."
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"Not enough attendance work entries to report the time off %s. Please make "
"the operation manually"
msgstr "沒有足夠的出勤工作記項去報告休假資料: %s。請手動操作"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Only an employee time off to defer can be reported to next month"
msgstr "只限員工的待推遲休假可於下個月報告"
#. module: hr_payroll_holidays
#: model:ir.model,name:hr_payroll_holidays.model_hr_payslip
msgid "Pay Slip"
msgstr "薪資單"
#. module: hr_payroll_holidays
#: model:ir.model.fields,field_description:hr_payroll_holidays.field_hr_leave__payslip_state
msgid "Payslip State"
msgstr "工資單狀態"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Please create manually the work entry for %s"
msgstr "請手動建立 %s 的工作記錄"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Postpone time off after payslip validation"
msgstr "驗證工資單後推遲休假"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_form_inherit
msgid "Report to Next Month"
msgstr "下個月報告"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Responsible"
msgstr "負責人"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The next month work entries are not generated yet or are validated already "
"for time off %s"
msgstr "下月的工作記項尚未產生,或已就相關休假 %s 完成驗證"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The pay of the month is already validated with this day included. If you "
"need to adapt, please refer to HR."
msgstr "該月的工資已經驗證,包括這一天。如果需要修改,請聯絡人力資源部門。"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid ""
"The time off %s can not be reported because it is defined over more than 2 "
"months"
msgstr "未能報告休假 %s因它定義的長度超過 2 個月"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "There is no work entries linked to this time off to report"
msgstr "沒有連結至此休假的工作記項可報告"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_payslip.py:0
msgid ""
"There is some remaining time off to defer for these employees: \n"
"\n"
" %s"
msgstr ""
"以下員工仍有剩餘休假可以推遲:\n"
"\n"
" %s"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_work_entry_action
#: model:ir.model,name:hr_payroll_holidays.model_hr_leave
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.res_config_settings_view_form
msgid "Time Off"
msgstr "休假"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_allocation
msgid "Time Off Not Related To An Allocation"
msgstr "與分配無關的休假"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_to_defer
msgid "Time Off To Defer"
msgstr "待推遲的休假"
#. module: hr_payroll_holidays
#: model:hr.payroll.dashboard.warning,name:hr_payroll_holidays.hr_payroll_dashboard_warning_leaves_no_document
msgid "Time Off Without Joined Document"
msgstr "未加入相關文檔的休假"
#. module: hr_payroll_holidays
#: model:ir.actions.act_window,name:hr_payroll_holidays.hr_leave_action_open_to_defer
msgid "Time Off to Defer"
msgstr "待推遲的休假"
#. module: hr_payroll_holidays
#: model:ir.ui.menu,name:hr_payroll_holidays.menu_work_entry_leave_to_approve
msgid "Time Off to Report"
msgstr "休假報告"
#. module: hr_payroll_holidays
#: model_terms:ir.ui.view,arch_db:hr_payroll_holidays.hr_leave_view_search
msgid "To Defer"
msgstr "待推遲"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__normal
msgid "To compute in next payslip"
msgstr "待下期工資單計算"
#. module: hr_payroll_holidays
#: model:ir.model.fields.selection,name:hr_payroll_holidays.selection__hr_leave__payslip_state__blocked
msgid "To defer to next payslip"
msgstr "待推遲至下期工資單"
#. module: hr_payroll_holidays
#. odoo-python
#: code:addons/hr_payroll_holidays/models/hr_leave.py:0
msgid "Validated Time Off to Defer"
msgstr "待推遲已驗證休假"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "You have some"
msgstr "你有一些"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/views/hooks.js:0
msgid "You have some <button>time off</button> to defer to the next month."
msgstr "你有些 <button>休假</button> 可推遲至下月。"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "time off"
msgstr "休假"
#. module: hr_payroll_holidays
#. odoo-javascript
#: code:addons/hr_payroll_holidays/static/src/xml/templates.xml:0
msgid "to defer to the next month."
msgstr "待推遲至下個月。"

View File

@ -0,0 +1,9 @@
#-*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import res_company
from . import hr_contract
from . import hr_leave
from . import res_config_settings
from . import hr_payslip
from . import mail_activity

View File

@ -0,0 +1,9 @@
from odoo import models
class HrContract(models.Model):
_inherit = 'hr.contract'
def _get_resource_calendar_leaves(self, start_dt, end_dt):
# prevent leaves that are associated with a blocked payslip to be taken
# into account, as they will be deferred lated.
return super()._get_resource_calendar_leaves(start_dt, end_dt).filtered(lambda l: l.holiday_id.payslip_state != 'blocked')

View File

@ -0,0 +1,150 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models, _
from odoo.fields import Datetime
from odoo.exceptions import UserError
from odoo.tools.float_utils import float_compare
class HrLeave(models.Model):
_inherit = 'hr.leave'
payslip_state = fields.Selection([
('normal', 'To compute in next payslip'),
('done', 'Computed in current payslip'),
('blocked', 'To defer to next payslip')], string='Payslip State',
copy=False, default='normal', required=True, tracking=True)
def action_validate(self, check_state=True):
# Get employees payslips
all_payslips = self.env['hr.payslip'].sudo().search([
('employee_id', 'in', self.mapped('employee_id').ids),
('state', 'in', ['done', 'paid', 'verify']),
]).filtered(lambda p: p.is_regular)
done_payslips = all_payslips.filtered(lambda p: p.state in ['done', 'paid'])
waiting_payslips = all_payslips - done_payslips
# Mark Leaves to Defer
for leave in self:
if any(
payslip.employee_id == leave.employee_id \
and (payslip.date_from <= leave.date_to.date() \
and payslip.date_to >= leave.date_from.date()) for payslip in done_payslips) \
and not any(payslip.employee_id == leave.employee_id \
and (payslip.date_from <= leave.date_to.date() \
and payslip.date_to >= leave.date_from.date()) for payslip in waiting_payslips):
leave.payslip_state = 'blocked'
res = super().action_validate(check_state=check_state)
self.sudo()._recompute_payslips()
return res
def action_refuse(self):
res = super().action_refuse()
self.sudo()._recompute_payslips()
return res
def _action_user_cancel(self, reason):
res = super()._action_user_cancel(reason)
self.sudo()._recompute_payslips()
return res
def _recompute_payslips(self):
# Recompute draft/waiting payslips
all_payslips = self.env['hr.payslip'].sudo().search([
('employee_id', 'in', self.mapped('employee_id').ids),
('state', 'in', ['draft', 'verify']),
]).filtered(lambda p: p.is_regular)
draft_payslips = self.env['hr.payslip']
waiting_payslips = self.env['hr.payslip']
for leave in self:
for payslip in all_payslips:
if payslip.employee_id == leave.employee_id and (payslip.date_from <= leave.date_to.date() and payslip.date_to >= leave.date_from.date()):
if payslip.state == 'draft':
draft_payslips |= payslip
elif payslip.state == 'verify':
waiting_payslips |= payslip
if draft_payslips:
draft_payslips._compute_worked_days_line_ids()
if waiting_payslips:
waiting_payslips.action_refresh_from_work_entries()
def _cancel_work_entry_conflict(self):
leaves_to_defer = self.filtered(lambda l: l.payslip_state == 'blocked')
for leave in leaves_to_defer:
leave.activity_schedule(
'hr_payroll_holidays.mail_activity_data_hr_leave_to_defer',
summary=_('Validated Time Off to Defer'),
note=_('Please create manually the work entry for %s',
leave.employee_id._get_html_link()),
user_id=leave.employee_id.company_id.deferred_time_off_manager.id or self.env.ref('base.user_admin').id)
return super(HrLeave, self - leaves_to_defer)._cancel_work_entry_conflict()
def activity_feedback(self, act_type_xmlids, user_id=None, feedback=None):
if 'hr_payroll_holidays.mail_activity_data_hr_leave_to_defer' in act_type_xmlids:
self.write({'payslip_state': 'done'})
return super().activity_feedback(act_type_xmlids, user_id=user_id, feedback=feedback)
def action_report_to_next_month(self):
for leave in self:
if not leave.employee_id or leave.payslip_state != 'blocked':
raise UserError(_('Only an employee time off to defer can be reported to next month'))
if (leave.date_to.year - leave.date_from.year) * 12 + leave.date_to.month - leave.date_from.month > 1:
raise UserError(_('The time off %s can not be reported because it is defined over more than 2 months', leave.display_name))
leave_work_entries = self.env['hr.work.entry'].search([
('employee_id', '=', leave.employee_id.id),
('company_id', '=', self.env.company.id),
('date_start', '>=', leave.date_from),
('date_stop', '<=', leave.date_to),
])
next_month_work_entries = self.env['hr.work.entry'].search([
('employee_id', '=', leave.employee_id.id),
('company_id', '=', self.env.company.id),
('state', '=', 'draft'),
('date_start', '>=', Datetime.to_datetime(leave.date_from + relativedelta(day=1, months=1))),
('date_stop', '<=', datetime.combine(Datetime.to_datetime(leave.date_to + relativedelta(day=31, months=1)), datetime.max.time()))
])
if not next_month_work_entries:
raise UserError(_('The next month work entries are not generated yet or are validated already for time off %s', leave.display_name))
if not leave_work_entries:
raise UserError(_('There is no work entries linked to this time off to report'))
for work_entry in leave_work_entries:
found = False
for next_work_entry in next_month_work_entries:
if next_work_entry.work_entry_type_id.code != "WORK100":
continue
if not float_compare(next_work_entry.duration, work_entry.duration, 2):
next_work_entry.work_entry_type_id = leave.holiday_status_id.work_entry_type_id
found = True
break
if not found:
raise UserError(_('Not enough attendance work entries to report the time off %s. Please make the operation manually', leave.display_name))
# Should change payslip_state to 'done' at the same time
self.activity_feedback(['hr_payroll_holidays.mail_activity_data_hr_leave_to_defer'])
def _check_uncovered_by_validated_payslip(self):
payslips = self.env['hr.payslip'].sudo().search([
('employee_id', 'in', self.employee_id.ids),
('date_from', '<=', max(self.mapped('date_to'))),
('date_to', '>=', min(self.mapped('date_from'))),
('state', 'in', ['done', 'paid']),
])
for leave in self:
if any(
p.employee_id == leave.employee_id and
p.date_from <= leave.date_to.date() and
p.date_to >= leave.date_from.date() and
p.is_regular
for p in payslips
):
raise UserError(_("The pay of the month is already validated with this day included. If you need to adapt, please refer to HR."))
def write(self, vals):
if vals.get('active') and self._check_uncovered_by_validated_payslip():
self._check_uncovered_by_validated_payslip()
return super().write(vals)
@api.ondelete(at_uninstall=False)
def _unlink_if_no_payslip(self):
self._check_uncovered_by_validated_payslip()

View File

@ -0,0 +1,30 @@
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, models, _
from odoo.exceptions import ValidationError
from datetime import datetime
class HrPayslip(models.Model):
_inherit = 'hr.payslip'
def compute_sheet(self):
if self.env.context.get('salary_simulation'):
return super().compute_sheet()
if self.filtered(lambda p: p.is_regular):
employees = self.mapped('employee_id')
leaves = self.env['hr.leave'].search([
('employee_id', 'in', employees.ids),
('state', '!=', 'refuse'),
])
leaves_to_defer = leaves.filtered(lambda l: l.payslip_state == 'blocked')
if leaves_to_defer:
raise ValidationError(_(
'There is some remaining time off to defer for these employees: \n\n %s',
', '.join(e.display_name for e in leaves_to_defer.mapped('employee_id'))))
dates = self.mapped('date_to')
max_date = datetime.combine(max(dates), datetime.max.time())
leaves_to_green = leaves.filtered(lambda l: l.payslip_state != 'blocked' and l.date_to <= max_date)
leaves_to_green.write({'payslip_state': 'done'})
return super().compute_sheet()

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models
class MailActivity(models.Model):
_inherit = 'mail.activity'
def _action_done(self, feedback=False, attachment_ids=None):
leave_activities = self.filtered(lambda act: act.res_model == 'hr.leave' and act.res_id)
if leave_activities:
type_to_defer_id = self.env['ir.model.data']._xmlid_to_res_id(
'hr_payroll_holidays.mail_activity_data_hr_leave_to_defer',
raise_if_not_found=False
)
if type_to_defer_id:
leave_activities = leave_activities.filtered(lambda act: act.activity_type_id.id == type_to_defer_id)
if leave_activities:
self.env['hr.leave'].browse(leave_activities.mapped('res_id')).write({'payslip_state': 'done'}) # done or normal??? to check
return super()._action_done(feedback=feedback, attachment_ids=attachment_ids)

View File

@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResCompany(models.Model):
_inherit = "res.company"
deferred_time_off_manager = fields.Many2one('res.users')

View File

@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
deferred_time_off_manager = fields.Many2one('res.users', related='company_id.deferred_time_off_manager', check_company=True, readonly=False)

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="hr_payroll.group_hr_payroll_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('hr_holidays.group_hr_holidays_user'))]"/>
</record>
<record id="hr_payroll.group_hr_payroll_manager" model="res.groups">
<field name="implied_ids" eval="[(4, ref('hr_holidays.group_hr_holidays_user'))]"/>
</record>
</data>
</odoo>

View File

@ -0,0 +1,21 @@
/** @odoo-module **/
import { TimeOffToDeferWarning, useTimeOffToDefer } from "@hr_payroll_holidays/views/hooks";
import { registry } from "@web/core/registry";
import { FormController } from "@web/views/form/form_controller";
import { formView } from "@web/views/form/form_view";
export class PayslipFormController extends FormController {
static template = "hr_payroll_holidays.PayslipFormController";
static components = { ...PayslipFormController.components, TimeOffToDeferWarning };
setup() {
super.setup();
this.timeOff = useTimeOffToDefer();
}
}
registry.category("views").add("hr_payslip_form", {
...formView,
Controller: PayslipFormController,
});

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-name="hr_payroll_holidays.PayslipFormController" t-inherit="web.FormView" t-inherit-mode="primary">
<xpath expr="//Layout/t[@t-component='props.Renderer']" position="before">
<TimeOffToDeferWarning t-if="timeOff.hasTimeOffToDefer"/>
</xpath>
</t>
</templates>

View File

@ -0,0 +1,22 @@
/** @odoo-module **/
import { TimeOffToDeferWarning, useTimeOffToDefer } from "@hr_payroll_holidays/views/hooks";
import { registry } from "@web/core/registry";
import { ListRenderer } from "@web/views/list/list_renderer";
import { listView } from "@web/views/list/list_view";
class PayslipListRenderer extends ListRenderer {
static template = "hr_payroll_holidays.PayslipListRenderer";
static components = { ...ListRenderer.components, TimeOffToDeferWarning };
setup() {
super.setup();
this.timeOff = useTimeOffToDefer();
}
}
const PayslipListView = {
...listView,
Renderer: PayslipListRenderer,
};
registry.category("views").add("hr_payroll_payslip_tree", PayslipListView);

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-name="hr_payroll_holidays.PayslipListRenderer" t-inherit="web.ListRenderer" t-inherit-mode="primary">
<xpath expr="//div[hasclass('o_list_renderer')]" position="before">
<TimeOffToDeferWarning t-if="timeOff.hasTimeOffToDefer"/>
</xpath>
</t>
</templates>

View File

@ -0,0 +1,15 @@
import { patch } from "@web/core/utils/patch";
import { TimeOffToDeferWarning, useTimeOffToDefer } from "@hr_payroll_holidays/views/hooks";
import { WorkEntriesGanttController } from '@hr_work_entry_contract_enterprise/work_entries_gantt_controller';
patch(WorkEntriesGanttController.prototype, {
setup() {
super.setup(...arguments);
this.timeOff = useTimeOffToDefer();
}
});
patch(WorkEntriesGanttController, {
components: { ...WorkEntriesGanttController.components, TimeOffToDeferWarning },
template: "hr_payroll_holidays.WorkEntriesGanttController"
});

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-name="hr_payroll_holidays.WorkEntriesGanttController" t-inherit="web_gantt.GanttController">
<xpath expr="//Layout//t[@t-component='props.Renderer']" position="before">
<TimeOffToDeferWarning t-if="timeOff.hasTimeOffToDefer"/>
</xpath>
</t>
</templates>

View File

@ -0,0 +1,40 @@
import { Component, onWillStart } from "@odoo/owl";
import { _t } from "@web/core/l10n/translation";
import { user } from "@web/core/user";
import { useService } from "@web/core/utils/hooks";
export class TimeOffToDeferWarning extends Component {
static props = {};
static template = "hr_payroll_holidays.TimeOffToDeferWarning";
setup() {
this.actionService = useService("action");
}
/** @returns {string} */
get timeOffButtonText() {
const [, before, inside, after] = _t(
"You have some <button>time off</button> to defer to the next month."
).match(/(.*)<button>(.*)<\/button>(.*)/) ?? [
"You have some",
"time off",
"to defer to the next month.",
];
return { before, inside, after };
}
onTimeOffToDefer() {
this.actionService.doAction("hr_payroll_holidays.hr_leave_action_open_to_defer");
}
}
export function useTimeOffToDefer() {
const orm = useService("orm");
const timeOff = {};
onWillStart(async () => {
const result = await orm.searchCount('hr.leave', [["payslip_state", "=", "blocked"], ["state", "=", "validate"], ["employee_company_id", "in", user.context.allowed_company_ids]]);
timeOff.hasTimeOffToDefer = result > 0;
});
return timeOff;
}

View File

@ -0,0 +1,12 @@
<?xml version="1.0"?>
<templates>
<t t-name="hr_payroll_holidays.TimeOffToDeferWarning">
<div class="alert alert-warning text-center mb-0" role="alert">
<p class="mb-0">
<t t-esc="timeOffButtonText.before"/>
<button class="btn btn-link p-0 align-baseline o_open_defer_time_off" role="button" t-esc="timeOffButtonText.inside" t-on-click="onTimeOffToDefer"/>
<t t-esc="timeOffButtonText.after"/>
</p>
</div>
</t>
</templates>

View File

@ -0,0 +1,19 @@
/** @odoo-module **/
import { TimeOffToDeferWarning, useTimeOffToDefer } from "@hr_payroll_holidays/views/hooks";
import { WorkEntryCalendarController } from "@hr_work_entry_contract/views/work_entry_calendar/work_entry_calendar_controller";
import { patch } from "@web/core/utils/patch";
patch(
WorkEntryCalendarController.prototype,
{
setup() {
super.setup(...arguments);
this.timeOff = useTimeOffToDefer();
},
}
);
patch(WorkEntryCalendarController, {
template: "hr_payroll_holidays.WorkEntryCalendarController",
components: { ...WorkEntryCalendarController.components, TimeOffToDeferWarning },
});

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-name="hr_payroll_holidays.WorkEntryCalendarController" t-inherit="web.CalendarController" t-inherit-mode="primary">
<xpath expr="//div[hasclass('o_calendar_container')]" position="before">
<TimeOffToDeferWarning t-if="timeOff.hasTimeOffToDefer"/>
</xpath>
</t>
</templates>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="warning.time.off.to.defer">
<div class="alert alert-warning text-center mb-0" role="alert">
<p class="mb-0">
You have some <button class="btn btn-link p-0 o_open_defer_time_off" role="button">time off</button> to defer to the next month.
</p>
</div>
</t>
</templates>

View File

@ -0,0 +1,5 @@
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import common
from . import test_timeoff_defer

View File

@ -0,0 +1,70 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.fields import Date
from odoo.tests.common import TransactionCase, new_test_user
from dateutil.relativedelta import relativedelta
class TestPayrollHolidaysBase(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.env.user.company_id.resource_calendar_id.tz = "Europe/Brussels"
cls.env.context = {'tz': 'Europe/Brussels'}
cls.dep_rd = cls.env['hr.department'].create({
'name': 'Research & Development - Test',
})
# Create employee
cls.vlad = new_test_user(cls.env, login='vlad', groups='base.group_user')
cls.emp = cls.env['hr.employee'].create({
'name': 'Donald',
'gender': 'male',
'birthday': '1946-06-14',
'department_id': cls.dep_rd.id,
'user_id': cls.vlad.id,
})
cls.joseph = new_test_user(cls.env, login='joseph', groups='base.group_user,hr_holidays.group_hr_holidays_user')
cls.structure_type = cls.env['hr.payroll.structure.type'].create({
'name': 'Test - Developer',
})
# Create his contract
cls.env['hr.contract'].create({
'date_end': Date.today() + relativedelta(years=2),
'date_start': Date.to_date('2018-01-01'),
'name': 'Contract for Donald',
'wage': 5000.0,
'employee_id': cls.emp.id,
'structure_type_id': cls.structure_type.id,
'state': 'open',
})
cls.work_entry_type_unpaid = cls.env['hr.work.entry.type'].create({
'name': 'Unpaid Leave',
'is_leave': True,
'code': 'LEAVETEST300',
'round_days': 'HALF',
'round_days_type': 'DOWN',
})
# Create a salary structure, necessary to compute sheet
cls.developer_pay_structure = cls.env['hr.payroll.structure'].create({
'name': 'Salary Structure for Software Developer',
'type_id': cls.structure_type.id,
'unpaid_work_entry_type_ids': [(4, cls.work_entry_type_unpaid.id, False)]
})
cls.structure_type.default_struct_id = cls.developer_pay_structure
# Create a leave type for our leaves
cls.leave_type = cls.env['hr.leave.type'].create({
'name': 'Unpaid leave',
'work_entry_type_id': cls.work_entry_type_unpaid.id,
'time_type': 'leave',
'requires_allocation': 'no',
})

View File

@ -0,0 +1,386 @@
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import date, datetime
from odoo.exceptions import ValidationError, UserError
from odoo.fields import Datetime
from odoo.tests.common import tagged
from odoo.addons.hr_payroll_holidays.tests.common import TestPayrollHolidaysBase
from dateutil.relativedelta import relativedelta
@tagged('post_install', '-at_install')
class TestTimeoffDefer(TestPayrollHolidaysBase):
def test_no_defer(self):
#create payslip -> waiting or draft
payslip = self.env['hr.payslip'].create({
'name': 'Donald Payslip',
'employee_id': self.emp.id,
})
# Puts the payslip to draft/waiting
payslip.compute_sheet()
#create a time off for our employee, validating it now should not put it as to_defer
leave = self.env['hr.leave'].create({
'name': 'Golf time',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': (date.today() + relativedelta(day=13)),
'request_date_to': (date.today() + relativedelta(day=16)),
})
leave.action_approve()
self.assertNotEqual(leave.payslip_state, 'blocked', 'Leave should not be to defer')
def test_to_defer(self):
#create payslip
payslip = self.env['hr.payslip'].create({
'name': 'Donald Payslip',
'employee_id': self.emp.id,
})
# Puts the payslip to draft/waiting
payslip.compute_sheet()
payslip.action_payslip_done()
#create a time off for our employee, validating it now should put it as to_defer
leave = self.env['hr.leave'].create({
'name': 'Golf time',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': (date.today() + relativedelta(day=13)),
'request_date_to': (date.today() + relativedelta(day=16)),
})
leave.action_approve()
self.assertEqual(leave.payslip_state, 'blocked', 'Leave should be to defer')
def test_multi_payslip_defer(self):
#A leave should only be set to defer if ALL colliding with the time period of the time off are in a done state
# it should not happen if a payslip for that time period is still in a waiting state
#create payslip -> waiting
waiting_payslip = self.env['hr.payslip'].create({
'name': 'Donald Payslip draft',
'employee_id': self.emp.id,
})
#payslip -> done
done_payslip = self.env['hr.payslip'].create({
'name': 'Donald Payslip done',
'employee_id': self.emp.id,
})
# Puts the waiting payslip to draft/waiting
waiting_payslip.compute_sheet()
# Puts the done payslip to the done state
done_payslip.compute_sheet()
done_payslip.action_payslip_done()
#create a time off for our employee, validating it now should not put it as to_defer
leave = self.env['hr.leave'].create({
'name': 'Golf time',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': (date.today() + relativedelta(day=13)),
'request_date_to': (date.today() + relativedelta(day=16)),
})
leave.action_approve()
self.assertNotEqual(leave.payslip_state, 'blocked', 'Leave should not be to defer')
def test_payslip_paid_past(self):
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2022-01-01',
'date_to': '2022-01-31',
})
payslip.compute_sheet()
self.assertEqual(payslip.state, 'verify')
leave_1 = self.env['hr.leave'].with_user(self.vlad).create({
'name': 'Tennis',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': '2022-01-12',
'request_date_to': '2022-01-12',
})
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave_1.sudo().action_validate()
self.assertEqual(leave_1.payslip_state, 'blocked', 'Leave should be to defer')
# A Simple User can request a leave if a payslip is paid
leave_2 = self.env['hr.leave'].with_user(self.vlad).create({
'name': 'Tennis',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': '2022-01-19',
'request_date_to': '2022-01-19',
})
leave_2.sudo().action_validate()
self.assertEqual(leave_2.payslip_state, 'blocked', 'Leave should be to defer')
# Check overlapping periods with no payslip
leave_3 = self.env['hr.leave'].with_user(self.vlad).create({
'name': 'Tennis',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': '2022-01-31',
'request_date_to': '2022-02-01',
})
leave_3.sudo().action_validate()
self.assertEqual(leave_3.payslip_state, 'blocked', 'Leave should be to defer')
leave_4 = self.env['hr.leave'].with_user(self.vlad).create({
'name': 'Tennis',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': '2021-01-31',
'request_date_to': '2022-01-03',
})
leave_4.sudo().action_validate()
self.assertEqual(leave_4.payslip_state, 'blocked', 'Leave should be to defer')
def test_report_to_next_month(self):
self.emp.contract_ids.generate_work_entries(date(2022, 1, 1), date(2022, 2, 28))
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2022-01-01',
'date_to': '2022-01-31',
})
payslip.compute_sheet()
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave = self.env['hr.leave'].new({
'name': 'Tennis',
'employee_id': self.emp.id,
'holiday_status_id': self.leave_type.id,
'request_date_from': date(2022, 1, 31),
'request_date_to': date(2022, 1, 31),
'request_hour_from': 7,
'request_hour_to': 18,
})
leave._compute_date_from_to()
leave = self.env['hr.leave'].create(leave._convert_to_write(leave._cache))
leave.action_validate()
self.assertEqual(leave.payslip_state, 'blocked', 'Leave should be to defer')
leave.action_report_to_next_month()
reported_work_entries = self.env['hr.work.entry'].search([
('employee_id', '=', self.emp.id),
('company_id', '=', self.env.company.id),
('state', '=', 'draft'),
('work_entry_type_id', '=', self.leave_type.work_entry_type_id.id),
('date_start', '>=', Datetime.to_datetime('2022-02-01')),
('date_stop', '<=', datetime.combine(Datetime.to_datetime('2022-02-28'), datetime.max.time()))
])
self.assertEqual(reported_work_entries[0].date_start, datetime(2022, 2, 1, 7, 0))
self.assertEqual(reported_work_entries[0].date_stop, datetime(2022, 2, 1, 11, 0))
self.assertEqual(reported_work_entries[1].date_start, datetime(2022, 2, 1, 12, 0))
self.assertEqual(reported_work_entries[1].date_stop, datetime(2022, 2, 1, 16, 0))
def test_report_to_next_month_overlap(self):
"""
If the time off overlap over 2 months, only report the exceeding part from january
In case leaves go over two months, only the leaves that are in the first month should be defered
"""
self.emp.contract_ids.generate_work_entries(date(2022, 1, 1), date(2022, 2, 28))
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2022-01-01',
'date_to': '2022-01-31',
})
payslip.compute_sheet()
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave = self.env['hr.leave'].new({
'name': 'Tennis',
'employee_id': self.emp.id,
'holiday_status_id': self.leave_type.id,
'request_date_from': date(2022, 1, 31),
'request_date_to': date(2022, 2, 2),
'request_hour_from': 7,
'request_hour_to': 18,
})
leave._compute_date_from_to()
leave = self.env['hr.leave'].create(leave._convert_to_write(leave._cache))
leave.action_validate()
self.assertEqual(leave.payslip_state, 'blocked', 'Leave should be to defer')
leave.action_report_to_next_month()
reported_work_entries = self.env['hr.work.entry'].search([
('employee_id', '=', self.emp.id),
('company_id', '=', self.env.company.id),
('state', '=', 'draft'),
('work_entry_type_id', '=', self.leave_type.work_entry_type_id.id),
('date_start', '>=', Datetime.to_datetime('2022-02-01')),
('date_stop', '<=', datetime.combine(Datetime.to_datetime('2022-02-28'), datetime.max.time()))
])
self.assertEqual(len(reported_work_entries), 6)
self.assertEqual(list({we.date_start.day for we in reported_work_entries}), [1, 2, 3])
self.assertEqual(reported_work_entries[0].date_start, datetime(2022, 2, 1, 7, 0))
self.assertEqual(reported_work_entries[0].date_stop, datetime(2022, 2, 1, 11, 0))
self.assertEqual(reported_work_entries[1].date_start, datetime(2022, 2, 1, 12, 0))
self.assertEqual(reported_work_entries[1].date_stop, datetime(2022, 2, 1, 16, 0))
def test_report_to_next_month_not_enough_days(self):
# If the time off contains too many days to be reported to next months, raise
self.emp.contract_ids.generate_work_entries(date(2022, 1, 1), date(2022, 2, 28))
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2022-01-01',
'date_to': '2022-01-31',
})
payslip.compute_sheet()
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave = self.env['hr.leave'].new({
'name': 'Tennis',
'employee_id': self.emp.id,
'holiday_status_id': self.leave_type.id,
'request_date_from': date(2022, 1, 1),
'request_date_to': date(2022, 1, 31),
'request_hour_from': 7,
'request_hour_to': 18,
})
leave._compute_date_from_to()
leave = self.env['hr.leave'].create(leave._convert_to_write(leave._cache))
leave.action_validate()
self.assertEqual(leave.payslip_state, 'blocked', 'Leave should be to defer')
with self.assertRaises(UserError):
leave.action_report_to_next_month()
def test_report_to_next_month_long_time_off(self):
# If the time off overlap over more than 2 months, raise
self.emp.contract_ids.generate_work_entries(date(2022, 1, 1), date(2022, 2, 28))
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2022-01-01',
'date_to': '2022-01-31',
})
payslip.compute_sheet()
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave = self.env['hr.leave'].new({
'name': 'Tennis',
'employee_id': self.emp.id,
'holiday_status_id': self.leave_type.id,
'request_date_from': date(2022, 1, 1),
'request_date_to': date(2022, 3, 10),
'request_hour_from': 7,
'request_hour_to': 18,
})
leave._compute_date_from_to()
leave = self.env['hr.leave'].create(leave._convert_to_write(leave._cache))
leave.action_validate()
self.assertEqual(leave.payslip_state, 'blocked', 'Leave should be to defer')
with self.assertRaises(UserError):
leave.action_report_to_next_month()
def test_report_to_next_month_half_days(self):
self.leave_type.request_unit = 'half_day'
self.emp.contract_ids.generate_work_entries(date(2022, 1, 1), date(2022, 2, 28))
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2022-01-01',
'date_to': '2022-01-31',
})
payslip.compute_sheet()
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave = self.env['hr.leave'].new({
'name': 'Tennis',
'holiday_status_id': self.leave_type.id,
'employee_id': self.emp.id,
'request_date_from': date(2022, 1, 31),
'request_date_to': date(2022, 1, 31),
'request_unit_half': True,
'request_date_from_period': 'am',
})
leave._compute_date_from_to()
leave = self.env['hr.leave'].create(leave._convert_to_write(leave._cache))
leave.action_validate()
self.assertEqual(leave.payslip_state, 'blocked', 'Leave should be to defer')
leave.action_report_to_next_month()
reported_work_entries = self.env['hr.work.entry'].search([
('employee_id', '=', self.emp.id),
('company_id', '=', self.env.company.id),
('state', '=', 'draft'),
('work_entry_type_id', '=', self.leave_type.work_entry_type_id.id),
('date_start', '>=', Datetime.to_datetime('2022-02-01')),
('date_stop', '<=', datetime.combine(Datetime.to_datetime('2022-02-28'), datetime.max.time()))
])
self.assertEqual(len(reported_work_entries), 1)
self.assertEqual(reported_work_entries[0].date_start, datetime(2022, 2, 1, 7, 0))
self.assertEqual(reported_work_entries[0].date_stop, datetime(2022, 2, 1, 11, 0))
def test_defer_next_month_double_time_off(self):
"""
If you have a time off 5 days on Jun and 3 days on july, when you "defer it to next month"
it's only the 5 days of Jun that should be postponed to july.
"""
self.emp.contract_ids._generate_work_entries(datetime(2023, 6, 1), datetime(2023, 7, 31))
payslip = self.env['hr.payslip'].create({
'name': 'toto payslip',
'employee_id': self.emp.id,
'date_from': '2023-06-01',
'date_to': '2023-06-30',
})
payslip.compute_sheet()
payslip.action_payslip_done()
self.assertEqual(payslip.state, 'done')
leave_data = [{
'name': 'Paid Time Off',
'employee_id': self.emp.id,
'holiday_status_id': self.leave_type.id,
'request_date_from': '2023-06-26 00:00:00',
'request_date_to': '2023-06-30 23:59:59',
}, {
'name': 'Paid Time Off',
'employee_id': self.emp.id,
'holiday_status_id': self.leave_type.id,
'request_date_from': '2023-07-03 00:00:00',
'request_date_to': '2023-07-05 23:59:59',
}]
leaves = self.env['hr.leave'].create(leave_data)
leaves.action_validate()
leaves[0].action_report_to_next_month()
# reported work entries between the 1st of july 2023 to the 31st of july 2023
july_work_entries = self.env['hr.work.entry'].search([
('employee_id', '=', self.emp.id),
('company_id', '=', self.env.company.id),
('state', '=', 'draft'),
('work_entry_type_id', '=', self.leave_type.work_entry_type_id.id),
('date_start', '>=', Datetime.to_datetime('2023-07-01')),
('date_stop', '<=', datetime.combine(Datetime.to_datetime('2023-07-31'), datetime.max.time()))
])
# The length of reported work entries is 16 because we are generating records for 8 days of leave.
# Each day is divided into two parts, morning and afternoon, resulting in a total of 16 work entries.
# These leaves cover the period from July 3rd to July 12th, excluding July 1st and 2nd as they are designated holidays.
self.assertEqual(len(july_work_entries), 16)
self.assertEqual(list({we.date_start.day for we in july_work_entries}), [3, 4, 5, 6, 7, 10, 11, 12])
self.assertEqual(july_work_entries[0].date_start, datetime(2023, 7, 3, 6, 0))
self.assertEqual(july_work_entries[0].date_stop, datetime(2023, 7, 3, 10, 0))
self.assertEqual(july_work_entries[1].date_start, datetime(2023, 7, 3, 11, 0))
self.assertEqual(july_work_entries[1].date_stop, datetime(2023, 7, 3, 15, 0))

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_hr_leave_allocation_inherit_filter" model="ir.ui.view">
<field name="name">hr.view.leave.allocation.inherit.filter</field>
<field name="model">hr.leave.allocation</field>
<field name="inherit_id" ref="hr_holidays.view_hr_leave_allocation_filter"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='employee_id']" position="after">
<field name="employee_id" string="Employee Code" filter_domain="[('employee_id.registration_number','ilike', self)]"/>
</xpath>
</field>
</record>
</odoo>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_leave_view_search" model="ir.ui.view">
<field name="name">hr.leave.view.form.inherit.hr.payroll.holidays</field>
<field name="model">hr.leave</field>
<field name="inherit_id" ref="hr_holidays.hr_leave_view_search_manager"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='group_employee']" position="before">
<separator/>
<filter string="To Defer" name="to_defer" domain="[('payslip_state', '=', 'blocked')]" groups="hr_holidays.group_hr_holidays_user"/>
<separator/>
</xpath>
<xpath expr="//field[@name='employee_id']" position="after">
<field name="employee_id" string="Employee Code" filter_domain="[('employee_id.registration_number','ilike', self)]"/>
</xpath>
</field>
</record>
<record id="hr_leave_action_open_to_defer" model="ir.actions.act_window">
<field name="name">Time Off to Defer</field>
<field name="res_model">hr.leave</field>
<field name="view_mode">list,kanban,form,calendar,activity</field>
<field name="search_view_id" ref="hr_holidays.hr_leave_view_search_manager"/>
<field name="domain">[('payslip_state', '=', 'blocked'), ('state', '=', 'validate'), ('employee_company_id', 'in', allowed_company_ids)]</field>
</record>
<record id="hr_leave_view_form_inherit" model="ir.ui.view">
<field name="name">hr.leave.view.form.inherit</field>
<field name="model">hr.leave</field>
<field name="inherit_id" ref="hr_holidays.hr_leave_view_form_manager"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='holiday_status_id']" position="after">
<field name="payslip_state" widget="state_selection"
options="{'hide_label': False}" class="ms-auto mb-2"/>
</xpath>
<button name="action_refuse" position="before">
<button
string="Report to Next Month"
name="action_report_to_next_month"
type="object"
class="oe_highlight"
groups="hr_payroll.group_hr_payroll_user"
invisible="payslip_state != 'blocked' or state != 'validate'"/>
</button>
</field>
</record>
<record id="hr_leave_view_tree_inherit_payroll" model="ir.ui.view">
<field name="name">hr.holidays.view.list.inherit.work.entry</field>
<field name="model">hr.leave</field>
<field name="inherit_id" ref="hr_holidays.hr_leave_view_tree"/>
<field name="mode">primary</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='state']" position="after">
<field name="payslip_state" widget="state_selection" options="{'hide_label': False}"/>
</xpath>
</field>
</record>
<record id="hr_leave_work_entry_action" model="ir.actions.act_window">
<field name="name">Time Off</field>
<field name="res_model">hr.leave</field>
<field name="view_mode">list,kanban,form,calendar,activity,gantt</field>
<field name="search_view_id" ref="hr_holidays.hr_leave_view_search_manager"/>
<field name="view_id" ref="hr_payroll_holidays.hr_leave_view_tree_inherit_payroll"/>
<field name="context">{
'search_default_to_defer':1,
'hide_employee_name': 1
}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Meet the time off dashboard.
</p><p>
A great way to keep track on employees PTOs, sick days, and approval status.
</p>
</field>
</record>
<menuitem
id="menu_work_entry_leave_to_approve"
name="Time Off to Report"
action="hr_leave_work_entry_action"
parent="hr_contract.hr_menu_contract"
sequence="75"
groups="hr_holidays.group_hr_holidays_user"/>
</odoo>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_payslip_run_view_tree" model="ir.ui.view">
<field name="name">hr.payslip.run.view.list.inherit.hr.payroll.holidays</field>
<field name="model">hr.payslip.run</field>
<field name="inherit_id" ref="hr_payroll.hr_payslip_run_tree"/>
<field name="arch" type="xml">
<xpath expr="//list" position="attributes">
<attribute name="js_class">hr_payroll_payslip_tree</attribute>
</xpath>
</field>
</record>
</odoo>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_payslip_view_form" model="ir.ui.view">
<field name="name">hr.payslip.view.form.inherit.hr.payroll.holidays</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
<field name="arch" type="xml">
<xpath expr="//form" position="attributes">
<attribute name="js_class">hr_payslip_form</attribute>
</xpath>
</field>
</record>
<record id="hr_payslip_view_tree" model="ir.ui.view">
<field name="name">hr.payslip.view.list.inherit.hr.payroll.holidays</field>
<field name="model">hr.payslip</field>
<field name="inherit_id" ref="hr_payroll.view_hr_payslip_tree"/>
<field name="arch" type="xml">
<xpath expr="//list" position="attributes">
<attribute name="js_class">hr_payroll_payslip_tree</attribute>
</xpath>
</field>
</record>
</odoo>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.hr.payroll.holidays</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="45"/>
<field name="inherit_id" ref="hr_payroll.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//block[@id='hr_payroll_accountant']" position="after">
<block title="Time Off">
<setting string="Deferred Time Off" help="Postpone time off after payslip validation">
<div class="content-group">
<div class="row mt16 ms-2">
<label string="Responsible" for="deferred_time_off_manager"
class="col-md-6 p-0 m-0 o_light_label"/>
<field name="deferred_time_off_manager" class="col-lg-6 p-0"/>
</div>
</div>
</setting>
</block>
</xpath>
</field>
</record>
</odoo>

View File

@ -0,0 +1,7 @@
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
from . import report
from . import wizard
from . import controller

View File

@ -0,0 +1,61 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'Indian Payroll',
'countries': ['in'],
'category': 'Human Resources/Payroll',
'depends': ['hr_payroll_holidays', 'hr_payroll'],
'auto_install': ['hr_payroll'],
'description': """
Indian Payroll Salary Rules.
============================
-Configuration of hr_payroll for India localization
-All main contributions rules for India payslip.
* New payslip report
* Employee Contracts
* Allow to configure Basic / Gross / Net Salary
* Employee PaySlip
* Allowance / Deduction
* Integrated with Leaves Management
* Medical Allowance, Travel Allowance, Child Allowance, ...
- Payroll Advice and Report
- Yearly Salary by Employee Report
""",
'data': [
'data/report_paperformat.xml',
'views/l10n_in_hr_payroll_report.xml',
'data/res_partner_data.xml',
'data/hr_salary_rule_category_data.xml',
'data/hr_payroll_structure_type_data.xml',
'data/hr_payroll_structure_data.xml',
'data/salary_rules/hr_salary_rule_stipend_data.xml',
'data/salary_rules/hr_salary_rule_ind_emp_data.xml',
'data/salary_rules/hr_salary_rule_regular_pay_data.xml',
'data/salary_rules/hr_salary_rule_worker_data.xml',
'data/hr_contract_type_data.xml',
'data/hr_rule_parameters_data.xml',
'data/ir_sequence_data.xml',
'data/hr_payroll_dashboard_warning_data.xml',
'wizard/hr_tds_calculation.xml',
'views/hr_contract_views.xml',
'views/res_users_views.xml',
'views/hr_employee_views.xml',
'views/res_config_settings_views.xml',
'security/ir.model.access.csv',
'views/report_payslip_details_template.xml',
'wizard/hr_salary_register.xml',
'views/report_hr_epf_views.xml',
'wizard/hr_yearly_salary_detail_view.xml',
'wizard/hr_payroll_payment_report.xml',
'views/report_hr_yearly_salary_detail_template.xml',
'views/report_payroll_advice_template.xml',
'views/l10n_in_salary_statement.xml',
'views/report_l10n_in_salary_statement.xml',
],
'demo': [
'data/l10n_in_hr_payroll_demo.xml',
],
'license': 'OEEL-1',
}

View File

@ -0,0 +1,3 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import main

View File

@ -0,0 +1,136 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime
from io import BytesIO
from copy import deepcopy
from odoo import http, _
from odoo.http import request
from odoo.tools.misc import xlsxwriter
class L10nInSalaryRegisterController(http.Controller):
def _get_payslip_rules(self, employee_ids, payslips, struct_id=None):
rule_by_name = []
if struct_id and struct_id.rule_ids:
rule_by_name = [(i.code, i.name) for i in struct_id.rule_ids]
else:
rule_by_name = [
(rule.code, rule.name)
for payslip in payslips
for rule in payslip.struct_id.rule_ids
]
child_dict = {code: [name, 0] for code, name in rule_by_name}
rules_per_employee = {employee_id: deepcopy(child_dict) for employee_id in employee_ids}
rules_by_name = dict(rule_by_name)
return rules_by_name, rules_per_employee
@http.route(['/export/salary-register/<int:wizard_id>'], type='http', auth='user')
def export_salary_register(self, wizard_id):
wizard = request.env['salary.register.wizard'].browse(wizard_id)
if not wizard.exists() or not request.env.user.has_group('hr_payroll.group_hr_payroll_user'):
return request.render(
'http_routing.http_error',
{
'status_code': 'Oops',
'status_message': _('It seems that you either not have the rights to access the Salary Register '
'or that you try to access it outside normal circumstances. '
'If you think there is a problem, please contact an administrator.')
}
)
output = BytesIO()
workbook = xlsxwriter.Workbook(output, {'in_memory': True})
worksheet = workbook.add_worksheet('salary_register_report')
style_highlight = workbook.add_format({'bold': True, 'pattern': 1, 'bg_color': '#E0E0E0', 'align': 'center'})
style_normal = workbook.add_format({'align': 'center'})
column_width = 30
date_from = str(wizard.date_from)
date_to = str(wizard.date_to)
employee_ids = wizard.employee_ids
struct_id = wizard.struct_id
# VERTICAL HEADERS
vertical_headers = [
_('EMPLOYER ID'),
_('EMPLOYER NAME'),
_('FROM DATE'),
_('TO DATE'),
]
# VERTICAL DATA
vertical_data = [
wizard.company_id.company_registry or '',
wizard.company_id.name,
date_from,
date_to,
]
blank_lines = 1
# HORIZONTAL HEADERS
horizontal_headers = [
_('EMPLOYEE CODE'),
_('EMPLOYEE NAME'),
]
# HORIZONTAL DATA
domain = [('employee_id', 'in', employee_ids.ids), ('date_from', '>=', date_from), ('date_to', '<=', date_to), ('state', '=', 'paid')]
if struct_id:
domain.append(('struct_id', '=', struct_id.id))
payslips_per_employee = dict(request.env['hr.payslip']._read_group(
domain=domain,
groupby=['employee_id'],
aggregates=['id:recordset'],
))
rules_by_name, rules_per_employee = self._get_payslip_rules(employee_ids, payslips_per_employee.values(), struct_id=struct_id)
rules_per_employee = {
employee: rules
for employee, rules in rules_per_employee.items()
if employee in payslips_per_employee
}
# Dynamically calculated headers
horizontal_headers = [*horizontal_headers, *rules_by_name.values()]
for employee_id, payslips in payslips_per_employee.items():
rule_codes = payslips.struct_id.rule_ids.mapped('code')
payslip_rules = payslips._get_line_values(rule_codes, compute_sum=True)
for code, rule in payslip_rules.items():
rules_per_employee[employee_id][code][1] += rule['sum']['total']
horizontal_data = []
for employee_id in rules_per_employee:
dynamic_horizontal_data = [data[1] for data in rules_per_employee[employee_id].values()]
horizontal_data.append((
employee_id.registration_number or "",
employee_id.name,
*dynamic_horizontal_data,
))
# WRITE IN WORKSHEET
row = 0
for (vertical_header, vertical_point) in zip(vertical_headers, vertical_data):
worksheet.write(row, 0, vertical_header, style_highlight)
worksheet.write(row, 1, vertical_point, style_normal)
row += 1
row += blank_lines
for col, horizontal_header in enumerate(horizontal_headers):
worksheet.write(row, col, horizontal_header, style_highlight)
worksheet.set_column(col, col, column_width)
for payroll_line in horizontal_data:
row += 1
for col, payroll_point in enumerate(payroll_line):
worksheet.write(row, col, payroll_point, style_normal)
row += 1
workbook.close()
xlsx_data = output.getvalue()
date_obj = datetime.strptime(date_from, '%Y-%m-%d').date()
filename = _("salary_register_report_%(year)s_%(month)s", year=date_obj.year, month=date_obj.month)
response = request.make_response(
xlsx_data,
headers=[
('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'),
('Content-Disposition', f'attachment; filename={filename}.xlsx')],
)
return response

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="l10n_in_contract_type_probation" model="hr.contract.type">
<field name="name">Probation</field>
<field name="sequence">4</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_contract_type_intern" model="hr.contract.type">
<field name="name">Intern</field>
<field name="sequence">5</field>
<field name="country_id" ref="base.in"/>
</record>
</odoo>

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="hr_payroll_dashboard_warning_missing_pan" model="hr.payroll.dashboard.warning">
<field name="name">Employees Without PAN Number</field>
<field name="country_id" ref="base.in"/>
<field name="evaluation_code">
indian_companies = self.env.companies.filtered(lambda c: c.country_id.code == 'IN')
if indian_companies:
# Employees Without PAN Number
employees_wo_pan = self.env['hr.employee'].search([
('l10n_in_pan', '=', False),
('company_id', 'in', indian_companies.ids),
])
if employees_wo_pan:
warning_count = len(employees_wo_pan)
warning_records = employees_wo_pan
</field>
</record>
<record id="hr_payroll_dashboard_warning_missing_uan" model="hr.payroll.dashboard.warning">
<field name="name">Employees Without UAN Number</field>
<field name="country_id" ref="base.in"/>
<field name="evaluation_code">
indian_companies = self.env.companies.filtered(lambda c: c.country_id.code == 'IN')
if indian_companies:
# Employees Without PAN Number
employees_wo_uan = self.env['hr.employee'].search([
('l10n_in_uan', '=', False),
('company_id', 'in', indian_companies.ids),
])
if employees_wo_uan:
warning_count = len(employees_wo_uan)
warning_records = employees_wo_uan
</field>
</record>
<record id="hr_payroll_dashboard_warning_missing_esic" model="hr.payroll.dashboard.warning">
<field name="name">Employees Without ESIC Number</field>
<field name="country_id" ref="base.in"/>
<field name="evaluation_code">
indian_companies = self.env.companies.filtered(lambda c: c.country_id.code == 'IN')
if indian_companies:
# Employees Without PAN Number
employees_wo_esic = self.env['hr.employee'].search([
('l10n_in_esic_number', '=', False),
('company_id', 'in', indian_companies.ids),
])
if employees_wo_esic:
warning_count = len(employees_wo_esic)
warning_records = employees_wo_esic
</field>
</record>
<record id="hr_payroll_dashboard_warning_incoming_probation" model="hr.payroll.dashboard.warning">
<field name="name">Employees Probation ends within a week</field>
<field name="country_id" ref="base.in"/>
<field name="evaluation_code">
indian_companies = self.env.companies.filtered(lambda c: c.country_id.code == 'IN')
if indian_companies:
# Employees who are on the probation and their contracts expire within a week
probation_contract_type = self.env.ref('l10n_in_hr_payroll.l10n_in_contract_type_probation', raise_if_not_found=False)
if probation_contract_type:
nearly_expired_contracts = self.env['hr.contract'].search([
('contract_type_id', '=', probation_contract_type.id),
('state', '=', 'open'), ('kanban_state', '!=', 'blocked'),
('date_end', '&lt;=', date.today() + relativedelta(days=7)),
('date_end', '&gt;=', date.today() + relativedelta(days=1)),
])
if nearly_expired_contracts:
warning_count = len(nearly_expired_contracts.employee_id)
warning_records = nearly_expired_contracts.employee_id
</field>
</record>
</data>
</odoo>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Salary Structure and structure type -->
<record id="hr_payroll_structure_in_employee_salary" model="hr.payroll.structure">
<field name="name">India: Regular Pay</field>
<field name="type_id" ref="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_emp_pay"/>
<field name="unpaid_work_entry_type_ids" eval="[(4, ref('hr_work_entry_contract.work_entry_type_unpaid_leave'))]"/>
<field name="country_id" ref="base.in"/>
<field name="report_id" ref="payslip_details_report"/>
</record>
<record id="structure_worker_0001" model="hr.payroll.structure">
<field name="name">Worker Pay</field>
<field name="type_id" ref="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_worker"/>
<field name="country_id" ref="base.in"/>
<field name="report_id" ref="payslip_details_report"/>
</record>
<record id="hr_payroll_structure_in_stipend" model="hr.payroll.structure">
<field name="name">Stipend</field>
<field name="type_id" ref="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_intern"/>
<field name="country_id" ref="base.in"/>
<field name="report_id" ref="payslip_details_report"/>
<field name="payslip_name">Stipend</field>
</record>
<record id="hr_payroll_salary_structure_ind_emp" model="hr.payroll.structure">
<field name="name">Non-Executive Employee</field>
<field name="country_id" ref="base.in"/>
<field name="type_id" ref="hr_payroll_salary_structure_type_ind_emp"/>
<field name="report_id" ref="payslip_details_report"/>
</record>
<record id="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_emp_pay" model="hr.payroll.structure.type">
<field name="default_struct_id" ref="hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_worker" model="hr.payroll.structure.type">
<field name="default_struct_id" ref="structure_worker_0001"/>
</record>
<record id="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_intern" model="hr.payroll.structure.type">
<field name="default_struct_id" ref="hr_payroll_structure_in_stipend"/>
</record>
<record id="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_emp" model="hr.payroll.structure.type">
<field name="default_struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
</odoo>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_contract.structure_type_worker" model="hr.payroll.structure.type">
<field name="wage_type">hourly</field>
</record>
<record id="hr_payroll_salary_structure_type_ind_emp_pay" model="hr.payroll.structure.type">
<field name="name">India: Employee Pay</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="hr_payroll_salary_structure_type_ind_intern" model="hr.payroll.structure.type">
<field name="name">India: Intern</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="hr_payroll_salary_structure_type_ind_worker" model="hr.payroll.structure.type">
<field name="name">India: Worker</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="hr_payroll_salary_structure_type_ind_emp" model="hr.payroll.structure.type">
<field name="name">India: Non-Executives</field>
<field name="country_id" ref="base.in"/>
</record>
</odoo>

View File

@ -0,0 +1,304 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="l10n_in_rule_parameter_basic" model="hr.rule.parameter">
<field name="name">India: Basic Salary Value</field>
<field name="code">l10n_in_basic_value</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_basic_value" model="hr.rule.parameter.value">
<field name="parameter_value">7000</field>
<field name="rule_parameter_id" ref="l10n_in_hr_payroll.l10n_in_rule_parameter_basic"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_basic_percent" model="hr.rule.parameter">
<field name="name">India: Basic Salary Percentage</field>
<field name="code">l10n_in_basic_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_basic_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.60</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_basic_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_regular_basic_day" model="hr.rule.parameter">
<field name="name">India: Basic Salary Days</field>
<field name="code">l10n_in_basic_days</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_regular_basic_day_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.31</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_regular_basic_day"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_hra" model="hr.rule.parameter">
<field name="name">India: House Rent Allowance Value</field>
<field name="code">l10n_in_hra_value</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_hra_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.40</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_hra"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_std_alw" model="hr.rule.parameter">
<field name="name">India: Standard Allowance</field>
<field name="code">l10n_in_std_alw</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_std_alw_value" model="hr.rule.parameter.value">
<field name="parameter_value">4167</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_std_alw"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_bonus_percent" model="hr.rule.parameter">
<field name="name">India: Bonus Value and Percentage</field>
<field name="code">l10n_in_bonus_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_bonus_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">[
(450000.00, (12, 0.30)),
(550000.00, (3, 0.20)),
(0.00, (1, 0.10)),
]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_bonus_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_tds_percent" model="hr.rule.parameter">
<field name="name">India: TDS Rate Chart</field>
<field name="code">l10n_in_tds_rate_chart</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_tds_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">[
(0.0, (0, 300000)),
(0.05, (300000, 600000)),
(0.1, (600000, 900000)),
(0.15, (900000, 1200000)),
(0.2, (1200000, 1500000)),
(0.3, (1500000, 'inf'))
]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_tds_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_surcharg_percent" model="hr.rule.parameter">
<field name="name">India: Surcharge Rate</field>
<field name="code">l10n_in_surcharge_rate</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_surcharge_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">[
(0.0, (0, 5000000)),
(0.1, (5000000, 10000000)),
(0.15, (10000000, 20000000)),
(0.25, (20000000, 'inf')),
]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_surcharg_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_standard_deduction" model="hr.rule.parameter">
<field name="name">India: Standard Deduction</field>
<field name="code">l10n_in_standard_deduction</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_standard_deduction_value" model="hr.rule.parameter.value">
<field name="parameter_value">50000</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_standard_deduction"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_min_income_tax_rebate" model="hr.rule.parameter">
<field name="name">India: Minimun Income for Tax Rebate</field>
<field name="code">l10n_in_min_income_tax_rebate</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_min_income_tax_rebate_value" model="hr.rule.parameter.value">
<field name="parameter_value">700000</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_min_income_tax_rebate"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_min_income_surcharge" model="hr.rule.parameter">
<field name="name">India: Miminum Income for Surcharge</field>
<field name="code">l10n_in_min_income_surcharge</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_min_income_surcharge_value" model="hr.rule.parameter.value">
<field name="parameter_value">5000000</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_min_income_surcharge"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_max_surcharge_tax_rate" model="hr.rule.parameter">
<field name="name">India: Maximum Tax Rate for Surcharge</field>
<field name="code">l10n_in_max_surcharge_tax_rate</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_max_surcharge_tax_rate_value" model="hr.rule.parameter.value">
<field name="parameter_value">[
(5000000, 1200000, 0),
(10000000, 2700000, 270000),
(20000000, 5700000, 855000),
(50000000, 14700000, 3675000),
]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_max_surcharge_tax_rate"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_lta_percent" model="hr.rule.parameter">
<field name="name">India: Leave Travel Allowance Value and Percentage</field>
<field name="code">l10n_in_lta_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_lta_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">[
(450000.00, (12, 0.30)),
(550000.00, (3, 0.20)),
(0.00, (1, 0.10)),
]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_lta_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_professional_tax" model="hr.rule.parameter">
<field name="name">India: Professional Tax</field>
<field name="code">l10n_in_professional_tax</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_professional_tax_value" model="hr.rule.parameter.value">
<field name="parameter_value">[-200, -150, -80]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_professional_tax"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_pf_percent" model="hr.rule.parameter">
<field name="name">India: Provident Fund Percentage</field>
<field name="code">l10n_in_pf_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_empr_pf_ctb_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.12</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_pf_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_pf_amount" model="hr.rule.parameter">
<field name="name">India: Provident Fund Value</field>
<field name="code">l10n_in_pf_amount</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_pf_amount_value" model="hr.rule.parameter.value">
<field name="parameter_value">15000.00</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_pf_amount"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_eps_contri_percent" model="hr.rule.parameter">
<field name="name">India: EPS Contri Percentage</field>
<field name="code">l10n_in_eps_contri_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_eps_contri_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.0833</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_eps_contri_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_esicf_percent" model="hr.rule.parameter">
<field name="name">India: Employer's State Insurance Corporation Percentage</field>
<field name="code">l10n_in_esicf_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_esicf_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.0325</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_esicf_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_city_alw_percent" model="hr.rule.parameter">
<field name="name">India: City Compensatory Allowance Percentage</field>
<field name="code">l10n_in_city_alw_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_city_alw_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.10</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_city_alw_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_chea" model="hr.rule.parameter">
<field name="name">India: Child Education Allowance</field>
<field name="code">l10n_in_chea_value</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_chea_value" model="hr.rule.parameter.value">
<field name="parameter_value">[100, 200]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_chea"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_child" model="hr.rule.parameter">
<field name="name">India: Child Hostel Allowance Value</field>
<field name="code">l10n_in_child_hostel_allowance</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_child_value" model="hr.rule.parameter.value">
<field name="parameter_value">[300, 600]</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_child"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_esicf" model="hr.rule.parameter">
<field name="name">India: Employer's State Insurance Corporation Value</field>
<field name="code">l10n_in_esicf_value</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_esicf_value" model="hr.rule.parameter.value">
<field name="parameter_value">21000</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_esicf"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_leave_days" model="hr.rule.parameter">
<field name="name">India: Leave Days</field>
<field name="code">l10n_in_leave_days</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_leave_days_value" model="hr.rule.parameter.value">
<field name="parameter_value">22</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_leave_days"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_cbda_percent" model="hr.rule.parameter">
<field name="name">India: India:Employee's NPS Contribution</field>
<field name="code">l10n_in_cbda_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_cbda_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.10</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_cbda_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
<record id="l10n_in_rule_parameter_performace_bonus_percent" model="hr.rule.parameter">
<field name="name">India: Performace Bonus Percentage</field>
<field name="code">l10n_in_regular_bonus_percent</field>
<field name="country_id" ref="base.in"/>
</record>
<record id="l10n_in_rule_parameter_performace_bonus_percent_value" model="hr.rule.parameter.value">
<field name="parameter_value">0.40</field>
<field name="rule_parameter_id" ref="l10n_in_rule_parameter_performace_bonus_percent"/>
<field name="date_from" eval="datetime(2000, 1, 1).date()"/>
</record>
</odoo>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- salary category -->
<record id="SPA" model="hr.salary.rule.category">
<field name="name">Special Allowance</field>
<field name="code">SPA</field>
</record>
<record id="LEAVE" model="hr.salary.rule.category">
<field name="name">Leave Allowance</field>
<field name="code">LEAVE</field>
</record>
<record id="PBS" model="hr.salary.rule.category">
<field name="name">Performance Bonus</field>
<field name="code">PBS</field>
<field name="parent_id" ref="hr_payroll.DED"/>
</record>
</odoo>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="seq_payment_advice" model="ir.sequence">
<field name="name">Payment Advice</field>
<field name="code">payment.advice</field>
<field name="padding">3</field>
<field name="company_id" eval="False" />
</record>
</data>
</odoo>

View File

@ -0,0 +1,430 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="base.partner_demo_company_in" model="res.partner" forcecreate="1">
<field name="name">IN Company</field>
<field name="street">Block no. 401</field>
<field name="street2">Street 2</field>
<field name="city">Hyderabad</field>
<field name="country_id" ref="base.in"/>
<field name="state_id" ref="base.state_in_ts"/>
<field name="zip">500001</field>
<field name="phone">+91 81234 56789</field>
</record>
<record id="base.demo_company_in" model="res.company" forcecreate="1">
<field name="name">IN Company</field>
<field name="partner_id" ref="base.partner_demo_company_in"/>
<field name="currency_id" ref="base.INR"/>
<field name="vat">24DUMMY1234AAZA</field>
</record>
<record id="bank_hdfc" model="res.bank">
<field name="name">HDFC Bank</field>
<field name="bic">HDFC0000123</field>
</record>
<record id="bank_sbi" model="res.bank">
<field name="name">State Bank</field>
<field name="bic">SBIS0000321</field>
</record>
<function model="res.users" name="write">
<value eval="[ref('base.user_root'), ref('base.user_admin'), ref('base.user_demo')]"/>
<value eval="{'company_ids': [(4, ref('base.demo_company_in'))]}"/>
</function>
<record id="l10n_in_res_partner_vihaan" model="res.partner">
<field name="name">Vihaan Sengupta</field>
<field name="street">A-4 Gunj Society</field>
<field name="street2">near AK Hospital</field>
<field name="city">Hyderabad</field>
<field name="zip">385426</field>
<field name="state_id" ref="base.state_in_ap"/>
<field name="country_id" ref="base.in"/>
<field name="phone">+91 98765 43021</field>
<field name="email">vihaan.sengupta@example.com</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_partner_aisha_sharma" model="res.partner">
<field name="name">Alisha Sharma</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_partner_shaurya_khurana" model="res.partner">
<field name="name">Shaurya Khurana</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_emp_vihaan_bank_account" model="res.partner.bank">
<field name="acc_number">1245670000123</field>
<field name="bank_id" ref="l10n_in_hr_payroll.bank_sbi"/>
<field name="company_id" ref="base.demo_company_in" />
<field name="partner_id" ref="l10n_in_hr_payroll.l10n_in_res_partner_vihaan"/>
<field name="currency_id" ref="base.INR"/>
<field name="allow_out_payment" eval="True"/>
</record>
<record id="l10n_in_emp_alisha_sharma_bank_account" model="res.partner.bank">
<field name="acc_number">0112340000998</field>
<field name="bank_id" ref="l10n_in_hr_payroll.bank_hdfc"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="partner_id" ref="l10n_in_hr_payroll.l10n_in_partner_aisha_sharma"/>
<field name="currency_id" ref="base.INR"/>
<field name="allow_out_payment" eval="True"/>
</record>
<record id="l10n_in_emp_shaurya_khurana_bank_account" model="res.partner.bank">
<field name="acc_number">0222340000789</field>
<field name="bank_id" ref="l10n_in_hr_payroll.bank_hdfc"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="partner_id" ref="l10n_in_hr_payroll.l10n_in_partner_shaurya_khurana"/>
<field name="currency_id" ref="base.INR"/>
<field name="allow_out_payment" eval="True"/>
</record>
<record id="l10n_in_user_vihaan" model="res.users">
<field name="partner_id" ref="l10n_in_hr_payroll.l10n_in_res_partner_vihaan"/>
<field name="login">vihaan@example.com</field>
<field name="password">vihaan@123</field>
<field name="signature" type="html"><span>--<br />+V. Sengupta</span></field>
<field name="company_ids" eval="[(4, ref('base.demo_company_in'))]"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="groups_id" eval="[(6,0, [ref('base.group_user')])]"/>
<field name="tz">Asia/Kolkata</field>
<field name="image_1920" type="base64" file="l10n_in_hr_payroll/static/img/hr_employee_vihaan.jpg"/>
</record>
<!-- resource calendar -->
<record id="l10n_in_resource_calendar_part_time" model="resource.calendar">
<field name="name">Standard 24 hours/week</field>
<field name="company_id" ref="base.demo_company_in"/>
<field name="hours_per_day">8</field>
<field name="attendance_ids"
eval="[(5, 0, 0),
(0, 0, {'name': 'Monday Morning', 'dayofweek': '0', 'hour_from': 8, 'hour_to': 12, 'day_period': 'morning'}),
(0, 0, {'name': 'Monday Afternoon', 'dayofweek': '0', 'hour_from': 13, 'hour_to': 17.0, 'day_period': 'afternoon'}),
(0, 0, {'name': 'Tuesday Morning', 'dayofweek': '1', 'hour_from': 8, 'hour_to': 12, 'day_period': 'morning'}),
(0, 0, {'name': 'Tuesday Afternoon', 'dayofweek': '1', 'hour_from': 13, 'hour_to': 17.0, 'day_period': 'afternoon'}),
(0, 0, {'name': 'Thursday Morning', 'dayofweek': '3', 'hour_from': 8, 'hour_to': 12, 'day_period': 'morning'}),
(0, 0, {'name': 'Thursday Afternoon', 'dayofweek': '3', 'hour_from': 13, 'hour_to': 17.0, 'day_period': 'afternoon'}),
]"
/>
</record>
<record id="l10n_in_hr_department_rd" model="hr.department">
<field name="name">Research &amp; Development IN</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_hr_department_tech_support" model="hr.department">
<field name="name">Technical Support &amp; Investigation</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_hr_department_marketing" model="hr.department">
<field name="name">Marketing</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_job_developer" model="hr.job">
<field name="name">Experienced Developer</field>
<field name="department_id" ref="l10n_in_hr_payroll.l10n_in_hr_department_rd"/>
<field name="no_of_recruitment">5</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<record id="l10n_in_job_intern" model="hr.job">
<field name="name">Technical Support &amp; Investigation Intern</field>
<field name="department_id" ref="l10n_in_hr_payroll.l10n_in_hr_department_tech_support"/>
<field name="no_of_recruitment">10</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<!-- Employee -->
<record id="l10n_in_hr_employee_vihaan" model="hr.employee">
<field name="name">Vihaan Sengupta</field>
<field name="gender">male</field>
<field name="marital">single</field>
<field name="work_phone">+91 8765432109</field>
<field name="department_id" ref="l10n_in_hr_payroll.l10n_in_hr_department_rd"/>
<field name="private_street">A-4 Gunj Society</field>
<field name="private_street2">near AK Hospital</field>
<field name="private_city">Hyderabad</field>
<field name="private_zip">385426</field>
<field name="private_state_id" ref="base.state_in_ap"/>
<field name="private_country_id" ref="base.in"/>
<field name="private_phone">+91 7654321098</field>
<field name="private_email">vihaan.sengupta123@example.com</field>
<field name="job_id" ref="l10n_in_hr_payroll.l10n_in_job_developer"/>
<field name="job_title">Software Developer</field>
<field name="work_contact_id" ref="l10n_in_hr_payroll.l10n_in_res_partner_vihaan"/>
<field name="emergency_contact">Harshiv Sengupta</field>
<field name="emergency_phone">+91 9348762345</field>
<field name="place_of_birth">India</field>
<field name="country_of_birth" ref="base.in"/>
<field name="certificate">bachelor</field>
<field name="study_field">Computer Engineering</field>
<field name="study_school">TechInnova University</field>
<field name="country_id" ref="base.in"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="resource_calendar_id" ref="resource.resource_calendar_std"/>
<field name="identification_id">82735682375623</field>
<field name="bank_account_id" ref="l10n_in_hr_payroll.l10n_in_emp_vihaan_bank_account"/>
<field name="image_1920" type="base64" file="l10n_in_hr_payroll/static/img/hr_employee_vihaan.jpg"/>
<field name="user_id" ref="l10n_in_hr_payroll.l10n_in_user_vihaan"/>
<field name="l10n_in_relationship">Father</field>
<field name="l10n_in_uan">124567334654</field>
<field name="l10n_in_esic_number">93874947361284657</field>
<field name="l10n_in_pan">HDIUE8765M</field>
</record>
<record id="l10n_in_hr_employee_shaurya" model="hr.employee">
<field name="name">Shaurya Khurana</field>
<field name="job_id" ref="l10n_in_hr_payroll.l10n_in_job_developer"/>
<field name="gender">male</field>
<field name="department_id" ref="l10n_in_hr_payroll.l10n_in_hr_department_tech_support"/>
<field name="work_contact_id" ref="l10n_in_hr_payroll.l10n_in_partner_shaurya_khurana"/>
<field name="marital">single</field>
<field name="work_phone">+91 7890123456</field>
<field name="private_street">503, highsky residency</field>
<field name="private_street2">VR Road</field>
<field name="private_city">Ahmedabad</field>
<field name="private_zip">385876</field>
<field name="private_state_id" ref="base.state_in_gj"/>
<field name="private_country_id" ref="base.in"/>
<field name="private_phone">+91 9870165432</field>
<field name="private_email">shaurya.khurana@example.com</field>
<field name="place_of_birth">India</field>
<field name="country_of_birth" ref="base.in"/>
<field name="tz">Asia/Kolkata</field>
<field name="country_id" ref="base.in"/>
<field name="resource_calendar_id" ref="l10n_in_resource_calendar_part_time"/>
<field name="identification_id">82735682375623</field>
<field name="bank_account_id" ref="l10n_in_hr_payroll.l10n_in_emp_shaurya_khurana_bank_account"/>
<field name="image_1920" type="base64" file="l10n_in_hr_payroll/static/img/hr_employee_shaurya.jpg"/>
<field name="parent_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_vihaan"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="l10n_in_uan">387438790384</field>
<field name="l10n_in_esic_number">93487475300284657</field>
<field name="l10n_in_pan">KUPYH9876I</field>
</record>
<record id="l10n_in_hr_employee_alisha_sharma" model="hr.employee">
<field name="name">Alisha Sharma</field>
<field name="job_id" ref="l10n_in_hr_payroll.l10n_in_job_intern"/>
<field name="department_id" ref="l10n_in_hr_payroll.l10n_in_hr_department_marketing"/>
<field name="work_contact_id" ref="l10n_in_hr_payroll.l10n_in_partner_aisha_sharma"/>
<field name="gender">female</field>
<field name="tz">Asia/Kolkata</field>
<field name="work_phone">+91 9887756789</field>
<field name="private_email">alisha.sharma@example.com</field>
<field name="place_of_birth">India</field>
<field name="country_of_birth" ref="base.in"/>
<field name="country_id" ref="base.in"/>
<field name="parent_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_shaurya"/>
<field name="bank_account_id" ref="l10n_in_hr_payroll.l10n_in_emp_alisha_sharma_bank_account"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="image_1920" type="base64" file="l10n_in_hr_payroll/static/img/hr_employee_alisha_sharma.jpg"/>
<field name="l10n_in_uan">398175628304</field>
<field name="l10n_in_esic_number">4658302649025064783</field>
<field name="l10n_in_pan">GUNI5723P</field>
</record>
<!-- Running Contract-->
<record id="l10n_in_hr_contract_alisha_sharma" model="hr.contract">
<field name="name">Alisha Sharma</field>
<field name="department_id" ref="l10n_in_hr_department_rd"/>
<field name="employee_id" ref="l10n_in_hr_employee_alisha_sharma"/>
<field name="structure_type_id" ref="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_intern"/>
<field name="wage" eval="25000"/>
<field name="state">open</field>
<field name="company_id" ref="base.demo_company_in"/>
<field name="hr_responsible_id" ref="base.user_demo"/>
<field name="date_start" eval="(DateTime.today() + relativedelta(years=-1, month=1, day=1))"/>
</record>
<record id="l10n_in_hr_contract_shaurya" model="hr.contract">
<field name="name">Shaurya Contract</field>
<field name="department_id" ref="l10n_in_hr_department_rd"/>
<field name="employee_id" ref="l10n_in_hr_employee_shaurya"/>
<field name="structure_type_id" ref="hr_contract.structure_type_worker"/>
<field name="wage_type">hourly</field>
<field name="hourly_wage">250</field>
<field name="wage" eval="15000"/>
<field name="time_credit" eval="True"/>
<field name="time_credit_type_id" ref="hr_work_entry_contract.work_entry_type_unpaid_leave"/>
<field name="resource_calendar_id" ref="l10n_in_resource_calendar_part_time"/>
<field name="state">open</field>
<field name="company_id" ref="base.demo_company_in"/>
<field name="hr_responsible_id" ref="base.user_demo"/>
<field name="date_start" eval="(DateTime.today() + relativedelta(years=-1, month=1, day=1))"/>
</record>
<record id="l10n_in_hr_contract_vihaan" model="hr.contract">
<field name="name">Vihaan Sengupta Contract</field>
<field name="department_id" ref="l10n_in_hr_department_rd"/>
<field name="employee_id" ref="l10n_in_hr_employee_vihaan"/>
<field name="structure_type_id" ref="l10n_in_hr_payroll.hr_payroll_salary_structure_type_ind_emp"/>
<field name="wage">50000</field>
<field name="state">open</field>
<field name="company_id" ref="base.demo_company_in"/>
<field name="l10n_in_tds">5000</field>
<field name="l10n_in_gratuity">1442.50</field>
<field name="l10n_in_medical_insurance">6550</field>
<field name="l10n_in_voluntary_provident_fund">12</field>
<field name="l10n_in_house_rent_allowance_metro_nonmetro">12</field>
<field name="l10n_in_supplementary_allowance">6850</field>
<field name="l10n_in_leave_allowance">2750</field>
<field name="l10n_in_esic_amount">1560</field>
<field name="hr_responsible_id" ref="base.user_demo"/>
<field name="date_start" eval="(DateTime.today() + relativedelta(years=-1, month=1, day=1))"/>
</record>
<!-- Expired Contract-->
<record id="l10n_in_hr_contract_vihaan_expired" model="hr.contract">
<field name="name">Vihaan Sengupta Contract</field>
<field name="department_id" ref="l10n_in_hr_department_rd"/>
<field name="employee_id" ref="l10n_in_hr_employee_vihaan"/>
<field name="structure_type_id" ref="hr_contract.structure_type_employee"/>
<field name="wage">40000</field>
<field name="state">close</field>
<field name="company_id" ref="base.demo_company_in"/>
<field name="hr_responsible_id" ref="base.user_demo"/>
<field name="date_start" eval="(DateTime.today() + relativedelta(years=-2, month=1, day=1))"/>
<field name="date_end" eval="(DateTime.today() + relativedelta(years=-1, month=1, day=1, days=-1))"/>
<field name="l10n_in_tds">4000</field>
<field name="l10n_in_gratuity">1142</field>
<field name="l10n_in_medical_insurance">5100</field>
<field name="l10n_in_voluntary_provident_fund">12</field>
<field name="l10n_in_house_rent_allowance_metro_nonmetro">16</field>
<field name="l10n_in_supplementary_allowance">5560</field>
<field name="l10n_in_leave_allowance">2000</field>
<field name="l10n_in_esic_amount">1160</field>
</record>
<!-- allocation -->
<record id="l10n_in_cl_allocation_1" model="hr.leave.allocation">
<field name="name">Paid Time Off for Indian Employee 1</field>
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
<field name="holiday_status_id" ref="hr_holidays.holiday_status_cl"/>
<field name="number_of_days">24</field>
<field name="state">confirm</field>
<field name="employee_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_vihaan"/>
</record>
<record id="l10n_in_cl_allocation_2" model="hr.leave.allocation">
<field name="name">Paid Time Off for Indian Employee 2</field>
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
<field name="holiday_status_id" ref="hr_holidays.holiday_status_cl"/>
<field name="number_of_days">24</field>
<field name="state">confirm</field>
<field name="employee_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_alisha_sharma"/>
</record>
<record id="l10n_in_cl_allocation_3" model="hr.leave.allocation">
<field name="name">Paid Time Off for Indian Employee 3</field>
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
<field name="holiday_status_id" ref="hr_holidays.holiday_status_cl"/>
<field name="number_of_days">24</field>
<field name="state">confirm</field>
<field name="employee_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_shaurya"/>
</record>
<!-- time-off -->
<record id="l10n_in_vihaan_time_off" model="hr.leave">
<field name="request_date_from" eval="DateTime.today() - relativedelta(years=1, month=9, day=11)"/>
<field name="request_date_to" eval="DateTime.today() - relativedelta(years=1, month=9, day=11)"/>
<field name="number_of_days">1</field>
<field name="holiday_status_id" ref="hr_holidays.holiday_status_cl"/>
<field name="employee_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_vihaan"/>
<field name="state">confirm</field>
</record>
<record id="l10n_in_alisha_half_time_off" model="hr.leave">
<field name="request_date_from" eval="DateTime.today() - relativedelta(years=1, month=11, day=6)"/>
<field name="request_date_to" eval="DateTime.today() - relativedelta(years=1, month=11, day=6)"/>
<field name="number_of_days">0.5</field>
<field name="request_unit_half" eval="True"/>
<field name="holiday_status_id" ref="hr_holidays.holiday_status_unpaid"/>
<field name="employee_id" ref="l10n_in_hr_payroll.l10n_in_hr_employee_alisha_sharma"/>
<field name="state">confirm</field>
</record>
<function model="hr.leave" name="action_validate">
<value model="hr.leave"
eval="[
ref('l10n_in_hr_payroll.l10n_in_vihaan_time_off'),
ref('l10n_in_hr_payroll.l10n_in_alisha_half_time_off'),
]"/>
</function>
<!-- salary attachment -->
<record id="l10n_in_salary_attachement_in_health_insurance" model="hr.salary.attachment">
<field name="employee_ids" eval="[(4, ref('l10n_in_hr_employee_vihaan'))]"/>
<field name="monthly_amount">5500</field>
<field name="total_amount">5500</field>
<field name="other_input_type_id" ref="hr_payroll.input_assignment_salary"/>
<field name="date_start" eval="DateTime.today() - relativedelta(years=1, month=10, day=1)"/>
<field name="description">Health Insurance</field>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<!-- payslip batch -->
<record id="l10n_in_hr_payslip_batch_year_1" model="hr.payslip.run">
<field name="name" eval="'India batch for ' + (DateTime.today() - relativedelta(years=1, month=10)).strftime('%B %Y')"/>
<field name="date_start" eval="(DateTime.today() - relativedelta(years=1, month=10, day=1)).strftime('%Y-%m-%d')"/>
<field name="date_end" eval="(DateTime.today() - relativedelta(years=1, month=10, day=31)).strftime('%Y-%m-%d')"/>
<field name="company_id" ref="base.demo_company_in"/>
</record>
<!-- payslip -->
<record id="l10n_in_hr_payslip_in_vihaan_sep" model="hr.payslip">
<field name="employee_id" ref="l10n_in_hr_employee_vihaan"/>
<field name="name">Vihaan Payslip September</field>
<field name="date_from" eval="DateTime.today() - relativedelta(years=1, month=9, day=1)"/>
<field name="date_to" eval="DateTime.today() - relativedelta(years=1, month=9, day=30)"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_payslip_in_shaurya_sep" model="hr.payslip">
<field name="employee_id" ref="l10n_in_hr_employee_shaurya"/>
<field name="name">Shaurya Payslip September</field>
<field name="date_from" eval="DateTime.today() - relativedelta(years=1, month=9, day=1)"/>
<field name="date_to" eval="DateTime.today() - relativedelta(years=1, month=9, day=30)"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="struct_id" ref="l10n_in_hr_payroll.structure_worker_0001"/>
</record>
<record id="l10n_in_hr_payslip_in_vihaan_oct" model="hr.payslip">
<field name="employee_id" ref="l10n_in_hr_employee_vihaan"/>
<field name="name">Vihaan Payslip October</field>
<field name="payslip_run_id" ref="l10n_in_hr_payslip_batch_year_1"/>
<field name="date_from" eval="DateTime.today() - relativedelta(years=1, month=10, day=1)"/>
<field name="date_to" eval="DateTime.today() - relativedelta(years=1, month=10, day=31)"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_payslip_in_alisha_sharma" model="hr.payslip">
<field name="employee_id" ref="l10n_in_hr_employee_alisha_sharma"/>
<field name="name">Alisha Sharma November</field>
<field name="date_from" eval="DateTime.today() - relativedelta(years=1, month=11, day=1)"/>
<field name="date_to" eval="DateTime.today() - relativedelta(years=1, month=11, day=30)"/>
<field name="company_id" ref="base.demo_company_in"/>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_stipend"/>
</record>
<function model="hr.payslip" name="compute_sheet">
<value model="hr.payslip" eval="[
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_vihaan_sep'),
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_vihaan_oct'),
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_shaurya_sep'),
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_alisha_sharma')
]"/>
</function>
<function model="hr.payslip" name="action_payslip_done">
<value model="hr.payslip" eval="[
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_vihaan_sep'),
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_vihaan_oct'),
ref('l10n_in_hr_payroll.l10n_in_hr_payslip_in_alisha_sharma')
]"/>
</function>
</data>
</odoo>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="paperformat_yealy_salary_head" model="report.paperformat">
<field name="name">Yealy Salary Head Report</field>
<field name="default" eval="True" />
<field name="format">A4</field>
<field name="page_height">0</field>
<field name="page_width">0</field>
<field name="orientation">Landscape</field>
<field name="margin_top">15</field>
<field name="margin_bottom">15</field>
<field name="margin_left">5</field>
<field name="margin_right">5</field>
<field name="disable_shrinking" eval="True"/>
<field name="dpi">96</field>
</record>
</odoo>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_houserent_allowance_register" model="res.partner">
<field name="name">Register for House Rent Allowance</field>
</record>
<record id="hr_register_provident_fund" model="res.partner">
<field name="name">Register for Provident Fund</field>
</record>
<record id="hr_professional_tax_deduction_register" model="res.partner">
<field name="name">Register for Professional Tax</field>
</record>
<record id="hr_food_coupen_register" model="res.partner">
<field name="name">Register for Food Coupen</field>
</record>
<record id="hr_tds_register" model="res.partner">
<field name="name">Register for TDS</field>
</record>
<record id="hr_nps_contribution_register" model="res.partner">
<field name="name">Register for NPS Contribution</field>
</record>
<record id="hr_vpf_contribution_register" model="res.partner">
<field name="name">Register for Voluntary Provident Fund</field>
</record>
<record id="hr_company_transport_register" model="res.partner">
<field name="name">Register for Company Provided Transport Deduction</field>
</record>
<record id="hr_labour_Welfare_fund_register" model="res.partner">
<field name="name">Register for State Labour Welfare Fund Deduction</field>
</record>
<record id="hr_group_term_insurance_register" model="res.partner">
<field name="name">Register for Company Provided Group Term Insurance Deduction</field>
</record>
<record id="hr_leave_availed_register" model="res.partner">
<field name="name">Register for Leave Availed Deduction</field>
</record>
<record id="hr_medical_insurance_register" model="res.partner">
<field name="name">Register for Company Provided Medical Insurance Deduction</field>
</record>
<record id="hr_other_deduction_register" model="res.partner">
<field name="name">Register for Other Deduction from Employer</field>
</record>
</odoo>

View File

@ -0,0 +1,511 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_salary_rule_houserentallowancemetro_nonmetro" model="hr.salary.rule">
<field name="code">HRAMN</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
nonmetro_alw = contract.l10n_in_house_rent_allowance_metro_nonmetro / 100
result = contract.wage * nonmetro_alw
</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">House Rent Allowance</field>
<field name="partner_id" ref="hr_houserent_allowance_register"/>
<field name="sequence" eval="51"/>
<field name="note">HRA is an allowance given by the employer to the employee for taking care of his rental or accommodation expenses.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_special" model="hr.salary.rule">
<field name="code">SA</field>
<field name="name">Grade/Special/Management/Supplementary Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_supplementary_allowance)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = contract.l10n_in_supplementary_allowance</field>
<field name="sequence" eval="20"/>
<field name="note">This allowance is normally given as an additional benefit to employees and is fully taxable.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payroll_rule_child1" model="hr.salary.rule">
<field name="code">CHEA</field>
<field name="name">Child Education Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(employee.children)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
amounts = payslip._rule_parameter('l10n_in_chea_value')
if employee.children == 1:
result = amounts[0]
else:
result = amounts[1]
</field>
<field name="sequence" eval="18"/>
<field name="note">Per school going child 1200 per annum is non-taxable.Maximum for 2 children, so max 2400 per annum becomes non-taxable.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payroll_rule_child2" model="hr.salary.rule">
<field name="code">CHEAH</field>
<field name="name">Child Hostel Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(employee.l10n_in_residing_child_hostel)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
amounts = payslip._rule_parameter('l10n_in_child_hostel_allowance')
if employee.l10n_in_residing_child_hostel == 1:
result = amounts[0]
else:
result = amounts[1]
</field>
<field name="note">In case the children are in hostel, the exemption available for child.</field>
<field name="sequence" eval="19"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payroll_rule_city1" model="hr.salary.rule">
<field name="code">CBDA</field>
<field name="name">City Compensatory Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">none</field>
<field name="sequence" eval="21"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
city_alw_percent = payslip._rule_parameter('l10n_in_city_alw_percent')
result = contract.wage * city_alw_percent
</field>
<field name="note">This allowance is paid to Employees who are posted in big cities. The purpose is to compensate the high cost of living in cities like Mumbai, Delhi, etc. However it is Fully Taxable.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payroll_rule_metrocity" model="hr.salary.rule">
<field name="code">CMETRO</field>
<field name="name">City Allowance for Metro city</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">none</field>
<field name="sequence" eval="22"/>
<field name="amount_select">fix</field>
<field name="amount_fix">850.0</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payroll_rule_nonmetrocity" model="hr.salary.rule">
<field name="code">CNMETRO</field>
<field name="name">City Allowance for Non Metro city</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">none</field>
<field name="sequence" eval="25"/>
<field name="amount_select">fix</field>
<field name="amount_fix">800.0</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_arrears" model="hr.salary.rule">
<field name="code">ARRE</field>
<field name="name">Arrears</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = 'ARS' in inputs and inputs['ARS'].amount
result_name = 'ARS' in inputs and inputs['ARS'].name
</field>
<field eval="0.0" name="amount_fix"/>
<field name="sequence" eval="28"/>
<field name="note">Generally arrears are fully taxable, but employee may claim exemption u/s 89(1).
One would need to compute income tax on the arrears if it would have been received in actual year.
Now difference of income tax between payment year and actual year would be allowed for deduction.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_medical" model="hr.salary.rule">
<field name="code">MEDA</field>
<field name="name">Medical Reimbursement</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = 'MR' in inputs and inputs['MR'].amount
result_name = 'MR' in inputs and inputs['MR'].name
</field>
<field name="sequence" eval="32"/>
<field name="note">This component is on-taxable up to 15000 per year (or Rs 1500 per month) on producing medical bills.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_food_coupon" model="hr.salary.rule">
<field name="amount_select">fix</field>
<field eval="50" name="amount_fix"/>
<field name="quantity">'WORK100' in worked_days and worked_days['WORK100'].number_of_days</field>
<field name="code">FC</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">Food Allowance</field>
<field name="partner_id" ref="hr_food_coupen_register"/>
<field name="sequence" eval="33"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_employer_alw_esic" model="hr.salary.rule">
<field name="code">ESICF</field>
<field name="name">Employer's State Insurance Corporation</field>
<field name="sequence" eval="168"/>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = result_rules['GROSS']['total'] &lt;= payslip._rule_parameter('l10n_in_esicf_value')</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
esicf_percent = payslip._rule_parameter('l10n_in_esicf_percent')
gross = categories['GROSS']
result = gross * esicf_percent
</field>
<field name="sequence" eval="110"/>
<field name="appears_on_payslip" eval="False"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_alw_erpf" model="hr.salary.rule">
<field name="code">ERPF</field>
<field name="name">Employer's PF Contribution</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
pf_ctb_percent = payslip._rule_parameter('l10n_in_pf_percent')
result = -contract.wage * pf_ctb_percent
</field>
<field name="sequence" eval="37"/>
<field name="partner_id" ref="hr_register_provident_fund"/>
<field name="appears_on_payslip" eval="False"/>
<field name="note">Both the employees and employer contribute to the fund at the rate of 12% of the basic wages, dearness allowance and retaining allowance, if any, payable to employees per month.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_journals" model="hr.salary.rule">
<field name="code">PERJ</field>
<field name="name">Book and Periodicals Allowance (BNP)</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = 'PJ' in inputs and inputs['PJ'].amount
result_name = 'PJ' in inputs and inputs['PJ'].name
</field>
<field name="sequence" eval="34"/>
<field name="note">Some employers may provide component for buying magazines, journals and books as a part of knowledge enhancement for business growth.This part would become non taxable on providing original bills.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_uniform_senior" model="hr.salary.rule">
<field name="code">UNIFS</field>
<field name="name">Uniform/Dress Allowance for Senior Executive</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">fix</field>
<field eval="1000" name="amount_fix"/>
<field name="sequence" eval="35"/>
<field name="note">Some sections of employees mat get allowance for purchase of office dress/uniform.In such case, the component would become non-taxable.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_telephone" model="hr.salary.rule">
<field name="code">TELR</field>
<field name="name">Telephone Reimbursement</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = 'TR' in inputs and inputs['TR'].amount
result_name = 'TR' in inputs and inputs['TR'].name
</field>
<field name="sequence" eval="36"/>
<field name="note">In some of the cases, companies may provide a component for telephone bills.Employees may provide actual phone usage bills to reimburse this component and make it non-taxable.
</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_prof_develope" model="hr.salary.rule">
<field name="code">PDA</field>
<field name="name">Professional Development Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">fix</field>
<field eval="0.0" name="amount_fix"/>
<field name="sequence" eval="37"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payroll_rule_car" model="hr.salary.rule">
<field name="code">CAR</field>
<field name="name">Car Expenses Reimbursement</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = 'CEI' in inputs and inputs['CEI'].amount
result_name = 'CEI' in inputs and inputs['CEI'].name
</field>
<field name="sequence" eval="38"/>
<field name="note">In case company provides component for this and employee use self owned car for official and personal purposes, Rs 1800 per month would be non-taxable on showing bills for fuel or can maintenance. This amount would be Rs 2400 in case car is more capacity than 1600cc.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_internet" model="hr.salary.rule">
<field name="code">INT</field>
<field name="name">Mobile and Internet Expense</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = 'IE' in inputs and inputs['IE'].amount
result_name = 'IE' in inputs and inputs['IE'].name
</field>
<field name="sequence" eval="39"/>
<field name="note">Employer may also provide reimbursement of Mobile and Internet Expense and thus this would become non taxable.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_driver" model="hr.salary.rule">
<field name="code">DRI</field>
<field name="name">Driver Salary</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_driver_salay)</field>
<field name="amount_select">fix</field>
<field eval="900.0" name="amount_fix"/>
<field name="sequence" eval="40"/>
<field name="note">Rs. 900 per month (non taxable)</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<!--hr salary rules for Deductions -->
<record id="hr_payslip_rule_epf" model="hr.salary.rule">
<field name="code">EPMF</field>
<field name="name">Employee's PF Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
pf_ctb_percent = payslip._rule_parameter('l10n_in_pf_percent')
result = -contract.wage * pf_ctb_percent
</field>
<field name= "note">Employer contribution does not become part of employees income and hence income tax is not payable on this part.</field>
<field name="partner_id" ref="hr_register_provident_fund"/>
<field name="sequence" eval="150"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_enps" model="hr.salary.rule">
<field name="code">ENPFC</field>
<field name="name">Employee's NPS Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
pf_ctb_percent = payslip._rule_parameter('l10n_in_cbda_percent')
result = -contract.wage * pf_ctb_percent
</field>
<field name="sequence" eval="155"/>
<field name="partner_id" ref="hr_nps_contribution_register"/>
<field name="note">Employee can claim deduction even of employer's contribution to NPS.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_vpf" model="hr.salary.rule">
<field name="code">VPF</field>
<field name="name">Voluntary Provident Fund Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_voluntary_provident_fund)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
VPF = contract.l10n_in_voluntary_provident_fund
result = -contract.wage * VPF / 100
</field>
<field name="sequence" eval="160"/>
<field name="partner_id" ref="hr_vpf_contribution_register"/>
<field name="note">VPF is a safe option wherein you can contribute more than the PF ceiling of 12% that has been mandated by the government.This additional amount enjoys all the benefits of PF except that the employer is not liable to contribute any extra amount apart from 12%.An added advantage is that the interest rate is equal to the interest rate of PF and he withdrawal is tax free. Please note that the maximum contribution towards VPF is 100% of your Basic.The highest rate of interest (close to 9%) makes it a very attractive saving scheme. Because of these advantages many employees chose not to close their PF account even after getting employment else where other than India.Employees also get a major tax break on their entire contribution to the fund up to a ceiling of Rs. 70,000/-</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_cpt" model="hr.salary.rule">
<field name="code">CPT</field>
<field name="name">Deduction for Company Provided Transport</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">none</field>
<field name="amount_select">fix</field>
<field eval="-1500.0" name="amount_fix"/>
<field name="partner_id" ref="hr_company_transport_register"/>
<field name="sequence" eval="165"/>
<field name="note">Company provided transport amount is based on company.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_salary_rule_food_coupon_ded" model="hr.salary.rule">
<field name="amount_select">fix</field>
<field eval="-50" name="amount_fix"/>
<field name="quantity">'WORK100' in worked_days and worked_days['WORK100'].number_of_days</field>
<field name="code">FD</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="name">Deduction Towards Food Coupons</field>
<field name="partner_id" ref="hr_food_coupen_register"/>
<field name="sequence" eval="166"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_lwf_employee" model="hr.salary.rule">
<field name="code">LWFE</field>
<field name="name">Employee's Deduction Towards State Labour Welfare Fund</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">fix</field>
<field eval="-3.0" name="amount_fix"/>
<field name="sequence" eval="170"/>
<field name="partner_id" ref="hr_labour_Welfare_fund_register"/>
<field name="note">The LWF is applicable to all the members of the organisation except the Management staff (Staffs having authority to sign on the cheque/official documents on behalf of the organisation). for e.x. Employee Contribution is Rs. 3.00 and Employer contribution Rs. 6.00 Total Rs 9.00 and deposited to the LWF office.It is half yearly contribution (June and December).</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_lwf_employer" model="hr.salary.rule">
<field name="code">LWF</field>
<field name="name">Employer's Deduction Towards State Labour Welfare Fund </field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">fix</field>
<field eval="-6.0" name="amount_fix"/>
<field name="sequence" eval="171"/>
<field name="partner_id" ref="hr_labour_Welfare_fund_register"/>
<field name="note">The LWF is applicable to all the members of the organisation except the Management staff (Staffs having authority to sign on the cheque/official documents on behalf of the organisation). for e.x. Employee Contribution is Rs. 3.00 and Employer contribution Rs. 6.00 Total Rs 9.00 and deposited to the LWF office.It is half yearly contribution (June and December).</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_cgti" model="hr.salary.rule">
<field name="code">CGTI</field>
<field name="name">Deduction Towards Company Provided Group Term Insurance</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">fix</field>
<field eval="-1000.0" name="amount_fix"/>
<field name="partner_id" ref="hr_group_term_insurance_register"/>
<field name="sequence" eval="175"/>
<field name="note">Group term insurance provides a solid foundation to a comprehensive employee benifit program,backed up by government asistance in the form of valuable tax incentives to both employees and employers.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_dla" model="hr.salary.rule">
<field name="code">DLA</field>
<field name="name">Deduction Towards Leave Availed</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = 'LAI' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = -inputs['LAI'].amount
result_name = inputs['LAI'].name
</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_cmt" model="hr.salary.rule">
<field name="code">CMT</field>
<field name="name">Deduction Towards Company Provided Medical Insurance</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_medical_insurance)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = -contract.l10n_in_medical_insurance
</field>
<field eval="-50.0" name="amount_fix"/>
<field name="partner_id" ref="hr_medical_insurance_register"/>
<field name="sequence" eval="185"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_ode" model="hr.salary.rule">
<field name="code">ODE</field>
<field name="name">Other Deduction from Employer</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">fix</field>
<field eval="-200.0" name="amount_fix"/>
<field name="partner_id" ref="hr_other_deduction_register"/>
<field name="sequence" eval="187"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_ernps" model="hr.salary.rule">
<field name="code">ENPC</field>
<field name="name">Employer's NPS Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
pf_ctb_percent = payslip._rule_parameter('l10n_in_cbda_percent')
result = -contract.wage * pf_ctb_percent
</field>
<field name="sequence" eval="190"/>
<field name="partner_id" ref="hr_nps_contribution_register"/>
<field name= "note">Any amount contributed by your employer to your NPS account is treated as part of your salary and is included in your income but you can claim deduction under Section 80C for this too.thus, effectively making it exempt from tax within the limit of 10% of your basic salary. This is very useful and tax efficient for you particularly if you fall in the maximum tax.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_erpf" model="hr.salary.rule">
<field name="code">EPF</field>
<field name="name">Employer's PF Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
pf_ctb_percent = payslip._rule_parameter('l10n_in_pf_percent')
result = -contract.wage * pf_ctb_percent
</field>
<field name="sequence" eval="195"/>
<field name="partner_id" ref="hr_register_provident_fund"/>
<field name="appears_on_payslip" eval="False"/>
<field name="note">Both the employees and employer contribute to the fund at the rate of 12% of the basic wages, dearness allowance and retaining allowance, if any, payable to employees per month.</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_employer_esics" model="hr.salary.rule">
<field name="code">ESICS</field>
<field name="name">Employer's State Insurance Corporation</field>
<field name="sequence" eval="168"/>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_esic_amount)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -contract.l10n_in_esic_amount</field>
<field name="appears_on_payslip" eval="False"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_expense" model="hr.salary.rule">
<field name="code">EXPENSE</field>
<field name="name">Refund Expenses</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = 'EXPENSES' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = inputs['EXPENSES'].amount
result_name = inputs['EXPENSES'].name
</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="hr_payslip_rule_gratuity" model="hr.salary.rule">
<field name="code">GRATUITY</field>
<field name="name">Gratuity</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="sequence" eval="169"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_gratuity)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -contract.l10n_in_gratuity</field>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
<record id="l10n_in_hr_salary_rule_pf" model="hr.salary.rule">
<field name="code">PF</field>
<field name="name">Provident fund</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_provident_fund)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
PF = payslip._rule_parameter('l10n_in_pf_percent')
result = -contract.wage * PF
</field>
<field name="sequence" eval="107"/>
<field name="struct_id" ref="hr_payroll_salary_structure_ind_emp"/>
</record>
</odoo>

View File

@ -0,0 +1,248 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<function model="hr.salary.rule" name="write">
<value model="hr.salary.rule" search="[('struct_id', '=', ref('l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary')),
('code', '=', 'BASIC')]"/>
<value eval="{'amount_python_compute': &quot;result = max(payslip._rule_parameter('l10n_in_basic_value'), payslip.paid_amount * payslip._rule_parameter('l10n_in_basic_percent') * payslip._rule_parameter('l10n_in_basic_days'))&quot;}"/>
</function>
<record id="hr_payslip_rule_tds" model="hr.salary.rule">
<field name="code">TDS</field>
<field name="name">Tax Deducted at Source</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_tds)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -(contract.l10n_in_tds)</field>
<field name="partner_id" ref="hr_tds_register"/>
<field name="sequence" eval="140"/>
<field name="note">As per income tax rules, all payment which are taxable in nature should be done after deduction of taxes at the source itself. Hence employer compute income tax on salary payment and deduct it every month. This TDS is based on employees saving/investment declaration at the start of year. If investments for tax saving is not done, large amount may be deducted in last few months.</field>
<field name="struct_id" ref="hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_hra" model="hr.salary.rule">
<field name="code">HRA</field>
<field name="name">House Rent Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="sequence" eval="16"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
hra_value = payslip._rule_parameter('l10n_in_hra_value')
result = categories['BASIC'] * hra_value
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_std" model="hr.salary.rule">
<field name="code">STD</field>
<field name="name">Standard Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="sequence" eval="20"/>
<field name="quantity">1</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
std_awl = payslip._rule_parameter('l10n_in_std_alw')
work_rate = 1
if payslip.worked_days_line_ids:
total_days = sum(payslip.worked_days_line_ids.mapped('number_of_days'))
total_unpaid_days = worked_days['LEAVE90'].number_of_days if 'LEAVE90' in worked_days else 0
work_rate = (total_days - total_unpaid_days) / total_days
result = std_awl * work_rate
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_bonus" model="hr.salary.rule">
<field name="code">BONUS</field>
<field name="name">Bonus</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="sequence" eval="22"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
bonus_percent = payslip._rule_parameter('l10n_in_bonus_percent')
result = 0
for treshhold, coef in bonus_percent:
annual_wage = contract.wage * coef[0]
if annual_wage &lt; treshhold:
result = categories['BASIC'] * coef[1]
break
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_lta" model="hr.salary.rule">
<field name="code">LTA</field>
<field name="name">Leave Travel Allowance</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="sequence" eval="23"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
lta_percent = payslip._rule_parameter('l10n_in_lta_percent')
result = 0
for treshhold, coef in lta_percent:
annual_wage = contract.wage * coef[0]
if annual_wage &lt; treshhold:
result = categories['BASIC'] * coef[1]
break
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_spl" model="hr.salary.rule">
<field name="code">SPL</field>
<field name="name">Supplementary Allowance</field>
<field name="category_id" ref="l10n_in_hr_payroll.SPA"/>
<field name="sequence" eval="29"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
basic_and_alw = categories['BASIC'] + categories['ALW']
basic_in_per = payslip._rule_parameter('l10n_in_basic_percent')
result = payslip.paid_amount * basic_in_per - basic_and_alw
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_p_bonus" model="hr.salary.rule">
<field name="code">P_BONUS</field>
<field name="name">Performance Bonus</field>
<field name="category_id" ref="l10n_in_hr_payroll.PBS"/>
<field name="sequence" eval="31"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
basic_percent = payslip._rule_parameter('l10n_in_basic_percent')
regular_bonus_percent = payslip._rule_parameter('l10n_in_regular_bonus_percent')
worked_days_ratio = 1
if payslip.worked_days_line_ids:
total_days = sum(payslip.worked_days_line_ids.mapped('number_of_days'))
total_unpaid_days = worked_days['LEAVE90'].number_of_days if 'LEAVE90' in worked_days else 0
worked_days_ratio = (total_days - total_unpaid_days) / total_days
bonus_base_ded = contract.wage * basic_percent * 2 / payslip._rule_parameter('l10n_in_leave_days') + contract.l10n_in_gratuity
bonus_base = contract.wage * regular_bonus_percent - bonus_base_ded
result = bonus_base * worked_days_ratio
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<function model="hr.salary.rule" name="write">
<value model="hr.salary.rule" search="[('struct_id', '=', ref('l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary')),
('code', '=', 'GROSS')]"/>
<value eval="{'amount_python_compute': &quot;result = payslip.paid_amount * payslip._rule_parameter('l10n_in_basic_percent')&quot;}"/>
</function>
<record id="l10n_in_hr_salary_rule_leave" model="hr.salary.rule">
<field name="code">LEAVE</field>
<field name="name">Leave Allowance</field>
<field name="category_id" ref="l10n_in_hr_payroll.LEAVE"/>
<field name="sequence" eval="101"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_leave_allowance)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = contract.l10n_in_leave_allowance</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
<field name="appears_on_payslip">False</field>
</record>
<record id="l10n_in_hr_salary_rule_pt" model="hr.salary.rule">
<field name="code">PT</field>
<field name="name">Professional Tax</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="sequence" eval="105"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">
amounts = payslip._rule_parameter('l10n_in_professional_tax')
if categories['GROSS'] &gt;= 12000:
result = amounts[0]
elif categories['GROSS'] &gt;= 9000 and categories['GROSS'] &lt; 12000:
result = amounts[1]
elif categories['GROSS'] &gt;= 6000 and categories['GROSS'] &lt; 9000:
result = amounts[2]
else:
result = 0
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="hr_salary_rule_pf_with_pf" model="hr.salary.rule">
<field name="code">PF</field>
<field name="name">Provident fund - Employee</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="sequence" eval="107"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_provident_fund)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
total_days = sum(payslip.worked_days_line_ids.mapped('number_of_days'))
total_worked_days = total_days - ('LEAVE90' in worked_days and worked_days['LEAVE90'].number_of_days)
result = - categories['BASIC'] * payslip._rule_parameter('l10n_in_pf_percent') if ((categories['BASIC']) &lt; 15000) else -(1800/total_days) * total_worked_days
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="hr_salary_rule_pfe_with_pf" model="hr.salary.rule">
<field name="code">PFE</field>
<field name="name">Provident fund - Employer</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="sequence" eval="110"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_provident_fund)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
total_days = sum(payslip.worked_days_line_ids.mapped('number_of_days'))
total_worked_days = total_days - ('LEAVE90' in worked_days and worked_days['LEAVE90'].number_of_days)
result = - categories['BASIC'] * payslip._rule_parameter('l10n_in_pf_percent') if ((categories['BASIC']) &lt; 15000) else -(1800/total_days) * total_worked_days
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_attach_salary" model="hr.salary.rule">
<field name="code">ATTACH_SALARY</field>
<field name="name">Attachment of Salary</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="sequence" eval="174"/>
<field name="condition_select">python</field>
<field name="condition_python">result = 'ATTACH_SALARY' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = -inputs['ATTACH_SALARY'].amount
result_name = inputs['ATTACH_SALARY'].name
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_assig_salary" model="hr.salary.rule">
<field name="code">ASSIG_SALARY</field>
<field name="name">Assignment of Salary</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="sequence" eval="174"/>
<field name="amount_select">code</field>
<field name="condition_select">python</field>
<field name="condition_python">result = 'ASSIG_SALARY' in inputs</field>
<field name="amount_python_compute">
result = -inputs['ASSIG_SALARY'].amount
result_name = inputs['ASSIG_SALARY'].name</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<record id="l10n_in_hr_salary_rule_expenses_reimbursement" model="hr.salary.rule">
<field name="name">Expenses Reimbursement</field>
<field name="code">EXPENSES</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="sequence" eval="190"/>
<field name="condition_select">python</field>
<field name="condition_python">result = inputs['EXPENSES'].amount > 0.0 if 'EXPENSES' in inputs else False</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = inputs['EXPENSES'].amount
result_name = inputs['EXPENSES'].name
</field>
<field name="struct_id" ref="l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary"/>
</record>
<function model="hr.salary.rule" name="write">
<value model="hr.salary.rule" search="[('struct_id', '=', ref('l10n_in_hr_payroll.hr_payroll_structure_in_employee_salary')),
('code', '=', 'NET')]"/>
<value eval="{'amount_python_compute': &quot;result = categories['BASIC'] + categories['ALW'] + categories['DED']&quot;}"/>
</function>
</odoo>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<function model="hr.salary.rule" name="unlink">
<value model="hr.salary.rule" search="[('struct_id', '=', ref('l10n_in_hr_payroll.hr_payroll_structure_in_stipend')),
('code', '=', 'BASIC')]"/>
</function>
<function model="hr.salary.rule" name="write">
<value model="hr.salary.rule" search="[('struct_id', '=', ref('l10n_in_hr_payroll.hr_payroll_structure_in_stipend')),
('code', '=', 'GROSS')]"/>
<value eval="{'amount_python_compute':&quot;result=( contract.wage - worked_days['LEAVE90'].amount) if 'LEAVE90' in worked_days else contract.wage &quot;}"/>
</function>
<function model="hr.salary.rule" name="write">
<value model="hr.salary.rule" search="[('struct_id', '=', ref('l10n_in_hr_payroll.hr_payroll_structure_in_stipend')),
('code', '=', 'NET')]"/>
<value eval="{ 'name': 'Net', 'amount_python_compute':&quot;result=(categories['GROSS'] + categories['ALW'] + categories['DED'])\nresult_name = _('NET')&quot;}"/>
</function>
</odoo>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_salary_worker_trans_allownce" model="hr.salary.rule">
<field name="code">TCA</field>
<field name="name">Transport/Conveyance Allownace</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">fix</field>
<field eval="800.0" name="amount_fix"/>
<field name="sequence" eval="14"/>
<field name="note">A conveyance allowance refers to an amount of money reimbursed to someone for the operation of a vehicle or the riding of a vehicle. The allowance is typically a designated amount or percentage of total transportation expenses that is referenced in a country's tax laws or code. Organizations and private or public businesses may also offer a conveyance allowance in addition to reimbursing employees or members for transportation expenses. In this instance, the conveyance allowance may identify an unusual transport occurrence that may not be covered by a designated travel expense report such as travel to a specific job site that requires a daily bus or taxi ride.</field>
<field name="struct_id" ref="structure_worker_0001"/>
</record>
<record id="hr_salary_rule_worker_special" model="hr.salary.rule">
<field name="code">SA</field>
<field name="name">Special</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.l10n_in_supplementary_allowance)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = contract.l10n_in_supplementary_allowance</field>
<field name="sequence" eval="20"/>
<field name="note">This allowance is normally given as an additional benefit to worker and is fully taxable.</field>
<field name="struct_id" ref="structure_worker_0001"/>
</record>
<record id="hr_payslip_line_worker_professional_tax" model="hr.salary.rule">
<field name="code">PTD</field>
<field name="name">Professional Tax</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="condition_select">python</field>
<field name="condition_python">result = categories['GROSS'] &gt;= 3000 </field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
amounts = payslip._rule_parameter('l10n_in_professional_tax')
if categories['GROSS'] &gt;= 12000:
result = amounts[0]
elif categories['GROSS'] &gt;= 9000 and categories &lt; 11999:
result = amounts[1]
elif categories['GROSS'] &gt;= 6000 and categories['GROSS'] &lt;= 8999:
result = amounts[2]
else:
result = 0
</field>
<field name="partner_id" ref="hr_professional_tax_deduction_register"/>
<field eval="145" name="sequence"/>
<field name="note">Workers living in states that impose the professional tax must submit a payment each half-year for the right to practice a profession or trade. It applies equally to employees who work for the national or state government, and those employed by private corporations. The professional tax uses a six-month accounting system, which divides the year into two periods, beginning on April 1 and October 1.</field>
<field name="struct_id" ref="structure_worker_0001"/>
</record>
</odoo>

View File

@ -0,0 +1,26 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * l10n_in_hr_payroll
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server saas~16.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-05 06:08+0000\n"
"PO-Revision-Date: 2023-06-05 06:08+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: l10n_in_hr_payroll
#: model_terms:ir.ui.view,arch_db:l10n_in_hr_payroll.report_payslip_details_template
msgid "Employee Code"
msgstr ""
#. module: l10n_in_hr_payroll
#: model_terms:ir.ui.view,arch_db:l10n_in_hr_payroll.report_payslip_details_template
msgid "Joining Date"
msgstr ""

View File

@ -0,0 +1,10 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import hr_employee
from . import res_users
from . import hr_contract
from . import hr_payslip
from . import hr_payslip_run
from . import res_company
from . import res_config_settings
from . import l10n_in_salary_statement

View File

@ -0,0 +1,47 @@
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import timedelta
from odoo import api, fields, models, _
class HrContract(models.Model):
"""
Employee contract allows to add different values in fields.
Fields are used in salary rule computation.
"""
_inherit = 'hr.contract'
l10n_in_tds = fields.Float(string='TDS', digits='Payroll',
help='Amount for Tax Deduction at Source')
l10n_in_driver_salay = fields.Boolean(string='Driver Salary', help='Check this box if you provide allowance for driver')
l10n_in_medical_insurance = fields.Float(string='Medical Insurance', digits='Payroll',
help='Deduction towards company provided medical insurance')
l10n_in_provident_fund = fields.Boolean(string='Provident Fund', default=False,
help='Check this box if you contribute for PF')
l10n_in_voluntary_provident_fund = fields.Float(string='Voluntary Provident Fund (%)', digits='Payroll',
help='VPF is a safe option wherein you can contribute more than the PF ceiling of 12% that has been mandated by the government and VPF computed as percentage(%)')
l10n_in_house_rent_allowance_metro_nonmetro = fields.Float(string='House Rent Allowance (%)', digits='Payroll',
help='HRA is an allowance given by the employer to the employee for taking care of his rental or accommodation expenses for metro city it is 50% and for non metro 40%. \nHRA computed as percentage(%)')
l10n_in_supplementary_allowance = fields.Float(string='Supplementary Allowance', digits='Payroll')
l10n_in_gratuity = fields.Float(string='Gratuity')
l10n_in_esic_amount = fields.Float(string='ESIC Amount', digits='Payroll',
help='Deduction towards company provided ESIC Amount')
l10n_in_leave_allowance = fields.Float(string='Leave Allowance', digits='Payroll',
help='Deduction towards company provided Leave Allowance')
@api.model
def update_state(self):
contract_type_id = self.env.ref('l10n_in_hr_payroll.l10n_in_contract_type_probation', raise_if_not_found=False)
if contract_type_id:
one_week_ago = fields.Date.today() - timedelta(weeks=1)
contracts = self.env['hr.contract'].search([
('date_end', '=', one_week_ago), ('state', '=', 'open'), ('contract_type_id', '=', contract_type_id.id)
])
for contract in contracts:
contract.activity_schedule(
'note.mail_activity_data_reminder',
user_id=contract.hr_responsible_id.id,
note=_("End date of %(name)s's contract is today.", name=contract.employee_id.name),
)
return super().update_state()

View File

@ -0,0 +1,24 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import re
from odoo import fields, models
class HrEmployee(models.Model):
_inherit = 'hr.employee'
l10n_in_uan = fields.Char(string='UAN', groups="hr.group_hr_user")
l10n_in_pan = fields.Char(string='PAN', groups="hr.group_hr_user")
l10n_in_esic_number = fields.Char(string='ESIC Number', groups="hr.group_hr_user")
l10n_in_relationship = fields.Char("Relationship", groups="hr.group_hr_user", tracking=True)
l10n_in_residing_child_hostel = fields.Integer("Child Residing in hostel", groups="hr.group_hr_user", tracking=True)
_sql_constraints = [
('unique_l10n_in_uan', 'unique (l10n_in_uan)', 'This UAN already exists'),
('unique_l10n_in_pan', 'unique (l10n_in_pan)', 'This PAN already exists'),
('unique_l10n_in_esic_number', 'unique (l10n_in_esic_number)', 'This ESIC Number already exists'),
]
def _get_employees_with_invalid_ifsc(self):
return self.filtered(lambda emp: not bool(re.match("^[A-Z]{4}0[A-Z0-9]{6}$", emp.bank_account_id.bank_bic)))

View File

@ -0,0 +1,57 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime, time
from odoo import api, models, _
from odoo.tools import format_date, date_utils
class HrPayslip(models.Model):
_inherit = 'hr.payslip'
def _get_l10n_in_company_working_time(self, return_hours=False):
self.ensure_one()
slip_date_time = datetime.combine(self.date_from, time(12, 0, 0))
company_work_data = self.company_id.resource_calendar_id.get_work_duration_data(
date_utils.start_of(slip_date_time, 'month'),
date_utils.end_of(slip_date_time, 'month'))
if return_hours:
return company_work_data['hours']
return company_work_data['days']
@api.depends('employee_id', 'struct_id', 'date_from')
def _compute_name(self):
super()._compute_name()
for slip in self.filtered(lambda s: s.country_code == 'IN'):
lang = slip.employee_id.lang or self.env.user.lang
payslip_name = slip.struct_id.payslip_name or _('Salary Slip')
date = format_date(self.env, slip.date_from, date_format="MMMM y", lang_code=lang)
if slip.number:
slip.name = '%(payslip_name)s - %(slip_ref)s - %(dates)s' % {
'slip_ref': slip.number,
'payslip_name': payslip_name,
'dates': date
}
else:
slip.name = '%(payslip_name)s - %(dates)s' % {
'payslip_name': payslip_name,
'dates': date
}
def _get_data_files_to_update(self):
# Note: file order should be maintained
return super()._get_data_files_to_update() + [(
'l10n_in_hr_payroll', [
'data/hr_salary_rule_category_data.xml',
'data/hr_payroll_structure_type_data.xml',
'data/hr_rule_parameters_data.xml',
'data/salary_rules/hr_salary_rule_ind_emp_data.xml',
'data/salary_rules/hr_salary_rule_regular_pay_data.xml',
'data/salary_rules/hr_salary_rule_worker_data.xml',
])]
def _get_base_local_dict(self):
return {**super()._get_base_local_dict(), '_': self.env._}
def _get_employee_timeoff_data(self):
return self.env['hr.leave.type'].with_company(self.company_id).with_context(employee_id=self.employee_id.id).get_allocation_data_request()

View File

@ -0,0 +1,26 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models, _
class HrPayslipRun(models.Model):
_inherit = 'hr.payslip.run'
def action_payment_report(self, export_format='advice'):
self.ensure_one()
return {
'name': _('Create Payment'),
'type': 'ir.actions.act_window',
'res_model': 'hr.payroll.payment.report.wizard',
'view_mode': 'form',
'view_id': 'hr_payslip_payment_report_view_form',
'views': [(False, 'form')],
'target': 'new',
'context': {
'default_payslip_ids': self.slip_ids.ids,
'default_payslip_run_id': self.id,
'default_export_format': export_format,
'default_date': self.date_end,
'dialog_size': 'medium',
},
}

View File

@ -0,0 +1,107 @@
import calendar
from odoo import api, fields, models, Command, _
from dateutil.relativedelta import relativedelta
from collections import defaultdict
from datetime import datetime
class L10nInSalaryStatement(models.Model):
_name = 'l10n_in_hr_payroll.salary.statement'
_inherit = 'hr.payroll.declaration.mixin'
_description = 'Salary Statement Report'
name = fields.Char(string="Description", required=True, compute='_compute_name', readonly=False, store=True)
month = fields.Selection([
('1', 'January'),
('2', 'February'),
('3', 'March'),
('4', 'April'),
('5', 'May'),
('6', 'June'),
('7', 'July'),
('8', 'August'),
('9', 'September'),
('10', 'October'),
('11', 'November'),
('12', 'December'),
], required=True, default=lambda self: str((fields.Date.today() + relativedelta(months=-1)).month))
def default_get(self, fields_list):
res = super().default_get(fields_list)
res['year'] = str(datetime.now().year)
return res
@api.depends('year', 'month')
def _compute_name(self):
for sheet in self:
month_name = calendar.month_name[int(sheet.month)]
sheet.name = _('Salary Statement - %(month)s, %(year)s', month=month_name, year=sheet.year)
def action_generate_declarations(self):
for sheet in self:
date_from = datetime(int(sheet.year), int(sheet.month), 1)
date_to = date_from + relativedelta(months=1, days=-1)
employees = self.env['hr.payslip'].search([
('date_to', '<=', date_to),
('date_from', '>=', date_from),
('state', 'in', ['done', 'paid']),
('company_id', '=', sheet.company_id.id),
]).mapped('employee_id')
sheet.write({
'line_ids': [Command.clear()] + [Command.create({
'employee_id': employee.id,
'res_model': 'l10n_in_hr_payroll.salary.statement',
'res_id': sheet.id,
}) for employee in employees]
})
return super().action_generate_declarations()
def _country_restriction(self):
return 'IN'
def _get_pdf_report(self):
return self.env.ref('l10n_in_hr_payroll.action_report_salary_statement')
def _get_rendering_data(self, employees):
self.ensure_one()
date_from = datetime(int(self.year), int(self.month), 1)
date_to = date_from + relativedelta(months=1)
payslips = self.env['hr.payslip'].search([
('employee_id', 'in', employees.ids),
('state', 'in', ['done', 'paid']),
('date_from', '>=', date_from),
('date_to', '<=', date_to),
])
result = defaultdict(lambda: {
'month': calendar.month_name[int(self.month)],
'year': self.year,
'allow_rules': defaultdict(lambda: {'name': '', 'total': 0, 'total_annual': 0}),
'deduct_rules': defaultdict(lambda: {'name': '', 'total': 0, 'total_annual': 0}),
'ctc': 0,
'ctc_annual': 0
})
for line in payslips.line_ids.filtered(lambda l: l.salary_rule_id.appears_on_payslip):
employee_id = line.employee_id
rule_category = result[employee_id]['deduct_rules' if line.total < 0 else 'allow_rules'][line.salary_rule_id]
rule_category['name'] = line.salary_rule_id.name
rule_category['total'] = line.total
rule_category['total_annual'] = line.total * 12
if line.code == 'GROSS' or line.total < 0:
total = abs(line.total)
result[employee_id]['ctc'] += total
result[employee_id]['ctc_annual'] += total * 12
result[employee_id]['date'] = line.date_from.strftime('%d/%m/%Y')
result = dict(result)
return result
def _get_pdf_filename(self, employee):
self.ensure_one()
month_name = calendar.month_name[int(self.month)]
return _('%(employee_name)s-salary-statement-report-%(month)s-%(year)s', employee_name=employee.name, month=month_name, year=self.year)

View File

@ -0,0 +1,16 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResCompany(models.Model):
_inherit = 'res.company'
l10n_in_dearness_allowance = fields.Boolean(string='Dearness Allowance', default=True,
help='Check this box if your company provide Dearness Allowance to employee')
l10n_in_epf_employer_id = fields.Char(string="EPF Employer ID",
help="Code of 10 numbers. The first seven numbers represent the establishment ID.\n Next three numbers represent the extension code.")
l10n_in_esic_ip_number = fields.Char(string="ESIC IP Number",
help="Code of 17 digits.\n The Identification number is assigned to the company if registered under the Indian provisions of the Employee\'s State Insurance (ESI) Act.")
l10n_in_pt_number = fields.Char(string="PT Number",
help="Code of 11 digit.\n The P TIN digit number with the first two digits indicating the State.")
l10n_in_is_statutory_compliance = fields.Boolean(string="Statutory Compliance")

View File

@ -0,0 +1,14 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
l10n_in_dearness_allowance = fields.Boolean(
string="Dearness Allowance", related='company_id.l10n_in_dearness_allowance', readonly=False)
l10n_in_epf_employer_id = fields.Char(related='company_id.l10n_in_epf_employer_id', readonly=False)
l10n_in_esic_ip_number = fields.Char(related='company_id.l10n_in_esic_ip_number', readonly=False)
l10n_in_pt_number = fields.Char(related='company_id.l10n_in_pt_number', readonly=False)
l10n_in_is_statutory_compliance = fields.Boolean(related='company_id.l10n_in_is_statutory_compliance', readonly=False)

View File

@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class User(models.Model):
_inherit = 'res.users'
l10n_in_relationship = fields.Char(related='employee_id.l10n_in_relationship', readonly=False, related_sudo=False)
@property
def SELF_READABLE_FIELDS(self):
return super().SELF_READABLE_FIELDS + ['l10n_in_relationship']
@property
def SELF_WRITEABLE_FIELDS(self):
return super().SELF_WRITEABLE_FIELDS + ['l10n_in_relationship']

View File

@ -0,0 +1,6 @@
# -*- coding:utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import report_payroll_advice
from . import report_hr_yearly_salary_detail
from . import report_hr_epf

View File

@ -0,0 +1,149 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import base64
import io
import calendar
from odoo import api, fields, models
from odoo.tools.misc import xlsxwriter
MONTH_SELECTION = [
('1', 'January'),
('2', 'February'),
('3', 'March'),
('4', 'April'),
('5', 'May'),
('6', 'June'),
('7', 'July'),
('8', 'August'),
('9', 'September'),
('10', 'October'),
('11', 'November'),
('12', 'December'),
]
class HrEPFReport(models.Model):
_name = 'l10n.in.hr.payroll.epf.report'
_description = 'Indian Payroll: Employee Provident Fund Report'
month = fields.Selection(MONTH_SELECTION, default='1', required=True)
year = fields.Integer(required=True, default=lambda self: fields.Date.context_today(self).year)
xls_file = fields.Binary(string="XLS file")
xls_filename = fields.Char()
@api.depends('month', 'year')
def _compute_display_name(self):
month_description = dict(self._fields['month']._description_selection(self.env))
for report in self:
report.display_name = f"{month_description.get(report.month)}-{report.year}"
@api.model
def _get_employee_pf_data(self, year, month):
# Get the relevant records based on the year and month
indian_employees = self.env['hr.employee'].search([('contract_id.l10n_in_provident_fund', '=', True)]).filtered(lambda e: e.company_country_code == 'IN')
result = []
end_date = calendar.monthrange(year, int(month))[1]
payslips = self.env['hr.payslip'].search([
('employee_id', 'in', indian_employees.ids),
('date_from', '>=', f'{year}-{month}-1'),
('date_to', '<=', f'{year}-{month}-{end_date}'),
('state', 'in', ('done', 'paid'))
])
if not payslips:
return []
payslip_line_values = payslips._get_line_values(['GROSS', 'BASIC', 'PF'])
for employee in indian_employees:
wage = 0
epf = 0
eps = 0
epf_contri = 0
payslip_ids = payslips.filtered(lambda p: p.employee_id == employee)
if not payslip_ids:
continue
for payslip in payslip_ids:
pf_value = payslip_line_values['PF'][payslip.id]['total']
if pf_value == 0:
continue
epf_contri -= pf_value
wage += payslip_line_values['GROSS'][payslip.id]['total']
epf += payslip_line_values['BASIC'][payslip.id]['total']
# Skip the employee if there are no valid PF contributions
if epf_contri == 0:
continue
# Calculate contributions and differences
eps = min(payslip_ids[0]._rule_parameter('l10n_in_pf_amount'), epf)
eps_contri = round(eps * payslip_ids[0]._rule_parameter('l10n_in_eps_contri_percent'), 2)
diff = round(epf_contri - eps_contri, 2)
result.append((
employee.l10n_in_uan,
employee.name,
wage,
epf,
eps,
eps,
epf_contri,
eps_contri,
diff,
0, 0,
))
return result
def action_export_xlsx(self):
self.ensure_one()
output = io.BytesIO()
workbook = xlsxwriter.Workbook(output, {'in_memory': True})
worksheet = workbook.add_worksheet('Employee_provident_fund_report')
style_highlight = workbook.add_format({'bold': True, 'pattern': 1, 'bg_color': '#E0E0E0', 'align': 'center'})
style_normal = workbook.add_format({'align': 'center', 'font_size': 12})
row = 0
worksheet.set_row(row, 20)
headers = [
"UAN",
"MEMBER NAME",
"GROSS WAGES",
"EPF WAGES",
"EPS WAGES",
"EDLI WAGES",
"EPF CONTRIBUTION REMITTED",
"EPS CONTRIBUTION REMITTED",
"EPF EPS DIFFERENCE REMITTED",
"NCP DAYS",
"REFUNDED OF ADVANCES"
]
rows = self._get_employee_pf_data(self.year, self.month)
for col, header in enumerate(headers):
worksheet.write(row, col, header, style_highlight)
worksheet.set_column(col, col, 30)
row = 1
for data_row in rows:
col = 0
worksheet.set_row(row, 20)
for data in data_row:
worksheet.write(row, col, data, style_normal)
col += 1
row += 1
workbook.close()
xlsx_data = output.getvalue()
self.xls_file = base64.encodebytes(xlsx_data)
self.xls_filename = f"{self.display_name} EPF Report.xlsx"

View File

@ -0,0 +1,149 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import date
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models, _
from odoo.tools import SQL
from odoo.exceptions import UserError
class EmployeesYearlySalaryReport(models.AbstractModel):
_name = 'report.l10n_in_hr_payroll.report_hryearlysalary'
_description = "Indian Yearly Salary Report"
# YTI: This mess deserves a good cleaning
def _get_periods_new(self, form):
months = []
# Get start year-month-date and end year-month-date
first_year = int(form['year'])
first_month = 1
# Get name of the months from integer
month_name = []
for count in range(0, 12):
m = date(first_year, first_month, 1).strftime('%b')
month_name.append(m)
months.append(f"{first_month:02d}-{first_year}")
if first_month == 12:
first_month = 0
first_year += 1
first_month += 1
return [month_name], months
def _get_employee(self, form):
return self.env['hr.employee'].browse(form.get('employee_ids', []))
def _get_employee_detail_new(self, form, employee_id, months, date_from, date_to):
structures_data = {}
payslip_lines = self._cal_monthly_amt(form, employee_id, months, date_from, date_to)
for structure_name, payslip_data in payslip_lines.items():
allow_list = []
deduct_list = []
total = 0.0
gross = False
net = False
for line in payslip_data:
code = line[0]
subline = line[1:]
if code == "GROSS":
gross = [code, subline]
elif code == "NET":
net = [code, subline]
elif subline[-1] > 0.0 and code != "NET":
total += subline[-1]
allow_list.append([code, subline])
elif subline[-1] < 0.0:
total += subline[-1]
deduct_list.append([code, subline])
if gross:
allow_list.append(gross)
if net:
deduct_list.append(net)
structures_data[structure_name] = {
'allow_list': allow_list,
'deduct_list': deduct_list,
'total': total,
}
return structures_data
def _cal_monthly_amt(self, form, emp_id, months, date_from, date_to):
result = {}
salaries = {}
self.env.cr.execute(SQL(
"""
SELECT src.code, pl.name, sum(pl.total), to_char(p.date_to,'mm-yyyy') as to_date, ps.name
FROM hr_payslip_line as pl
LEFT JOIN hr_salary_rule AS sr on sr.id = pl.salary_rule_id
LEFT JOIN hr_salary_rule_category AS src on (sr.category_id = src.id)
LEFT JOIN hr_payslip as p on pl.slip_id = p.id
LEFT JOIN hr_employee as e on e.id = p.employee_id
LEFT JOIN hr_payroll_structure as ps on ps.id = p.struct_id
WHERE p.employee_id = %(employee_id)s
AND p.state = 'paid'
AND p.date_from >= %(date_from)s AND p.date_to <= %(date_to)s
GROUP BY src.parent_id, pl.sequence, pl.id, sr.category_id, pl.name, p.date_to, src.code, ps.name
ORDER BY pl.sequence, src.parent_id
""", employee_id=emp_id, date_from=date_from, date_to=date_to
))
for category_code, item_name, amount, payslip_date, structure_name in self.env.cr.fetchall():
salaries.setdefault(structure_name, {}).setdefault(category_code, {}).setdefault(item_name, {}).setdefault(payslip_date, 0.0)
salaries[structure_name][category_code][item_name][payslip_date] += amount
result = {key: self.salary_list(value, months) for key, value in salaries.items()}
return result
def salary_list(self, salaries, months):
cat_salary_all = []
for code, category_amount in salaries.items():
for category_name, amount in category_amount.items():
cat_salary = [code, category_name]
total = 0.0
for month in months:
if month != 'None':
if len(month) != 7:
month = '0' + str(month)
if amount.get(month):
cat_salary.append(amount[month])
total += amount[month]
else:
cat_salary.append(0.00)
else:
cat_salary.append('')
cat_salary.append(total)
cat_salary_all.append(cat_salary)
return cat_salary_all
@api.model
def _get_report_values(self, docids, data=None):
if not self.env.context.get('active_model') or not self.env.context.get('active_id'):
raise UserError(_("Form content is missing, this report cannot be printed."))
model = self.env.context.get('active_model')
docs = self.env[model].browse(self.env.context.get('active_id'))
employees = self._get_employee(data['form'])
month_name, months = self._get_periods_new(data['form'])
date_from = fields.Date.today() + relativedelta(day=1, month=1, year=int(data['form']['year']))
date_to = fields.Date.today() + relativedelta(day=31, month=12, year=int(data['form']['year']))
employee_data = {}
for employee in employees:
structures_data = self._get_employee_detail_new(data['form'], employee.id, months, date_from, date_to)
employee_data[employee.id] = structures_data
return {
'doc_ids': docids,
'doc_model': model,
'data': data,
'docs': docs,
'date_from': date_from,
'date_to': date_to,
'get_employee': self._get_employee,
'get_periods': lambda form: month_name,
'get_employee_detail_new': lambda emp_id: employee_data.get(emp_id, {}),
}

View File

@ -0,0 +1,34 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import time
from odoo import api, models
class payroll_advice_report(models.AbstractModel):
_name = 'report.l10n_in_hr_payroll.report_payrolladvice'
_description = "Indian Payroll Advice Report"
def get_month(self, input_date):
res = {
'from_name': '', 'to_name': ''
}
slip = self.env['hr.payslip'].search([('date_from', '<=', input_date), ('date_to', '>=', input_date)], limit=1)
if slip:
from_date = slip.date_from
to_date = slip.date_to
res['from_name'] = from_date.strftime('%d') + '-' + from_date.strftime('%B') + '-' + from_date.strftime('%Y')
res['to_name'] = to_date.strftime('%d') + '-' + to_date.strftime('%B') + '-' + to_date.strftime('%Y')
return res
@api.model
def _get_report_values(self, docids, data=None):
payment_report = self.env['hr.payroll.payment.report.wizard'].browse(docids)
return {
'doc_ids': docids,
'doc_model': 'hr.payroll.payment.report.wizard',
'data': data,
'docs': payment_report,
'time': time,
'get_month': self.get_month,
}

View File

@ -0,0 +1,6 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_yearly_salary_detail_user","yearly.salary.detail","model_yearly_salary_detail","hr_payroll.group_hr_payroll_user",1,1,1,0
l10n_in_hr_payroll.access_salary_register_wizard,access_salary_register_wizard,l10n_in_hr_payroll.model_salary_register_wizard,hr_payroll.group_hr_payroll_user,1,1,1,1
l10n_in_hr_payroll.access_l10n_in_tds_computation_wizard,access_l10n_in_tds_computation_wizard,l10n_in_hr_payroll.model_l10n_in_tds_computation_wizard,base.group_user,1,1,1,0
access_report_l10n_in_hr_payroll_report_epf,report.l10n_in_hr_payroll.report_epf,model_l10n_in_hr_payroll_epf_report,hr_payroll.group_hr_payroll_user,1,1,1,1
l10n_in_hr_payroll.access_l10n_in_hr_payroll_salary_statement,access_l10n_in_hr_payroll_salary_statement,l10n_in_hr_payroll.model_l10n_in_hr_payroll_salary_statement,"hr_payroll.group_hr_payroll_user",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_yearly_salary_detail_user yearly.salary.detail model_yearly_salary_detail hr_payroll.group_hr_payroll_user 1 1 1 0
3 l10n_in_hr_payroll.access_salary_register_wizard access_salary_register_wizard l10n_in_hr_payroll.model_salary_register_wizard hr_payroll.group_hr_payroll_user 1 1 1 1
4 l10n_in_hr_payroll.access_l10n_in_tds_computation_wizard access_l10n_in_tds_computation_wizard l10n_in_hr_payroll.model_l10n_in_tds_computation_wizard base.group_user 1 1 1 0
5 access_report_l10n_in_hr_payroll_report_epf report.l10n_in_hr_payroll.report_epf model_l10n_in_hr_payroll_epf_report hr_payroll.group_hr_payroll_user 1 1 1 1
6 l10n_in_hr_payroll.access_l10n_in_hr_payroll_salary_statement access_l10n_in_hr_payroll_salary_statement l10n_in_hr_payroll.model_l10n_in_hr_payroll_salary_statement hr_payroll.group_hr_payroll_user 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Some files were not shown because too many files have changed in this diff Show More