Files
enterprise-addons/l10n_ch_hr_payroll/tests/swissdec_5_0.py
T

2552 lines
303 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
import logging
from odoo.tests.common import tagged, TransactionCase
from odoo.tools import file_open
from odoo import Command
from odoo.tests import HttpCase, tagged, TransactionCase
from datetime import datetime, date
from freezegun import freeze_time
from collections import defaultdict
from unittest.mock import patch
import json
from .common import TestSwissdecCommon
_logger = logging.getLogger(__name__)
@tagged('post_install_l10n', 'post_install', '-at_install', 'swissdec_payroll')
class TestSwissdec5Common(TestSwissdecCommon):
def _get_truth_base_path(self):
return "l10n_ch_hr_payroll/tests/data/declaration_truth_base/"
@classmethod
def _l10n_ch_generate_swissdec_demo_data(cls, company):
mapped_declarations = {}
with freeze_time("2021-01-01"):
cls.env["res.lang"]._activate_lang("fr_FR")
cls.env["res.lang"]._activate_lang("de_DE")
cls.env["res.lang"]._activate_lang("it_IT")
cls.env.user.tz = 'Europe/Zurich'
# Generate Location Units
LocationUnit = cls.env['l10n.ch.location.unit'].with_context(tracking_disable=True)
location_unit_1 = LocationUnit.create({
"company_id": company.id,
"partner_id": cls.env['res.partner'].create({
'name': 'Hauptsitz', # 'Siège principal - Lucerne',
'street': 'Bahnhofstrasse 1',
'zip': '6003',
'city': 'Luzern',
'country_id': cls.env.ref('base.ch').id,
}).id,
"bur_ree_number": "A92978109",
"canton": 'LU',
"dpi_number": '158.87.6',
"municipality": '1061',
"weekly_hours": 42,
"weekly_lessons": 21,
})
location_unit_2 = LocationUnit.create({
"company_id": company.id,
"partner_id": cls.env['res.partner'].create({
'name': 'Werkhof/Büro', # 'Atelier/Bureau - Berne',
'street': 'Zeughausgasse 9',
'zip': '3011',
'city': 'Bern',
'country_id': cls.env.ref('base.ch').id,
}).id,
"bur_ree_number": "A89058593",
"canton": 'BE',
"dpi_number": '9217.8',
"municipality": '351',
"weekly_hours": 40,
"weekly_lessons": 20,
})
location_unit_3 = LocationUnit.create({
"company_id": company.id,
"partner_id": cls.env['res.partner'].create({
'name': 'Verkauf', # 'Vente - Vevey',
'street': 'Rue des Moulins 9',
'zip': '1800',
'city': 'Vevey',
'country_id': cls.env.ref('base.ch').id,
}).id,
"bur_ree_number": "A89058588",
"canton": 'VD',
"dpi_number": '23.957.55.6',
"municipality": '5890',
"weekly_hours": 40,
"weekly_lessons": 20,
})
location_unit_4 = LocationUnit.create({
"company_id": company.id,
"partner_id": cls.env['res.partner'].create({
'name': 'Beratung', # 'Consultation - Bellinzone',
'street': 'Via Canonico Ghiringhelli 19',
'zip': '6500',
'city': 'Bellinzona',
'country_id': cls.env.ref('base.ch').id,
}).id,
"bur_ree_number": "A92978114",
"canton": 'TI',
"dpi_number": '83189.7',
"municipality": '5002',
"weekly_hours": 40,
"weekly_lessons": 20,
})
# Generate Resource Calendars
ResourceCalendar = cls.env['resource.calendar'].with_context(tracking_disable=True)
resource_calendar_40_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 40 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 40.0,
'full_time_required_hours': 40.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.0, "afternoon"),
("1", 8.0, 12.0, "morning"),
("1", 12.0, 13.0, "lunch"),
("1", 13.0, 17.0, "afternoon"),
("2", 8.0, 12.0, "morning"),
("2", 12.0, 13.0, "lunch"),
("2", 13.0, 17.0, "afternoon"),
("3", 8.0, 12.0, "morning"),
("3", 12.0, 13.0, "lunch"),
("3", 13.0, 17.0, "afternoon"),
("4", 8.0, 12.0, "morning"),
("4", 12.0, 13.0, "lunch"),
("4", 13.0, 17.0, "afternoon"),
]],
}])
resource_calendar_42_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 42 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 42.0,
'full_time_required_hours': 42.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.0, "afternoon"),
("1", 8.0, 12.0, "morning"),
("1", 12.0, 13.0, "lunch"),
("1", 13.0, 17.0, "afternoon"),
("2", 8.0, 12.0, "morning"),
("2", 12.0, 13.0, "lunch"),
("2", 13.0, 17.0, "afternoon"),
("3", 8.0, 12.0, "morning"),
("3", 12.0, 13.0, "lunch"),
("3", 13.0, 17.0, "afternoon"),
("4", 8.0, 12.0, "morning"),
("4", 12.0, 13.0, "lunch"),
("4", 13.0, 19.0, "afternoon"),
]],
}])
resource_calendar_8_4_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 8.4 Hours/Week (1/5)",
'company_id': company.id,
'hours_per_day': 8.4,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 8.4,
'full_time_required_hours': 42.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.4, "afternoon"),
]],
}])
resource_calendar_24_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 24 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 24,
'full_time_required_hours': 40.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 16.0, "morning"),
("1", 8.0, 16.0, "morning"),
("2", 8.0, 16.0, "morning"),
]],
}])
_resource_calendar_16_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 16 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 40.0,
'full_time_required_hours': 40.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.0, "afternoon"),
("1", 8.0, 12.0, "morning"),
("1", 12.0, 13.0, "lunch"),
("1", 13.0, 17.0, "afternoon"),
]],
}])
resource_calendar_21_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 21 Hours/Week",
'company_id': company.id,
'hours_per_day': 4.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 21.0,
'full_time_required_hours': 42.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.0, "afternoon"),
("1", 8.0, 12.0, "morning"),
("1", 12.0, 13.0, "lunch"),
("1", 13.0, 17.0, "afternoon"),
("2", 8.0, 12.0, "morning"),
("2", 12.0, 13.0, "lunch"),
]],
}])
_resource_calendar_12_6_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 12.6 Hours/Week",
'company_id': company.id,
'hours_per_day': 4.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 12.6,
'full_time_required_hours': 42.0,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.0, "afternoon"),
("1", 8.0, 12.6, "morning"),
]],
}])
resource_calendar_70_percent = ResourceCalendar.create([{
'name': "Test Calendar : 42 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 28,
'full_time_required_hours': 40,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 16.0, "afternoon"),
("1", 8.0, 12.0, "morning"),
("1", 12.0, 13.0, "lunch"),
("1", 13.0, 16.0, "afternoon"),
("2", 8.0, 12.0, "morning"),
("2", 12.0, 13.0, "lunch"),
("2", 13.0, 16.0, "afternoon"),
("3", 8.0, 12.0, "morning"),
("3", 12.0, 13.0, "lunch"),
("3", 13.0, 16.0, "afternoon"),
]],
}])
resource_calendar_50_percent = ResourceCalendar.create([{
'name': "Test Calendar : 20 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 20,
'full_time_required_hours': 40,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("1", 8.0, 12.0, "morning"),
("2", 8.0, 12.0, "morning"),
("3", 8.0, 12.0, "morning"),
("4", 8.0, 12.0, "morning"),
]],
}])
resource_calendar_40_percent = ResourceCalendar.create([{
'name': "Test Calendar : 16 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 16,
'full_time_required_hours': 40,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("1", 8.0, 12.0, "morning"),
("3", 8.0, 12.0, "morning"),
("4", 8.0, 12.0, "morning"),
]],
}])
resource_calendar_60_percent = ResourceCalendar.create([{
'name': "Test Calendar : 24 Hours/Week",
'company_id': company.id,
'hours_per_day': 8.0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 24,
'full_time_required_hours': 40,
'attendance_ids': [(5, 0, 0)] + [(0, 0, {
'name': "Attendance",
'dayofweek': dayofweek,
'hour_from': hour_from,
'hour_to': hour_to,
'day_period': day_period,
'work_entry_type_id': cls.env.ref('hr_work_entry.work_entry_type_attendance').id
}) for dayofweek, hour_from, hour_to, day_period in [
("0", 8.0, 12.0, "morning"),
("0", 12.0, 13.0, "lunch"),
("0", 13.0, 17.0, "afternoon"),
("1", 8.0, 12.0, "morning"),
("1", 12.0, 13.0, "lunch"),
("1", 13.0, 17.0, "afternoon"),
("2", 8.0, 12.0, "morning"),
("2", 12.0, 13.0, "lunch"),
("2", 13.0, 17.0, "afternoon"),
]],
}])
resource_calendar_0_hours_per_week = ResourceCalendar.create([{
'name': "Test Calendar : 0 Hours/Week",
'company_id': company.id,
'hours_per_day': 0,
'tz': "Europe/Zurich",
'two_weeks_calendar': False,
'hours_per_week': 0.0,
'full_time_required_hours': 0.0,
'attendance_ids': [(5, 0, 0)],
}])
_st_institutions = cls.env["l10n.ch.source.tax.institution"].create([
{
"name": "QST-BE",
"canton": "BE",
"dpi_number": "9217.8",
"company_id": company.id
}, {
"name": "QST-LU",
"canton": "LU",
"dpi_number": "158.87.6",
"company_id": company.id
}, {
"name": "QST-TI",
"canton": "TI",
"dpi_number": "83189.7",
"company_id": company.id
}, {
"name": "QST-VD",
"canton": "VD",
"dpi_number": "23.957.55.6",
"company_id": company.id
},
])
salary_certificate_profile = cls.env['l10n.ch.salary.certificate.profile'].create({
"company_id": company.id,
'l10n_ch_cs_other_fringe_benefits': "Avantages sur primes d'assurance",
})
cls.env['hr.job'].sudo().create({'name': 'Informaticienne'})
# Generate AVS
avs_1 = cls.env['l10n.ch.social.insurance'].create({
'name': 'AVS 2021',
'member_number': '7019.2',
"company_id": company.id,
'insurance_code': '079.000',
'age_start': 18,
'age_stop_male': 65,
'age_stop_female': 64,
'avs_line_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'employer_rate': 5.3,
'employee_rate': 5.3,
})],
'ac_line_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'employer_rate': 1.1,
'employee_rate': 1.1,
'employee_additional_rate': 0.5,
'employer_additional_rate': 0.5,
})],
'l10n_ch_avs_rente_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'amount': 1400
})],
'l10n_ch_avs_ac_threshold_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'amount': 148200
})],
'l10n_ch_avs_acc_threshold_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'amount': 370500
})]
})
avs_2 = cls.env['l10n.ch.social.insurance'].create({
'name': 'AVS 2022',
'member_number': '100-9976.9',
"company_id": company.id,
'insurance_code': '003.000',
'age_start': 18,
'age_stop_male': 65,
'age_stop_female': 64,
'avs_line_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'employer_rate': 5.3,
'employee_rate': 5.3,
})],
'ac_line_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'employer_rate': 1.1,
'employee_rate': 1.1,
'employee_additional_rate': 0.5,
'employer_additional_rate': 0.5,
})],
'l10n_ch_avs_rente_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'amount': 1400
})],
'l10n_ch_avs_ac_threshold_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'amount': 148200
})],
'l10n_ch_avs_acc_threshold_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'amount': 370500
})]
})
# Generate LAA
_laa_1_partner = cls.env['res.partner'].create({
'name': "Backwork-Versicherungen",
'street': "Bahnhofstrasse 7",
'city': "Luzern",
'zip': "6003",
'country_id': cls.env.ref('base.ch').id,
'company_id': company.id,
})
laa_1 = cls.env['l10n.ch.accident.insurance'].create({
'name': "Backwork-Versicherungen",
'customer_number': '12577.2',
"company_id": company.id,
'contract_number': '125',
'insurance_code': 'S1000',
'laa_group_ids': [
(0, 0, {
"name": "Backwork-Versicherungen Group A",
"group_unit": "A",
"line_ids": [(0, 0, {
"date_from": date(2021, 1, 1),
"date_to": False,
"threshold": 148200,
"occupational_male_rate": 0,
"occupational_female_rate": 0,
"non_occupational_male_rate": 1.6060,
"non_occupational_female_rate": 1.6060,
"employer_occupational_part": "0",
"employer_non_occupational_part": "0",
})],
})
],
})
laa_group_A = laa_1.laa_group_ids[0].id
# Generate LAAC
laac_1 = cls.env['l10n.ch.additional.accident.insurance'].create({
'name': 'Backwork-Versicherungen',
'customer_number': '7651-873.1',
"company_id": company.id,
'contract_number': '4566-4',
'insurance_code': 'S1000',
'line_ids': [
(0, 0, {
'solution_name': 'Group 1, Category 0 - A0',
'solution_type': '1',
'solution_number': '0',
'rate_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'wage_from': 0,
'wage_to': 0,
'male_rate': 0,
'female_rate': 0,
'employer_part': '50',
})],
}),
(0, 0, {
'solution_name': 'Group 1, Category 1 - A1',
'solution_type': '1',
'solution_number': '1',
'rate_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'wage_from': 0,
'wage_to': 148200,
'male_rate': 0.774,
'female_rate': 0.774,
'employer_part': '0',
})],
}),
(0, 0, {
'solution_name': 'Group 1, Category 2 - A2',
'solution_type': '1',
'solution_number': '2',
'rate_ids': [(0, 0, {
'date_from': date(2021, 1, 1),
'wage_from': 148200,
'wage_to': 300000,
'male_rate': 0.508,
'female_rate': 0.508,
'employer_part': '0',
})],
}),
]
})
laac_10 = laac_1.line_ids[0]
laac_11 = laac_1.line_ids[1]
laac_12 = laac_1.line_ids[2]
# Generate IJM
ijm_1 = cls.env['l10n.ch.sickness.insurance'].create({
"name": 'Backwork-Versicherungen',
"company_id": company.id,
"customer_number": '7651-873.1',
"contract_number": '4567-4',
"insurance_code": 'S1000',
"line_ids": [
(0, 0, {
"solution_name": "Group 1, Category 0 - A0",
"solution_type": "1",
"solution_number": "0",
"rate_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
"wage_from": 0,
"wage_to": 0,
"male_rate": 0,
"female_rate": 0,
"employer_part": '0',
})]
}),
(0, 0, {
"solution_name": "Group 1, Category 1 - A1",
"solution_type": "1",
"solution_number": "1",
"rate_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
"wage_from": 0,
"wage_to": 120000,
"male_rate": 0.9660,
"female_rate": 1.3090,
"employer_part": '0',
})]
}),
(0, 0, {
"solution_name": "Group 1, Category 2 - A2",
"solution_type": "1",
"solution_number": "2",
"rate_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
"wage_from": 88200,
"wage_to": 500000,
"male_rate": 0.1050,
"female_rate": 0.1230,
"employer_part": '0',
})]
}),
]
})
ijm_10 = ijm_1.line_ids[0]
ijm_11 = ijm_1.line_ids[1]
ijm_12 = ijm_1.line_ids[2]
# Generate LPP
_lpp_partner = cls.env['res.partner'].create({
'name': "Pensionskasse Oldsoft",
'street': "Fellerstrasse 23",
'city': "Bern",
'zip': "3027",
'country_id': cls.env.ref('base.ch').id,
'company_id': company.id,
})
lpp_0 = cls.env['l10n.ch.lpp.insurance'].create({
"name": 'Pensionskasse Oldsoft',
"company_id": company.id,
"customer_number": '1099-8777.1',
"contract_number": '4500-0',
'insurance_code': 'L1200',
"solutions_ids": [
(0, 0, {
"name": "Production",
"code": "11"}),
(0, 0, {
"name": "Vente",
"code": "21"}),
(0, 0, {
"name": "Administration",
"code": "22"}),
(0, 0, {
"name": "Cadre surobligatoire",
"code": "K2010"})],
"fund_number": False,
})
lpp_k2010 = {
"l10n_ch_lpp_solutions": [(4, lpp_0.solutions_ids[3].id)]
}
lpp_11 = {
"l10n_ch_lpp_solutions": [(4, lpp_0.solutions_ids[0].id)]
}
lpp_21 = {
"l10n_ch_lpp_solutions": [(4, lpp_0.solutions_ids[1].id)]
}
lpp_22 = {
"l10n_ch_lpp_solutions": [(4, lpp_0.solutions_ids[2].id)]
}
# Generate CAF
caf_lu_1 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Spida',
"company_id": company.id,
"member_number": '5676.3',
"member_subnumber": '',
"insurance_code": '079.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
caf_lu_2 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Familienausgleichskassen Kanton Luzern',
"company_id": company.id,
"member_number": '100-9976.70',
"member_subnumber": '',
"insurance_code": '003.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
caf_be_1 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Spida',
"company_id": company.id,
"member_number": '8734.3',
"member_subnumber": '',
"insurance_code": '079.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
caf_be_2 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Familienausgleichskasse Kanton Bern',
"company_id": company.id,
"member_number": '100-2136.90',
"member_subnumber": '',
"insurance_code": '002.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
_caf_vd_1 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Spida',
"company_id": company.id,
"member_number": '4296.8',
"member_subnumber": '',
"insurance_code": '079.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
caf_vd_2 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Caisse cantonale vaudoise de compensation',
"company_id": company.id,
"member_number": '100-7766.80',
"member_subnumber": '',
"insurance_code": '022.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
caf_ti_2 = cls.env['l10n.ch.compensation.fund'].create({
"name": 'Istituto delle assicurazioni sociali',
"company_id": company.id,
"member_number": '100-5467.80',
"member_subnumber": '',
"insurance_code": '021.000',
"caf_line_ids": [(0, 0, {
'date_from': date(2021, 1, 1),
'date_to': False,
'employee_rate': 0,
'company_rate': 0,
})],
})
avs_1.write({
'laa_insurance_id': laa_1.id,
'laa_insurance_from': date(2021, 1, 1),
'lpp_insurance_id': lpp_0.id,
'lpp_insurance_from': date(2021, 1, 1),
})
avs_2.write({
'laa_insurance_id': laa_1.id,
'laa_insurance_from': date(2021, 1, 1),
'lpp_insurance_id': lpp_0.id,
'lpp_insurance_from': date(2021, 1, 1),
})
# Load IS Rates
rates_to_load = [
('LU_N_A_0', 'LU_A0N.json'),
('LU_N_N_0', 'LU_N0N.json'),
('BE_N_A_0', 'BE_A0N.json'),
('BE_N_A_1', 'BE_A1N.json'),
('BE_N_B_0', 'BE_B0N.json'),
('BE_N_C_0', 'BE_C0N.json'),
('BE_N_B_1', 'BE_B1N.json'),
('BE_N_H_1', 'BE_H1N.json'),
('BE_N_L_0', 'BE_L0N.json'),
('BE_HE_N', 'BE_HEN.json'),
('BE_ME_N', 'BE_MEN.json'),
('LU_NO_N', 'LU_NON.json'),
('BE_SF_N', 'BE_SFN.json'),
('TI_N_A_0', 'TI_A0N.json'),
('TI_N_B_0', 'TI_B0N.json'),
('TI_N_B_1', 'TI_B1N.json'),
('TI_N_C_0', 'TI_C0N.json'),
('TI_N_F_0', 'TI_F0N.json'),
('TI_N_F_1', 'TI_F1N.json'),
('TI_N_R_0', 'TI_R0N.json'),
('TI_N_T_0', 'TI_T0N.json'),
('VD_N_A_0', 'VD_A0N.json'),
('VD_N_A_1', 'VD_A1N.json'),
('VD_N_A_2', 'VD_A2N.json'),
('VD_N_B_0', 'VD_B0N.json'),
]
rates_to_unlink = cls.env['hr.rule.parameter']
for xml_id, file_name in rates_to_load:
rates_to_unlink += cls.env['hr.rule.parameter'].search([('code', '=', f'l10n_ch_withholding_tax_rates_{xml_id}')])
if rates_to_unlink:
rates_to_unlink.unlink()
for xml_id, file_name in rates_to_load:
cls.env['hr.rule.parameter'].search([('code', '=', f'l10n_ch_withholding_tax_rates_{xml_id}')]).unlink()
rule_parameter = cls.env['hr.rule.parameter'].create({
'name': f'CH Withholding Tax: {xml_id}',
'code': f'l10n_ch_withholding_tax_rates_{xml_id}',
'country_id': cls.env.ref('base.ch').id,
})
cls.env['hr.rule.parameter.value'].create({
'parameter_value': json.load(file_open(f'l10n_ch_hr_payroll/tests/data/is_rates/{file_name}')), 'rule_parameter_id': rule_parameter.id,
'date_from': date(2021, 1, 1),
})
c_r = {
"l10n_ch_cs_expense_policy": "approved",
"l10n_ch_cs_expense_policy_approved_canton": "LU",
"l10n_ch_cs_expense_policy_approved_date": date(2021, 1, 1),
}
m_a = {
"l10n_ch_cs_employee_parti_fair_market_value": True,
"l10n_ch_cs_employee_parti_fair_market_value_canton": "LU",
"l10n_ch_cs_employee_parti_fair_market_value_date": date(2021, 7, 1),
}
f_b = {
'l10n_ch_cs_other_fringe_benefits': "Avantages sur primes d'assurance",
}
e_r = {
"l10n_ch_cs_expense_expatriate_ruling_approved": True,
"l10n_ch_cs_expense_expatriate_ruling_approved_canton": "LU",
"l10n_ch_cs_expense_expatriate_ruling_approved_date": date(2020, 3, 1)
}
tf37_additional_particular = {'l10n_ch_children': [(0, 0, {
'name': 'Eliane',
'last_name': 'Rossel',
'deduction_start': date(2012, 7, 1),
'deduction_end': date(2030, 6, 30),
'birthdate': date(2012, 6, 18),
})]}
tf18_additional_particular = {
'l10n_ch_spouse_last_name': "Blanc",
'l10n_ch_spouse_first_name': "Anita",
'l10n_ch_spouse_birthday': date(1991, 6, 29),
'l10n_ch_spouse_residence_canton': 'BS',
'l10n_ch_spouse_street': 'Bäumlihofstrasse 385',
'l10n_ch_spouse_zip': '4125',
'l10n_ch_spouse_city': "Riehen",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
tf24_additional_particular = {
'l10n_ch_spouse_sv_as_number': "756.6549.9078.26",
'l10n_ch_spouse_last_name': "Utzinger",
'l10n_ch_spouse_first_name': "Julie",
'l10n_ch_spouse_birthday': date(1980, 7, 7),
'l10n_ch_spouse_residence_canton': 'TI',
'l10n_ch_spouse_street': 'Via Lugano 40',
'l10n_ch_spouse_zip': '6500',
'l10n_ch_spouse_city': "Bellinzona",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
tf36_additional_particular = {
'l10n_ch_spouse_last_name': "Maldini",
'l10n_ch_spouse_first_name': "Sandra",
'l10n_ch_spouse_birthday': date(1994, 9, 27),
'l10n_ch_spouse_residence_canton': 'BE',
'l10n_ch_spouse_street': 'Blockweg 2',
'l10n_ch_spouse_zip': '3007',
'l10n_ch_spouse_city': "Bern",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id}
tf40_additional_particular = {'l10n_ch_children': [(0, 0, {
'name': 'Lisa',
'last_name': 'Farine',
'birthdate': date(2020, 5, 4),
'deduction_start': date(2020, 6, 1),
'deduction_end': date(2038, 5, 31),
})]}
tf33_additional_particular = {
'l10n_ch_spouse_sv_as_number': "756.6328.7099.17",
'l10n_ch_spouse_last_name': "Châtelain",
'l10n_ch_spouse_first_name': "Rita",
'l10n_ch_spouse_birthday': date(1976, 12, 15),
'l10n_ch_spouse_residence_canton': 'BE',
'l10n_ch_spouse_street': 'Wiesenstrasse 14',
'l10n_ch_spouse_zip': '3098',
'l10n_ch_spouse_city': "Köniz",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
tf34_additional_particular = {
'l10n_ch_spouse_last_name': "Rinaldi",
'l10n_ch_spouse_first_name': "Rita",
'l10n_ch_spouse_birthday': date(1971, 12, 15),
'l10n_ch_spouse_residence_canton': 'EX',
'l10n_ch_spouse_street': 'Piazza Marconi 7',
'l10n_ch_spouse_zip': '24122',
'l10n_ch_spouse_city': "Bergamo",
'l10n_ch_spouse_country_id': cls.env.ref('base.it').id,
}
tf23_additional_particular = {
'l10n_ch_spouse_sv_as_number': "756.1928.1347.70",
'l10n_ch_spouse_last_name': "Koller",
'l10n_ch_spouse_first_name': "Anita",
'l10n_ch_spouse_birthday': date(1991, 6, 29),
'l10n_ch_spouse_residence_canton': 'TI',
'l10n_ch_spouse_street': 'Viale Stefano Franscini 17',
'l10n_ch_spouse_zip': '6500',
'l10n_ch_spouse_city': "Bellinzona",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
tf31_additional_particular = {
'l10n_ch_spouse_last_name': "Bolletto",
'l10n_ch_spouse_first_name': "Luigi",
'l10n_ch_spouse_birthday': date(1990, 3, 15),
'l10n_ch_spouse_residence_canton': 'VD',
'l10n_ch_spouse_street': 'Route de chavannes 11',
'l10n_ch_spouse_zip': '1007',
'l10n_ch_spouse_city': "Lausanne",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
tf22_additional_particular = {
'l10n_ch_spouse_last_name': "Bucher",
'l10n_ch_spouse_first_name': "Luigi",
'l10n_ch_spouse_birthday': date(1995, 3, 15),
'l10n_ch_spouse_residence_canton': 'TI',
'l10n_ch_spouse_street': 'Via Serafino Balestra 9',
'l10n_ch_spouse_zip': '6900',
'l10n_ch_spouse_city': "Lugano",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
tf35_additional_particular = {
'l10n_ch_spouse_sv_as_number': "756.3454.9922.51",
'l10n_ch_spouse_last_name': "Roos",
'l10n_ch_spouse_first_name': "Melanie",
'l10n_ch_spouse_birthday': date(1969, 6, 12),
'l10n_ch_spouse_residence_canton': 'TI',
'l10n_ch_spouse_street': 'Via Ospedale 10',
'l10n_ch_spouse_zip': '6500',
'l10n_ch_spouse_city': "Bellinzona",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
}
cdi_hourly = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_indefiniteSalaryHrs').id}
cdd_hourly = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_fixedSalaryHrs').id}
cdi_month = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_indefiniteSalaryMth').id}
cdd_month = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_fixedSalaryMth').id}
cdi_month_awt = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_indefiniteSalaryMthAWT').id}
cdi_ntc = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_indefiniteSalaryNoTimeConstraint').id}
cdi_fntc = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_fixedSalaryNoTimeConstraint').id}
apprentice = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_apprentice').id}
internship = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_internshipContract').id}
administrative = {"contract_type_id": cls.env.ref('l10n_ch_hr_payroll.l10n_ch_contract_type_administrativeBoard').id}
info_m = cls.env['hr.job'].sudo().create({"name": "Informaticien"})
info_f = cls.env['hr.job'].sudo().create({"name": "Informaticienne"})
edb = cls.env['hr.job'].sudo().create({"name": "Employé de bureau"})
teacher = cls.env['hr.job'].sudo().create({"name": "Enseignant du primaire"})
comm = cls.env['hr.job'].sudo().create({"name": "Apprenti de commerce"})
journ = cls.env['hr.job'].sudo().create({"name": "Journaliste"})
cons_cl = cls.env['hr.job'].sudo().create({"name": "Conseiller à la clientèle"})
logist = cls.env['hr.job'].sudo().create({"name": "Logisticien"})
commis_daff = cls.env['hr.job'].sudo().create({"name": "Commis d'affaires"})
account = cls.env['hr.job'].sudo().create({"name": "Comptable financier"})
pub_hol_comp = {'l10n_ch_contractual_holidays_rate': 8.33, 'l10n_ch_contractual_public_holidays_rate': 4}
# Generate Employees
employees = cls.env['hr.employee'].with_context(tracking_disable=True).create([
{'registration_number': '1', "l10n_ch_job_type": "lowerCadre", **pub_hol_comp, "job_id": info_f.id, **cdi_hourly, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 3, 31), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0, 'hourly_wage': 50.0, 'l10n_ch_lesson_wage': 50.0, 'l10n_ch_has_lesson': True, 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_1.line_ids[1].id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_1.line_ids[2].id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_lpp_entry_reason': 'interruptionOfEmployment', 'l10n_ch_lpp_withdrawal_reason': "interruptionOfEmployment", 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 0, 'certificate': 'higherVocEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, **c_r})], 'name': "Monica Herz", 'sex': 'female', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': False, 'birthday': date(1976, 6, 30), 'marital': 'married', 'l10n_ch_marital_from': date(2001, 5, 25), 'private_street': 'Bahnhofstrasse 1', 'private_zip': '6020', 'private_city': 'Emmenbrücke', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1024, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'LU', 'lang': 'fr_FR'},
{'registration_number': '2', "l10n_ch_job_type": "noCadre", "job_id": info_f.id, **cdd_hourly, 'irregular_working_time': True, 'l10n_ch_lpp_entry_reason': 'entryCompany', 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0, 'hourly_wage': 30.0, 'l10n_ch_lesson_wage': 30, 'l10n_ch_has_lesson': True, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_1.line_ids[1].id)], 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_1.line_ids[1].id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 0, 'l10n_ch_contractual_holidays_rate': 13.04, 'l10n_ch_contractual_public_holidays_rate': 4, 'certificate': 'universityBachelor', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_relocation_costs": 4251})], 'name': "Maria Paganini", 'sex': 'female', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.it').id, 'l10n_ch_sv_as_number': '756.3598.1127.37', 'birthday': date(1958, 9, 30), 'marital': 'married', 'l10n_ch_marital_from': date(1992, 3, 13), 'private_street': 'Zentralstrasse 17', 'private_zip': '6030', 'private_city': 'Ebikon', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1054, 'l10n_ch_residence_category': 'settled-C', 'l10n_ch_canton': 'LU', 'lang': 'fr_FR'},
{'registration_number': '3', "l10n_ch_job_type": "noCadre", "job_id": edb.id, **cdi_month, 'l10n_ch_location_unit_id': location_unit_1.id, 'lpp_employee_amount': 385, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5500, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_1.line_ids[2].id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_1.line_ids[2].id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 30, 'certificate': 'vocEducationCompl', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id})], 'name': "Pia Lusser", 'sex': 'female', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.6417.0995.23', 'birthday': date(1958, 2, 5), 'marital': 'married', 'l10n_ch_marital_from': date(1979, 8, 14), 'private_street': 'Buochserstrasse 4', 'private_zip': '6370', 'private_city': 'Stans', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1509, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'NW', 'lang': 'fr_FR'},
{'registration_number': '4', "l10n_ch_job_type": "highestCadre", "job_id": info_m.id, **cdd_month, 'l10n_ch_14th_month': True, **lpp_k2010, 'l10n_ch_location_unit_id': location_unit_2.id, 'lpp_employee_amount': 2450, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 30000, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_1.line_ids[2].id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_1.line_ids[2].id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'certificate': 'universityMaster', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, 'l10n_ch_cs_car_policy': 'empPart'})], 'name': "Markus Fankhauser", 'sex': 'male', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.6353.2927.43', 'birthday': date(1966, 10, 19), 'marital': 'single', 'l10n_ch_marital_from': date(1966, 10, 19), 'private_street': 'Schmiedegasse 16', 'private_zip': '3150', 'private_city': 'Schwarzenburg', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 855, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'BE', 'lang': 'fr_FR'},
{'registration_number': '5', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month_awt, 'l10n_ch_weekly_hours': 16, 'l10n_ch_location_unit_id': location_unit_2.id, 'lpp_employee_amount': 102, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 1350, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_1.line_ids[1].id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_1.line_ids[1].id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 30, 'certificate': 'mandatorySchoolOnly', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, 'l10n_ch_cs_expense_policy': False})], 'name': "Johann Moser", 'sex': 'male', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.3574.4165.90', 'birthday': date(1957, 4, 15), 'marital': 'married', 'l10n_ch_marital_from': date(1981, 4, 23), 'private_street': 'Kramgasse 11', 'private_zip': '3011', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 351, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'BE', 'lang': 'fr_FR'},
{'registration_number': '6', "l10n_ch_job_type": "lowestCadre", "job_id": info_f.id, **cdd_month, **lpp_22, 'l10n_ch_location_unit_id': location_unit_2.id, 'lpp_employee_amount': 945, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 10, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 13500.00, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_1.line_ids[1].id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_1.line_ids[1].id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'certificate': 'universityEntranceCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, **c_r, 'certificate_template_id': salary_certificate_profile.id})], 'name': "Anita Zahnd", 'sex': 'female', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.6564.5197.21', 'birthday': date(1976, 5, 23), 'marital': 'single', 'l10n_ch_marital_from': date(1976, 5, 23), 'private_street': 'Lindenweg 10', 'private_zip': '3072', 'private_city': 'Ostermundigen', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 363, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'BE', 'lang': 'fr_FR'},
{'registration_number': '7', "l10n_ch_job_type": "noCadre", "job_id": teacher.id, **cdi_month, **lpp_22, "l10n_ch_lpp_withdrawal_reason": "retirement", 'l10n_ch_location_unit_id': location_unit_2.id, 'lpp_employee_amount': 560, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2021, 11, 1), 'contract_date_end': date(2021, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 8000, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_be_1.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 30, 'certificate': 'teacherCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id})], 'name': "Heidi Burri", 'sex': 'female', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.1886.7922.72', 'birthday': date(1957, 12, 16), 'marital': 'married', 'l10n_ch_marital_from': date(1992, 12, 14), 'private_street': 'Laupenstrasse 45', 'private_zip': '3008', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 351, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'BE', 'lang': 'fr_FR'},
{'registration_number': '8', "l10n_ch_job_type": "lowerCadre", "job_id": info_m.id, **cdd_hourly, **pub_hol_comp, **lpp_22, 'l10n_ch_lesson_wage': 50.0, 'l10n_ch_has_lesson': True, 'l10n_ch_location_unit_id': location_unit_2.id, 'lpp_employee_amount': 724, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0, 'hourly_wage': 50.0, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 0, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, 'l10n_ch_cs_expense_policy': False})], 'name': "René Lamon", 'sex': 'male', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.fr').id, 'l10n_ch_sv_as_number': '756.3552.6511.80', 'birthday': date(1984, 3, 16), 'marital': 'unknown', 'l10n_ch_marital_from': date(1984, 3, 16), 'private_street': 'Effingerstrasse 87', 'private_zip': '3008', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 351, 'l10n_ch_residence_category': 'settled-C', 'l10n_ch_canton': 'BE', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR'},
{'registration_number': '9', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, 'l10n_ch_location_unit_id': location_unit_1.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 2000, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '3', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_12.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 30, 'l10n_ch_avs_status': 'retired', 'certificate': 'doctorate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, **c_r, 'certificate_template_id': salary_certificate_profile.id, 'l10n_ch_cs_free_meals': True})], 'name': "Michael Estermann", 'sex': 'male', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.de').id, 'l10n_ch_sv_as_number': '756.1931.9954.43', 'birthday': date(1956, 1, 1), 'marital': 'married', 'l10n_ch_marital_from': date(1987, 4, 12), 'private_street': 'Seestrasse 3', 'private_zip': '6353', 'private_city': 'Weggis', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1069, 'l10n_ch_residence_category': 'settled-C', 'l10n_ch_canton': 'LU', 'lang': 'fr_FR'},
{'registration_number': '10', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, **lpp_21, "l10n_ch_lpp_withdrawal_reason": "others", 'l10n_ch_location_unit_id': location_unit_1.id, 'lpp_employee_amount': 448, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 2, 1), 'contract_date_end': date(2022, 10, 30), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 6400, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'certificate': 'higherVocEducationBachelor', "l10n_ch_salary_certificate_profiles": [(0, 0, {**m_a, "l10n_ch_child_allowance_indirect": True, 'l10n_ch_cs_car_policy': 'toClarify', 'l10n_ch_cs_free_meals': True, 'l10n_ch_cs_employee_participation_taxable_income': True, 'l10n_ch_cs_employee_participation_taxable_income_locked': True, 'l10n_ch_cs_employee_participation_taxable_income_unlisted': True, "l10n_ch_cs_employee_participation_taxable_income_reversional": True, "l10n_ch_cs_other_fringe_benefits": "Avantages sur primes d'assurance, Prix fortement réduit sur l'achat d'une voiture de tourisme", **c_r, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_cs_free_transport": True})], 'name': "Heinz Ganz", 'sex': 'male', 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.6362.5066.57', 'birthday': date(1996, 2, 28), 'marital': 'married', 'l10n_ch_marital_from': date(2020, 7, 1), 'private_street': 'Neuhofstrasse 47', 'private_zip': '6020', 'private_city': 'Emmenbrücke', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1024, 'l10n_ch_canton': 'LU', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR'},
{'registration_number': '11', "l10n_ch_job_type": "middleCadre", "job_id": info_m.id, **cdi_month, **lpp_k2010, 'l10n_ch_lpp_entry_valid_as_of': date(2022, 1, 1), 'l10n_ch_weekly_hours': 12.60, 'lpp_employee_amount': 763, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'l10n_ch_location_unit_id': location_unit_1.id, 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 9600, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id), (4, laac_12.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id), (4, ijm_12.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'certificate': 'higherVocEducationMaster', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_cs_free_transport": True, **c_r, 'l10n_ch_cs_free_meals': True, 'l10n_ch_cs_other_fringe_benefits': "Avantages sur primes d'assurance", "l10n_ch_cs_car_policy": "empPart", "l10n_ch_relocation_costs": 2000})], 'name': "Peter Bosshard", 'sex': 'male', 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.3426.3448.04', 'birthday': date(1978, 4, 11), 'marital': 'married', 'l10n_ch_marital_from': date(1997, 9, 5), 'private_street': 'Brünigstrasse 20', 'private_zip': '6072', 'private_city': 'Sachseln', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1406, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'OW', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR'},
{'registration_number': '12', "l10n_ch_job_type": "lowerCadre", "job_id": info_m.id, **cdi_month, **lpp_11, 'l10n_ch_location_unit_id': location_unit_1.id, 'lpp_employee_amount': 840, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 2, 27), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 12000.00, 'hourly_wage': 0, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '2', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'certificate': 'higherEducationBachelor', "l10n_ch_salary_certificate_profiles": [(0, 0, {**m_a, **e_r, "l10n_ch_cs_other_fringe_benefits": "Avantages sur primes d'assurance, Prix fortement réduit sur l'achat d'une voiture de tourisme", 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_cs_free_transport": True})], 'name': 'Renato Casanova', 'l10n_ch_sv_as_number': "756.3431.9824.73", 'sex': 'male', 'country_id': cls.env.ref('base.ch').id, 'birthday': date(1995, 1, 1), 'marital': 'partnership_dissolved_by_declaration_of_lost', 'l10n_ch_marital_from': date(2020, 6, 15), 'private_street': 'Bahnhofstrasse 6', 'private_zip': '6048', 'private_city': 'Horw', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '1058', 'l10n_ch_canton': 'LU', 'l10n_ch_residence_category': False, 'lang': 'fr_FR', 'company_id': company.id},
{'registration_number': '13', "l10n_ch_job_type": "noCadre", "job_id": comm.id, **apprentice, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 2000.00, 'hourly_wage': 0.0, 'l10n_ch_lesson_wage': 0.0, 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '0', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_avs_status': 'youth', 'certificate': 'mandatorySchoolOnly', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id})], 'name': "Renato Combertaldi", 'sex': 'male', 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.it').id, 'l10n_ch_sv_as_number': '756.1925.1163.66', 'birthday': date(2005, 1, 1), 'marital': 'single', 'l10n_ch_marital_from': date(2005, 1, 1), 'private_street': 'Museggstrasse 4', 'private_zip': '6004', 'private_city': 'Luzern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1061, 'l10n_ch_residence_category': 'settled-C', 'l10n_ch_canton': 'LU', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR'},
{'registration_number': '14', "l10n_ch_job_type": "lowestCadre", "job_id": info_f.id, **cdd_hourly, 'irregular_working_time': True, 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2021, 11, 1), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0.0, 'hourly_wage': 25, 'l10n_ch_lesson_wage': 25, 'l10n_ch_has_lesson': True, 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_lu_1.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 0, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_avs_status': 'exempted', 'l10n_ch_contractual_holidays_rate': 8.33, 'l10n_ch_contractual_public_holidays_rate': 4, 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_cs_free_transport": True, "l10n_ch_source_tax_settlement_letter": True, "l10n_ch_cs_expense_policy": "rz52", 'l10n_ch_cs_other_fringe_benefits': "Avantages sur primes d'assurance"})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Anna Egli', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.1927.3247.52", 'sex': 'female', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1977, 7, 13), 'marital': 'separated', 'l10n_ch_marital_from': date(2017, 4, 28), 'private_street': 'Seestrasse 5', 'private_zip': '6353', 'private_city': 'Weggis', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '1069', 'l10n_ch_canton': 'LU', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '15', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdd_hourly, 'l10n_ch_contractual_holidays_rate': 0, 'l10n_ch_contractual_public_holidays_rate': 0, 'l10n_ch_weekly_lessons': 10.5, 'l10n_ch_weekly_hours': 0, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 2, 28), 'contract_date_end': date(2022, 3, 1), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0.0, 'hourly_wage': 133.35, 'l10n_ch_lesson_wage': 133.35, 'l10n_ch_has_lesson': True, 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '3', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'certificate': 'teacherCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, **e_r, 'certificate_template_id': salary_certificate_profile.id})], 'name': "Lorenz Degelo", 'sex': 'male', 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'company_id': company.id, 'country_id': cls.env.ref('base.ch').id, 'l10n_ch_sv_as_number': '756.3434.5392.78', 'birthday': date(1986, 2, 28), 'marital': 'registered_partnership', 'l10n_ch_marital_from': date(2011, 8, 17), 'private_street': 'Lopperstrasse 8', 'private_zip': '6010', 'private_city': 'Kriens', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1059, 'l10n_ch_residence_category': False, 'l10n_ch_canton': 'LU', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR'},
{'registration_number': '16', "l10n_ch_job_type": "middleCadre", "job_id": journ.id, **cdi_ntc, 'l10n_ch_location_unit_id': location_unit_1.id, 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2021, 11, 1), 'contract_date_end': date(2021, 12, 20), 'wage_type': "NoTimeConstraint", "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 0, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_12.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_compensation_fund_id': caf_lu_1.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_contractual_holidays_rate': 0, 'l10n_ch_contractual_public_holidays_rate': 0, 'l10n_ch_yearly_holidays': 30, 'irregular_working_time': True, 'company_id': company.id, 'certificate': 'universityEntranceCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, **c_r, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_relocation_costs": 2000})], 'name': 'Anna Aebi', 'l10n_ch_sv_as_number': "756.3047.5009.62", 'sex': 'female', 'country_id': cls.env.ref('base.ch').id, 'birthday': date(1957, 12, 31), 'marital': 'single', 'l10n_ch_marital_from': date(1957, 12, 31), 'private_street': 'Bundesstrasse 5', 'private_zip': '6003', 'private_city': 'Luzern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '1061', 'l10n_ch_canton': 'LU', 'l10n_ch_residence_category': False, 'lang': 'fr_FR'},
{'registration_number': '17', "l10n_ch_job_type": "noCadre", "job_id": cons_cl.id, **cdi_month, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 4550, 'hourly_wage': 0.0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_other_employers': True, 'l10n_ch_other_employers_occupation_rate': 30, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'l10n_ch_weekly_hours': 28, 'l10n_ch_religious_denomination': 'romanCatholic', 'certificate': 'universityEntranceCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': "Fritz Binggeli", 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'sex': 'male', 'resource_calendar_id': resource_calendar_70_percent.id, 'company_id': company.id, 'country_id': cls.env.ref('base.it').id, 'l10n_ch_sv_as_number': '756.3425.9630.75', 'birthday': date(1972, 4, 11), 'marital': 'single', 'l10n_ch_marital_from': date(1972, 4, 11), 'private_street': 'Via Monte Ceneri 17', 'private_zip': '6512', 'private_city': 'Giubiasco', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 5002, 'l10n_ch_residence_category': "annual-B", 'l10n_ch_canton': 'TI', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR', 'is_non_resident': True, 'l10n_ch_has_withholding_tax': True, 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 30},
{'registration_number': '18', "l10n_ch_job_type": "noCadre", "job_id": logist.id, **cdi_hourly, **pub_hol_comp, **lpp_11, 'l10n_ch_weekly_hours': 8.4, 'lpp_employee_amount': 117, 'resource_calendar_id': resource_calendar_8_4_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'l10n_ch_lesson_wage': 30.0, 'l10n_ch_has_lesson': True, 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2023, 2, 28), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0, 'hourly_wage': 30, 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '3', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 0, 'l10n_ch_other_employers': True, 'l10n_ch_other_employers_occupation_rate': 60, 'company_id': company.id, 'certificate': 'enterpriseEducation', **tf18_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Pierre Blanc', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3729.5603.90", 'sex': 'male', 'country_id': cls.env.ref('base.fr').id, 'birthday': date(1982, 12, 11), 'marital': 'married', 'l10n_ch_marital_from': date(2021, 11, 1), 'private_street': 'Freiburgstrasse 312', 'private_zip': '3018', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '351', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'ProvisionallyAdmittedForeigners-F', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'B', 'l10n_ch_has_withholding_tax': True, 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 60},
{'registration_number': '19', "l10n_ch_job_type": "noCadre", "job_id": info_f.id, **cdi_month, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 2600, 'hourly_wage': 0.0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_other_employers': True, 'l10n_ch_other_employers_occupation_rate': 40, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'l10n_ch_weekly_hours': 20, 'certificate': 'vocEducationCompl', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'reformedEvangelical', 'name': "Melanie Andrey", 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'sex': 'female', 'resource_calendar_id': resource_calendar_50_percent.id, 'company_id': company.id, 'country_id': cls.env.ref('base.it').id, 'l10n_ch_sv_as_number': '756.1848.4786.64', 'birthday': date(1967, 5, 16), 'marital': 'single', 'l10n_ch_marital_from': date(1967, 5, 16), 'private_street': 'Via Lugano 4', 'private_zip': '6500', 'private_city': 'Bellinzona', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 5002, 'l10n_ch_residence_category': "annual-B", 'l10n_ch_canton': 'TI', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR', 'is_non_resident': True, 'l10n_ch_has_withholding_tax': True, 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 40},
{'registration_number': '20', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdd_month, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 3, 15), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 2000, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_other_employers': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_weekly_hours': 16, 'company_id': company.id, 'certificate': 'universityEntranceCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Lukas Arnold', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.1859.2584.53", 'sex': 'male', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1993, 6, 17), 'marital': 'single', 'l10n_ch_marital_from': date(1993, 6, 17), 'private_street': 'Brünnenstrasse 66', 'private_zip': '3018', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '351', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'NotificationProcedureForShorttermWork90Days', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True, 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 50},
{'registration_number': '21', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdd_month, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 3, 15), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 2000, 'hourly_wage': 0.0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_other_employers': True, 'l10n_ch_other_employers_occupation_rate': 50, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'l10n_ch_weekly_hours': 16, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': "Christian Meier", 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'sex': 'male', 'resource_calendar_id': resource_calendar_40_percent.id, 'company_id': company.id, 'country_id': cls.env.ref('base.it').id, 'l10n_ch_sv_as_number': '', 'birthday': date(1972, 1, 1), 'marital': 'single', 'l10n_ch_marital_from': date(1972, 1, 1), 'private_street': 'Via Campagna 5', 'private_zip': '6512', 'private_city': 'Giubiasco', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 5002, 'l10n_ch_residence_category': "NotificationProcedureForShorttermWork120Days", 'l10n_ch_canton': 'TI', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR', 'is_non_resident': True, 'l10n_ch_has_withholding_tax': True, 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 50},
{'registration_number': '22', "l10n_ch_job_type": "noCadre", "job_id": info_f.id, **cdi_hourly, **pub_hol_comp, 'l10n_ch_lesson_wage': 35.0, 'l10n_ch_has_lesson': True, 'irregular_working_time': True, 'resource_calendar_id': resource_calendar_8_4_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'wage_type': "hourly", 'l10n_ch_has_hourly': True, "l10n_ch_contractual_13th_month_rate": 8.33, 'wage': 0, 'hourly_wage': 35, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 0, 'l10n_ch_other_employers': False, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'vocEducationCompl', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Elisabeth Bucher', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.6319.2565.36", 'sex': 'female', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1997, 6, 6), 'marital': 'single', 'l10n_ch_marital_from': date(1997, 6, 6), 'private_street': 'Via Serafino Balestra 9', 'private_zip': '6900', 'private_city': 'Lugano', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '5192', 'l10n_ch_canton': 'TI', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_has_withholding_tax': True, 'l10n_ch_tax_scale': 'A'},
{'registration_number': '23', "l10n_ch_job_type": "lowestCadre", "job_id": info_m.id, **cdi_month, 'lpp_employee_amount': 379, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0.0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_other_employers': False, 'l10n_ch_other_employers_occupation_rate': 0, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'certificate': 'universityBachelor', **tf23_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': "Ludwig Koller", 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'sex': 'male', 'resource_calendar_id': resource_calendar_40_percent.id, 'company_id': company.id, 'country_id': cls.env.ref('base.de').id, 'l10n_ch_sv_as_number': '756.3539.3643.93', 'birthday': date(1989, 1, 10), 'marital': 'single', 'l10n_ch_marital_from': date(1989, 1, 10), 'private_street': 'Viale Stefano Franscini 17', 'private_zip': '6500', 'private_city': 'Bellinzona', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 5002, 'l10n_ch_residence_category': "annual-B", 'l10n_ch_canton': 'TI', 'l10n_ch_tax_scale': 'A', 'lang': 'fr_FR', 'is_non_resident': True, 'l10n_ch_has_withholding_tax': True},
{'registration_number': '24', "l10n_ch_job_type": "middleCadre", "job_id": info_m.id, **cdi_month, 'lpp_employee_amount': 607, 'resource_calendar_id': resource_calendar_8_4_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 8000, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_other_employers': False, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'higherEducationBachelor', **tf24_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Jan Utzinger', 'l10n_ch_religious_denomination': 'reformedEvangelical', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.6555.6617.29", 'sex': 'male', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1980, 6, 23), 'marital': 'married', 'l10n_ch_marital_from': date(2021, 11, 25), 'private_street': 'Via Lugano 40', 'private_zip': '6500', 'private_city': 'Bellinzona', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '5002', 'l10n_ch_canton': 'TI', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_has_withholding_tax': True, 'l10n_ch_tax_scale': 'B'},
{'registration_number': '25', "l10n_ch_job_type": "lowestCadre", "job_id": info_f.id, **cdi_month, 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 2, 10), 'contract_date_end': date(2022, 6, 15), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 12000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_1.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_12.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_12.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'company_id': company.id, 'certificate': 'vocEducationCompl', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], "l10n_ch_religious_denomination": "christianCatholic", 'name': 'Nadine Lehmann', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': "756.3558.3266.93", 'sex': 'female', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1997, 7, 28), 'marital': 'single', 'l10n_ch_marital_from': date(1997, 7, 28), 'private_street': 'Via Pisanello 2', 'private_zip': '20146', 'private_city': 'Milano', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'is_non_resident': True, 'l10n_ch_has_withholding_tax': True, 'l10n_ch_tax_scale': 'A'},
{'registration_number': '26', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, 'l10n_ch_lpp_not_insured': True, 'resource_calendar_id': resource_calendar_8_4_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 2, 10), 'contract_date_end': date(2022, 6, 15), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 12000, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_12.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_12.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_other_employers': False, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'universityEntranceCertificate', "l10n_ch_foreign_tax_id": "JNZMCL72A01Z112Y", "place_of_birth": "DE", "l10n_ch_cross_border_start": date(2023, 7, 18), "l10n_ch_cross_border_commuter": True, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Marcel Jenzer', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.6408.6518.22", 'sex': 'male', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1972, 1, 1), 'marital': 'single', 'l10n_ch_marital_from': date(1972, 1, 1), 'private_street': 'viale misurata 56', 'private_zip': '20146', 'private_city': 'Milano', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'othersNotSwiss', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'R', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '27', "l10n_ch_job_type": "noCadre", "job_id": logist.id, **cdi_month, **lpp_k2010, 'lpp_employee_amount': 700, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 5, 1), 'contract_date_end': date(2023, 2, 28), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 10000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': False, 'l10n_ch_monthly_effective_days': 20, 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Eva Rast', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': "756.3627.5282.70", 'sex': 'female', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1988, 11, 1), 'marital': 'single', 'l10n_ch_marital_from': date(1988, 11, 1), 'private_street': 'Opelstrasse 1', 'private_zip': '78467', 'private_city': 'Konstanz', 'private_country_id': cls.env.ref('base.de').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'crossBorder-G', 'lang': 'fr_FR', 'is_non_resident': True, 'l10n_ch_has_withholding_tax': True, 'l10n_ch_tax_scale': 'L'},
{'registration_number': '28', "l10n_ch_job_type": "lowestCadre", "job_id": info_f.id, **cdi_month, 'resource_calendar_id': resource_calendar_24_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 6000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': False, 'l10n_ch_other_employers_occupation_rate': 20, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_weekly_hours': 24, 'company_id': company.id, 'certificate': 'higherVocEducationMaster', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Esther Arbenz', 'l10n_ch_residence_type': 'Weekly', 'l10n_ch_weekly_residence_canton': 'BE', 'l10n_ch_weekly_residence_municipality': '351', "l10n_ch_weekly_residence_address_street": "Laupenstrasse 10", "l10n_ch_weekly_residence_address_city": "Bern", "l10n_ch_weekly_residence_address_zip": "3008", 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.1853.0576.49", 'sex': 'female', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1974, 4, 13), 'marital': 'single', 'l10n_ch_marital_from': date(1974, 4, 13), 'private_street': 'via Vedano 1', 'private_zip': '20900', 'private_city': 'Monza', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'crossBorder-G', 'lang': 'fr_FR', 'l10n_ch_has_withholding_tax': True, 'l10n_ch_tax_scale': 'A', 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 20},
{'registration_number': '29', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, 'resource_calendar_id': resource_calendar_60_percent.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 6000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_other_employers': True, 'l10n_ch_other_employers_occupation_rate': 20, 'l10n_ch_is_model': 'yearly', 'l10n_ch_weekly_hours': 24, 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Moreno Forster', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': "756.6361.0022.59", 'sex': 'male', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1974, 7, 13), 'marital': 'single', 'l10n_ch_marital_from': date(1974, 7, 13), 'private_street': 'Via Como 12', 'private_zip': '21100', 'private_city': 'Varese', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'crossBorder-G', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'R', 'l10n_ch_has_withholding_tax': True, 'l10n_ch_other_employment': True, 'l10n_ch_total_activity_type': 'percentage', 'l10n_ch_other_activity_percentage': 20},
{'registration_number': '30', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_ntc, 'resource_calendar_id': resource_calendar_0_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 9, 30), 'irregular_working_time': True, 'wage_type': "NoTimeConstraint", "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 0, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '0', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'l10n_ch_is_predefined_category': 'ME', 'l10n_ch_contractual_holidays_rate': 0, 'l10n_ch_contractual_public_holidays_rate': 0, 'company_id': company.id, 'certificate': 'universityEntranceCertificate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Heinrich Müller', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'CategoryPredefined', 'l10n_ch_pre_defined_tax_scale': 'MEN', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': False, 'sex': 'male', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1974, 7, 13), 'marital': 'single', 'l10n_ch_marital_from': date(1974, 7, 13), 'private_street': 'Lilienstrasse 22', 'private_zip': '81669', 'private_city': 'München', 'private_country_id': cls.env.ref('base.de').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'othersNotSwiss', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '31', "l10n_ch_job_type": "noCadre", "job_id": info_f.id, **cdi_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_3.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_vd_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'vocEducationCompl', **tf31_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Franca Bolletto', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.6508.6893.67", 'sex': 'female', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1992, 6, 6), 'marital': 'single', 'l10n_ch_marital_from': date(1992, 6, 6), 'private_street': 'Route de chavannes 11 ', 'private_zip': '1007', 'private_city': 'Lausanne', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '5586', 'l10n_ch_canton': 'VD', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '32', "l10n_ch_job_type": "noCadre", "job_id": logist.id, **cdi_month, **lpp_21, 'lpp_employee_amount': 350, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 9, 1), 'contract_date_end': date(2023, 2, 28), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'vocEducationCompl', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Laura Armanini', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3728.4917.63", 'sex': 'female', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1977, 10, 4), 'marital': 'single', 'l10n_ch_marital_from': date(1977, 10, 4), 'private_street': 'Kehrgasse 8', 'private_zip': '3018', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '351', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '33', "l10n_ch_job_type": "lowerCadre", "job_id": info_m.id, **cdi_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'universityEntranceCertificate', **tf33_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Pierre Châtelain', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3434.5129.12", 'sex': 'male', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1972, 4, 11), 'marital': 'single', 'l10n_ch_marital_from': date(1972, 4, 11), 'private_street': 'Wiesenstrasse 14', 'private_zip': '3098', 'private_city': 'Köniz', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '355', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '34', "l10n_ch_job_type": "lowerCadre", "job_id": info_m.id, **cdi_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'doctorate', **tf34_additional_particular, "l10n_ch_foreign_tax_id": "RNLMSM67D11A794W", "place_of_birth": "Bergamo", "l10n_ch_cross_border_start": date(2023, 8, 1), "l10n_ch_cross_border_commuter": True, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Massimo Rinaldi', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_residence_type': 'Weekly', "l10n_ch_weekly_residence_address_street": "Via Aeroporto 2", "l10n_ch_weekly_residence_address_city": "Agno", "l10n_ch_weekly_residence_address_zip": "6982", 'l10n_ch_weekly_residence_canton': 'TI', 'l10n_ch_weekly_residence_municipality': '5141', 'l10n_ch_sv_as_number': "756.6412.9848.00", 'sex': 'male', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1967, 4, 11), 'marital': 'single', 'l10n_ch_marital_from': date(1967, 4, 11), 'private_street': 'Piazza Marconi 7', 'private_zip': '24122', 'private_city': 'Bergamo', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'crossBorder-G', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '35', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, **lpp_21, 'lpp_employee_amount': 379, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 25, 'l10n_ch_lpp_not_insured': False, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'vocEducationCompl', **tf35_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Roland Roos', 'l10n_ch_religious_denomination': 'reformedEvangelical', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.6498.9438.07", 'sex': 'male', 'country_id': cls.env.ref('base.fr').id, 'birthday': date(1967, 5, 16), 'marital': 'divorced', 'l10n_ch_marital_from': date(2018, 6, 15), 'private_street': 'Via Ospedale 10', 'private_zip': '6500', 'private_city': 'Bellinzona', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '5002', 'l10n_ch_canton': 'TI', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '36', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 5000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'enterpriseEducation', **tf36_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Fabio Maldini', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3641.0372.46", 'sex': 'male', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1988, 6, 17), 'marital': 'single', 'l10n_ch_marital_from': date(1988, 6, 17), 'private_street': 'Blockweg 2', 'private_zip': '3007', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '351', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '37', "l10n_ch_job_type": "noCadre", "job_id": commis_daff.id, **cdi_month, 'lpp_employee_amount': 0, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2021, 11, 16), 'contract_date_end': date(2021, 12, 10), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": 0, 'wage': 10000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_be_1.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': False, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Christine Oberli', 'l10n_ch_religious_denomination': 'jewishCommunity', 'l10n_ch_concubinage': 'SoleCustody', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.6462.6899.46", 'sex': 'female', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1990, 10, 15), 'marital': 'divorced', 'l10n_ch_marital_from': date(2020, 6, 20), 'children': 1, 'private_street': 'Hopfenweg 22', 'private_zip': '3007', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '351', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'shortTerm-L', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'H', 'l10n_ch_has_withholding_tax': True, **tf37_additional_particular},
{'registration_number': '38', "l10n_ch_job_type": "noCadre", "job_id": logist.id, **cdi_month, 'lpp_employee_amount': 362, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 3000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True, **c_r})], 'name': 'Claude Jung', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3514.6025.02", 'sex': 'male', 'country_id': cls.env.ref('base.fr').id, 'birthday': date(1977, 12, 11), 'marital': 'single', 'l10n_ch_marital_from': date(1977, 12, 11), 'private_street': 'Bahnhofplatz 1', 'private_zip': '2502', 'private_city': 'Biel/Bienne', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '371', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '39', "l10n_ch_job_type": "noCadre", "job_id": account.id, **administrative, 'l10n_ch_contractual_holidays_rate': 0, 'l10n_ch_contractual_public_holidays_rate': 0, 'irregular_working_time': True, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 12, 31), 'wage_type': "NoTimeConstraint", "l10n_ch_contractual_13th_month_rate": 0, 'wage': 0, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '0', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 0, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'l10n_ch_avs_status': 'exempted', 'l10n_ch_is_predefined_category': 'HE', 'company_id': company.id, 'certificate': 'doctorate', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Harald Hasler', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'CategoryPredefined', 'l10n_ch_pre_defined_tax_scale': 'HEN', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': "756.3466.0443.68", 'sex': 'male', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1967, 1, 1), 'marital': 'single', 'l10n_ch_marital_from': date(1967, 1, 1), 'private_street': 'Maffeistrasse 5', 'private_zip': '80333', 'private_city': 'München', 'private_country_id': cls.env.ref('base.de').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'othersNotSwiss', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '40', "l10n_ch_job_type": "noCadre", "job_id": edb.id, **cdd_month, 'lpp_employee_amount': 303, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 3, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 4000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_12.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_lpp_withdrawal_valid_as_of': date(2022, 2, 28), 'l10n_ch_lpp_withdrawal_reason': 'interruptionOfEmployment', 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'higherEducationBachelor', **tf40_additional_particular, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, **c_r, "l10n_ch_source_tax_settlement_letter": True, 'l10n_ch_cs_free_meals': True, **m_a, 'l10n_ch_cs_employee_participation_taxable_income': True, 'l10n_ch_cs_employee_participation_taxable_income_locked': True, 'l10n_ch_cs_employee_participation_taxable_income_unlisted': True})], 'l10n_ch_religious_denomination': 'reformedEvangelical', 'name': 'Corinne Farine', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3438.2653.71", 'sex': 'female', 'country_id': cls.env.ref('base.fr').id, 'birthday': date(1996, 6, 17), 'marital': 'single', 'l10n_ch_marital_from': date(1996, 6, 17), 'private_street': 'Blockweg 2', 'private_zip': '3007', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '351', 'l10n_ch_canton': 'BE', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True, 'children': 1},
{'registration_number': '41', "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 3, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 10000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'universityMaster', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Max Meier', 'l10n_ch_religious_denomination': 'romanCatholic', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_sv_as_number': "756.3572.1419.82", 'sex': 'male', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1990, 2, 22), 'marital': 'single', 'l10n_ch_marital_from': date(1990, 2, 22), 'private_street': 'Via Cantonale 31', 'private_zip': '6815', 'private_city': 'Melide', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': '5198', 'l10n_ch_canton': 'TI', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '42', "l10n_ch_job_type": "noCadre", "job_id": account.id, **cdd_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 11, 1), 'contract_date_end': date(2022, 12, 15), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 6666.65, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly', 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_foreign_tax_id": "PTRTTO91S11A182V", "place_of_birth": "Alessandria", "l10n_ch_cross_border_start": date(2023, 10, 1), "l10n_ch_cross_border_commuter": True, "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'l10n_ch_religious_denomination': 'romanCatholic', 'name': 'Otto Peters', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': "756.1949.3782.69", 'sex': 'male', 'country_id': cls.env.ref('base.it').id, 'birthday': date(1991, 11, 11), 'marital': 'single', 'l10n_ch_marital_from': date(1991, 11, 11), 'private_street': 'Corso Galileo Ferraris, 14', 'private_zip': '10121', 'private_city': 'Torino', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True},
{'registration_number': '43', "l10n_ch_job_type": "noCadre", "job_id": info_f.id, **cdd_month, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 11, 1), 'contract_date_end': date(2022, 12, 15), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 6666.65, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_be_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly', 'company_id': company.id, 'certificate': 'enterpriseEducation', "l10n_ch_salary_certificate_profiles": [(0, 0, {**f_b, 'certificate_template_id': salary_certificate_profile.id, "l10n_ch_source_tax_settlement_letter": True})], 'name': 'Lea Ochsenbein', 'l10n_ch_religious_denomination': 'reformedEvangelical', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode', 'l10n_ch_residence_type': 'Daily', 'l10n_ch_sv_as_number': "756.6491.7043.37", 'sex': 'female', 'country_id': cls.env.ref('base.de').id, 'birthday': date(1993, 10, 10), 'marital': 'single', 'l10n_ch_marital_from': date(1993, 10, 10), 'private_street': 'Marienplatz 1', 'private_zip': '80331', 'private_city': 'München', 'private_country_id': cls.env.ref('base.de').id, 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale': 'A', 'l10n_ch_has_withholding_tax': True}
])
mapped_employees = {}
for index, employee in enumerate(employees, start=1):
mapped_employees[f"employee_tf{str(index).zfill(2)}"] = employee
mapped_employees['employee_tf16'].create_version({"date_version": date(2022, 1, 1), "l10n_ch_job_type": "middleCadre", "job_id": journ.id, **cdi_ntc, 'name': "Contract for Anna Aebi", 'l10n_ch_location_unit_id': location_unit_1.id, 'employee_id': mapped_employees['employee_tf16'].id, 'resource_calendar_id': resource_calendar_42_hours_per_week.id, 'company_id': company.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 15), 'contract_date_end': date(2022, 3, 27), 'wage_type': "NoTimeConstraint", "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 0, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_12.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_compensation_fund_id': caf_lu_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_contractual_holidays_rate': 0, 'l10n_ch_contractual_public_holidays_rate': 0, 'l10n_ch_yearly_holidays': 30, 'l10n_ch_avs_status': 'retired', 'irregular_working_time': True})
# TF17,
mapped_employees['employee_tf37'].create_version({"date_version": date(2021, 12, 21), "l10n_ch_job_type": "noCadre", "job_id": commis_daff.id, **cdi_month, 'name': "Contract For Christine Oberli", 'lpp_employee_amount': 0, 'employee_id': mapped_employees['employee_tf37'].id, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2021, 12, 21), 'contract_date_end': date(2022, 1, 18), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": 0, 'wage': 8000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_2.id, 'l10n_ch_social_insurance_id': avs_1.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_be_1.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': False, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'monthly'})
# TF40,
mapped_employees['employee_tf40'].create_version({"date_version": date(2022, 9, 28), 'l10n_ch_canton': "VD", 'private_street': 'Rue des Moulins 13', 'private_zip': '1800', 'private_city': 'Vevey', 'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 5890, "l10n_ch_job_type": "noCadre", "job_id": edb.id, **cdd_month, 'name': "Contract For Corinne Farine", 'lpp_employee_amount': 303, 'employee_id': mapped_employees['employee_tf40'].id, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 1, 1), 'contract_date_end': date(2022, 3, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 4000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_3.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_vd_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_lpp_entry_reason': 'interruptionOfEmployment', 'l10n_ch_lpp_withdrawal_reason': 'interruptionOfEmployment', 'l10n_ch_is_model': 'yearly'})
mapped_employees['employee_tf40'].create_version({"date_version": date(2022, 10, 1), "l10n_ch_job_type": "noCadre", "job_id": edb.id, **cdd_month, 'name': "Contract For Corinne Farine", 'lpp_employee_amount': 303, 'employee_id': mapped_employees['employee_tf40'].id, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 10, 1), 'contract_date_end': date(2022, 10, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 4000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_3.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_vd_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_lpp_entry_reason': 'interruptionOfEmployment', 'l10n_ch_lpp_entry_valid_as_of': date(2022, 10, 1), 'l10n_ch_lpp_withdrawal_reason': 'interruptionOfEmployment', 'l10n_ch_lpp_withdrawal_valid_as_of': date(2022, 10, 31), 'l10n_ch_is_model': 'yearly'})
mapped_employees['employee_tf40'].create_version({"date_version": date(2022, 12, 1), 'children': 2, "l10n_ch_tax_specially_approved": True, "l10n_ch_job_type": "noCadre", "job_id": edb.id, **cdd_month, 'name': "Contract For Corinne Farine", 'lpp_employee_amount': 303, 'employee_id': mapped_employees['employee_tf40'].id, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 12, 1), 'contract_date_end': date(2023, 2, 28), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 4000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_3.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_11.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_11.id)], 'l10n_ch_compensation_fund_id': caf_vd_2.id, 'l10n_ch_thirteen_month': True, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_insurance_id': lpp_0.id, 'l10n_ch_lpp_entry_reason': 'interruptionOfEmployment', 'l10n_ch_lpp_entry_valid_as_of': date(2022, 12, 1), 'l10n_ch_lpp_withdrawal_reason': 'withdrawalCompany', 'l10n_ch_lpp_withdrawal_valid_as_of': date(2023, 2, 28), 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly'})
# TF41,
mapped_employees['employee_tf41'].create_version({"date_version": date(2022, 7, 1), "l10n_ch_job_type": "noCadre", "job_id": info_m.id, **cdi_month, 'name': "Contract For Max Meier", 'employee_id': mapped_employees['employee_tf41'].id, 'resource_calendar_id': resource_calendar_40_hours_per_week.id, 'company_id': company.id, 'date_generated_from': datetime(2020, 9, 1, 0, 0, 0), 'date_generated_to': datetime(2020, 9, 1, 0, 0, 0), 'structure_type_id': cls.env.ref('l10n_ch_hr_payroll.structure_type_employee_ch').id, 'contract_date_start': date(2022, 7, 1), 'contract_date_end': date(2022, 7, 31), 'wage_type': "monthly", 'l10n_ch_has_monthly': True, "l10n_ch_contractual_13th_month_rate": (1 / 12) * 100, 'wage': 10000, 'hourly_wage': 0, 'l10n_ch_lesson_wage': 0, 'l10n_ch_location_unit_id': location_unit_4.id, 'l10n_ch_social_insurance_id': avs_2.id, 'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1', 'l10n_ch_additional_accident_insurance_line_ids': [(4, laac_10.id)], 'l10n_ch_sickness_insurance_line_ids': [(4, ijm_10.id)], 'l10n_ch_lpp_insurance_id': False, 'l10n_ch_compensation_fund_id': caf_ti_2.id, 'l10n_ch_thirteen_month': False, 'l10n_ch_yearly_holidays': 20, 'l10n_ch_lpp_not_insured': True, 'l10n_ch_monthly_effective_days': 20, 'l10n_ch_is_model': 'yearly'})
# TF42,
contracts_by_employee = defaultdict(lambda: cls.env['hr.version'])
for employee in mapped_employees: # noqa: PLC0206
contracts_by_employee[mapped_employees[employee]] += mapped_employees[employee].version_ids
mapped_contracts = {}
for eidx, employee in enumerate(employees, start=1):
for cidx, contract in enumerate(contracts_by_employee[employee], start=1):
mapped_contracts[f"contract_tf{str(eidx).zfill(2)}_{str(cidx).zfill(2)}"] = contract
all_emps = cls.env["hr.employee"]
for emp in mapped_employees: # noqa: PLC0206
all_emps += mapped_employees[emp]
# Generate Payslips
mapped_payslips = {}
cls.env['l10n.ch.hr.contract.wage'].create([
# TF01
{'description': 'Salaire horaire', 'amount': 160.0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Salaire horaire', 'amount': 160.0, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Salaire horaire', 'amount': 170.0, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Gratification', 'amount': 20000, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1204').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Part facultative employeurs LPP', 'amount': 682, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1972').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Part facultative employeurs LPP', 'amount': 682, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1972').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Part facultative employeurs LPP', 'amount': 682, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1972').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Compensation cotisations LPP employeur', 'amount': 682, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5111').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Compensation cotisations LPP employeur', 'amount': 682, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5111').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Compensation cotisations LPP employeur', 'amount': 682, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5111').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité APG', 'amount': 1200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2000').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité APG', 'amount': 1300, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2000').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Prestation compensation mil. (CCM)', 'amount': 1000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2005').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 1250, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 1250, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité maladie', 'amount': 250, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2035').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité maladie', 'amount': 250, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2035').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'description': 'Indemnité maladie', 'amount': 1000, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2035').id, 'version_id': mapped_contracts['contract_tf01_01'].id},
{'version_id': mapped_contracts['contract_tf01_01'].id, 'amount': 0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2050').id},
{'version_id': mapped_contracts['contract_tf01_01'].id, 'amount': 0, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2050').id},
{'version_id': mapped_contracts['contract_tf01_01'].id, 'amount': 0, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2050').id},
{'version_id': mapped_contracts['contract_tf01_01'].id, 'amount': 0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2050').id},
# TF02
{'description': 'Salaire horaire', 'amount': 150.0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 70.0, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 70.0, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 142.0, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 20.0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 100.0, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 120.0, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 130.0, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 162.0, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 50.0, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 162.0, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 150.0, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 120.0, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire horaire', 'amount': 50.0, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 40.0, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Salaire à la leçon', 'amount': 20.0, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 90, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 50, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 25, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 35, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 40, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 35, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 105, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 89, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 81, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 95, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Commission', 'amount': 2044, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Perte de gain RHT/ITP (SH)', 'amount': 3000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2065').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Perte de gain RHT/ITP (SH)', 'amount': 3000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2065').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité de chômage', 'amount': 2200, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Indemnité de chômage', 'amount': 2200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2070').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Délai de carence RHT/ITP', 'amount': 200, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2075').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Délai de carence RHT/ITP', 'amount': 200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2075').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf02_01'].id},
# TF03
{'description': 'Indemnité spéciale', 'amount': 3200, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf03_01'].id},
{'description': 'Indemnité spéciale', 'amount': 3200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf03_01'].id},
{'description': 'Cadeau pour ancienneté de service', 'amount': 22000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1230').id, 'version_id': mapped_contracts['contract_tf03_01'].id},
{'description': 'Prestation en capital à caractère de prévoyance', 'amount': 6000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1410').id, 'version_id': mapped_contracts['contract_tf03_01'].id},
# TF04
{'description': 'Cadeau pour ancienneté de service', 'amount': 40000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1230').id, 'version_id': mapped_contracts['contract_tf04_01'].id},
{'description': 'Cadeau pour ancienneté de service', 'amount': 40000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1230').id, 'version_id': mapped_contracts['contract_tf04_01'].id},
# TF05
{'description': 'Indemnité de dimanche', 'amount': 6000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1073').id, 'version_id': mapped_contracts['contract_tf05_01'].id},
{'description': 'Indemnité de dimanche', 'amount': 6000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1073').id, 'version_id': mapped_contracts['contract_tf05_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 10000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf05_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 10000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf05_01'].id},
# TF06
{'description': 'Indemnité APG', 'amount': 4800, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2000').id, 'version_id': mapped_contracts['contract_tf06_01'].id},
{'description': 'Indemnité APG', 'amount': 4800, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2000').id, 'version_id': mapped_contracts['contract_tf06_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 15200, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf06_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 15200, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf06_01'].id},
# TF 07
{'description': 'Heures supplémentaires après le départ', 'amount': 15000, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1067').id, 'version_id': mapped_contracts['contract_tf07_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 9500, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf07_01'].id},
# TF08
{'description': 'Salaire horaire', 'amount': 170.0, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Salaire horaire', 'amount': 350.0, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 25, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 35, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 40, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 35, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 105, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 89, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 81, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 44, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 95, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité travail par équipes', 'amount': 44, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1070').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Indemnité de dimanche', 'amount': 20000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1073').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Commission', 'amount': 2044, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf08_01'].id},
# TF09
{'description': 'Gratification', 'amount': 1700, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1204').id, 'version_id': mapped_contracts['contract_tf09_01'].id},
{'description': 'Gratification', 'amount': 200, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1204').id, 'version_id': mapped_contracts['contract_tf09_01'].id},
{'description': 'Indemnité spéciale', 'amount': 35000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf09_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 30000, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf09_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 32000, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf09_01'].id},
# TF10
{'description': 'Heures supplémentaires 125%', 'amount': 1200, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1061').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Indemnité spéciale', 'amount': 31000, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Indemnité spéciale', 'amount': 7000, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Indemnité APG', 'amount': 1000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2000').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Prestation compensation mil. (CCM)', 'amount': 800, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2005').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Indemnité journalière accident', 'amount': 2000, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Indemnité maladie', 'amount': 2500, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2035').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Déduction RHT/ITP (SM)', 'amount': 3000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2060').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Versement salaire après décès', 'amount': 6400, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1420').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Versement salaire après décès', 'amount': 6400, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1420').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Indemnité de chômage', 'amount': 2200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2070').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
{'description': 'Délai de carence RHT/ITP', 'amount': 200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2075').id, 'version_id': mapped_contracts['contract_tf10_01'].id},
# TF11
{'description': 'Honoraires', 'amount': 20000, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1010').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Honoraires', 'amount': 15000, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1010').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Indemnité de résidence', 'amount': 500, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1033').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Gratification', 'amount': 5000, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1204').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Indemnité spéciale', 'amount': 3400, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Indemnité spéciale', 'amount': 1200, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Indemnité spéciale', 'amount': 500, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Prestation en capital à caractère de prévoyance', 'amount': 50000, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1410').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Part privée voiture de service', 'amount': 250, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1910').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Réduction loyer logement locatif', 'amount': 1200, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1950').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Actions de collaborateurs', 'amount': 20000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1961').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Actions de collaborateurs', 'amount': -20000, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1961').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Part facultative employeurs rachat LPP', 'amount': 5000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1973').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Compensation rachat LPP employeur', 'amount': 5000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5112').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 250, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 250, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 450, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Allocation de naissance', 'amount': 1000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3034').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction prestations en nature', 'amount': 1200, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 250, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 250, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 20250, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 250, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 250, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 19750, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': 'Correction avantage en argent', 'amount': 250, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
{'description': '13e Mois', 'amount': 4000, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1200').id, 'version_id': mapped_contracts['contract_tf11_01'].id},
# TF12
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 10000, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 25000, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 200, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1900').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{"description": "Logement gratuit", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 650, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1902').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 7000, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1962').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 2000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1980').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 2000, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2000').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1500, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2005').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 3000, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_2030').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 850, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5100').id},
{'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 7000, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais effectifs expatriés", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 1000, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6020').id},
{"description": "Frais forfaitaires de voiture", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 800, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6050').id},
{"description": "Frais forfaitaires de voiture", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 800, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6050').id},
{"description": "Frais forfaitaires de voiture", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 800, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6050').id},
{"description": "Autres frais forfaitaires", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 300, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6070').id},
{"description": "Autres frais forfaitaires", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 300, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6070').id},
{"description": "Autres frais forfaitaires", 'version_id': mapped_contracts['contract_tf12_01'].id, 'amount': 300, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6070').id},
# TF13
{'description': 'Indemnité de résidence', 'amount': 200, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1033').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Heures supplémentaires', 'amount': 180, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1065').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Heures supplémentaires', 'amount': 300, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1065').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Heures supplémentaires', 'amount': 80, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1065').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Heures supplémentaires', 'amount': 250, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1065').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Commission', 'amount': 1000, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
{'description': 'Frais de voyage', 'amount': 500, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf13_01'].id},
# TF14
{'description': 'Salaire horaire', 'amount': 75.0, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 130.0, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 120.0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 115.0, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 160.0, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 95.0, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 140.0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 140.0, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 125.0, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Salaire horaire', 'amount': 170.0, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Options de collaborateurs', 'amount': 10000, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1962').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Correction avantage en argent', 'amount': 10000, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
{'description': 'Frais de voyage', 'amount': 200, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf14_01'].id},
# TF15
{'description': 'Salaire à la leçon', 'amount': 21, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_lessons').id, 'version_id': mapped_contracts['contract_tf15_01'].id},
{'description': 'Frais de voyage', 'amount': 257.5, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id, 'version_id': mapped_contracts['contract_tf15_01'].id},
# TF16
{'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 9458.35, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1010').id},
{'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 8895, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1010').id},
{'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 14350.6, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1010').id},
{'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 10214.45, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1010').id},
{'description': 'Indemnité spéciale', 'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 3000, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id},
{'description': 'Indemnité spéciale', 'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 5000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id},
{'description': 'Indemnité spéciale', 'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 4000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id},
{'description': 'Part facultative employeurs IJM', 'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 250, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1971').id},
{'description': '3ème pilier b payé par employeur', 'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 150, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1977').id},
{'description': '3ème pilier b payé par employeur', 'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 150, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1977').id},
{'description': '3ème pilier b payé par employeur', 'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 150, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1977').id},
{'description': '3ème pilier b payé par employeur', 'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 150, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1977').id},
{'description': '3ème pilier a payé par employeur', 'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 350, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1978').id},
{'description': '3ème pilier a payé par employeur', 'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 350, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1978').id},
{'description': '3ème pilier a payé par employeur', 'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 350, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1978').id},
{'description': '3ème pilier a payé par employeur', 'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 350, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1978').id},
{'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 500, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id},
{'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 750, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id},
{'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 500, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id},
{'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 500, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_5110').id},
{'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 300, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id},
{'version_id': mapped_contracts['contract_tf16_01'].id, 'amount': 300, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id},
{'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 600, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id},
{'version_id': mapped_contracts['contract_tf16_02'].id, 'amount': 300, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6000').id},
# TF17
{'version_id': mapped_contracts['contract_tf17_01'].id, 'amount': 2000, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1210').id, 'description': 'Bonus'},
# TF18
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35.0, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 75, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 62, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 53, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 71, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Salaire horaire', 'amount': 35, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 41.21, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 34.07, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 29.12, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 39.01, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
{'description': 'Activity Rate', 'amount': 19.23, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ACTIVITYRATE').id, 'version_id': mapped_contracts['contract_tf18_01'].id},
# TF19
# TF20
{'description': 'Indemnité de départ (soumis AVS)', 'amount': 500, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1401').id, 'version_id': mapped_contracts['contract_tf20_01'].id},
{'description': '13e Mois', 'amount': 416.65, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1200').id, 'version_id': mapped_contracts['contract_tf20_01'].id},
# TF21
{'description': 'Indemnité de départ (soumis AVS)', 'version_id': mapped_contracts['contract_tf21_01'].id, 'amount': 500, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1401').id},
{'description': '13e Mois', 'amount': 416.65, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1200').id, 'version_id': mapped_contracts['contract_tf21_01'].id},
# TF22
{'description': 'Salaire horaire', 'amount': 130.0, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 120.0, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 125.0, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 135.0, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 115.0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 100.0, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 140.0, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 115.0, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 130.0, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 90.0, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 120.0, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 130.0, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 40.0, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Salaire horaire', 'amount': 96.0, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_hours').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
{'description': 'Allocation de naissance', 'amount': 3000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3034').id, 'version_id': mapped_contracts['contract_tf22_01'].id},
# TF23
{'description': 'Bonus', 'amount': 30000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1210').id, 'version_id': mapped_contracts['contract_tf23_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf23_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf23_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf23_01'].id},
# TF25
{'description': "CH Days", 'amount': 10, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf25_01'].id},
{'description': "CH Days", 'amount': 9, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf25_01'].id},
{'description': "CH Days", 'amount': 18, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf25_01'].id},
{'description': "CH Days", 'amount': 10, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf25_01'].id},
{'description': "Monthly Salary", 'amount': 8000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1000').id, 'version_id': mapped_contracts['contract_tf25_01'].id},
{'description': '13e Mois', 'amount': 4166.65, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1200').id, 'version_id': mapped_contracts['contract_tf25_01'].id},
# TF26
{'description': "CH Days", 'amount': 10, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
{'description': "CH Days", 'amount': 9, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
{'description': "CH Days", 'amount': 18, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
{'description': "CH Days", 'amount': 0, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
{'description': "CH Days", 'amount': 7, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
{'description': "Monthly Salary", 'amount': 8000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1000').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
{'description': '13e Mois', 'amount': 4166.65, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1200').id, 'version_id': mapped_contracts['contract_tf26_01'].id},
# TF27
{'description': 'Bonus', 'amount': 30000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1210').id, 'version_id': mapped_contracts['contract_tf27_01'].id},
# TF28
{'description': "Prime pour proposition d'amélioration", 'amount': 20000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1216').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': 'Heures supplémentaires après le départ', 'amount': 2000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1067').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': 'Paiement des vacances après le départ', 'amount': 3000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1163').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "Paiement de la prime l'année précédente", 'amount': 15000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1209').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 15, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 10, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 11, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 14, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 11, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 8, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 13, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 7, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 16, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
{'description': "CH Days", 'amount': 9, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf28_01'].id},
# TF29
{'description': 'Correction des salaires', 'amount': 2000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1001').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': 'Heures supplémentaires après le départ', 'amount': 2000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1067').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': 'Paiement des vacances après le départ', 'amount': 3000, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1163').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "Paiement de la prime l'année précédente", 'amount': 15000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1209').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "Prime pour proposition d'amélioration", 'amount': 20000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1216').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 15, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 10, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 11, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 14, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 11, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 8, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 13, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 7, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 16, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
{'description': "CH Days", 'amount': 9, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf29_01'].id},
# TF30
{'description': 'Paiement des vacances', 'amount': 500, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1162').id, 'version_id': mapped_contracts['contract_tf30_01'].id},
{'description': 'Droits de participation imposables', 'amount': 5500, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1960').id, 'version_id': mapped_contracts['contract_tf30_01'].id},
{'description': 'Droits de participation imposables', 'amount': 5500, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1960').id, 'version_id': mapped_contracts['contract_tf30_01'].id},
{'description': 'Droits de participation imposables', 'amount': 5500, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1960').id, 'version_id': mapped_contracts['contract_tf30_01'].id},
{'description': 'Droits de participation imposables', 'amount': 5500, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1960').id, 'version_id': mapped_contracts['contract_tf30_01'].id},
# TF33
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
{'description': 'Paiement pour Allocation pour enfant', 'amount': 690, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3001').id, 'version_id': mapped_contracts['contract_tf33_01'].id},
# TF34
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 8, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
{'description': 'Paiement pour Allocation pour enfant', 'amount': 600, 'date_start': date(2022, 7, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3001').id, 'version_id': mapped_contracts['contract_tf34_01'].id},
# TF35
{'description': "Paiement de la prime l'année précédente", 'amount': 30000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1209').id, 'version_id': mapped_contracts['contract_tf35_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf35_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf35_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf35_01'].id},
# TF36
{'description': "Paiement de la prime l'année précédente", 'amount': 30000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_1209').id, 'version_id': mapped_contracts['contract_tf36_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf36_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf36_01'].id},
{'description': 'Allocation pour enfant', 'amount': 200, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf36_01'].id},
# TF37
{'description': 'Bonus', 'amount': 2000, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1210').id, 'version_id': mapped_contracts['contract_tf37_02'].id},
{'description': 'Cotisations LPP', 'amount': 175 * 2, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5050').id, 'version_id': mapped_contracts['contract_tf37_01'].id},
{'description': 'Cotisations LPP', 'amount': 175 * 2, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5050').id, 'version_id': mapped_contracts['contract_tf37_02'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2021, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf37_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf37_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2021, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf37_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf37_02'].id},
{'description': 'Cotisations LPP', 'amount': 362, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_5050').id, 'version_id': mapped_contracts['contract_tf37_02'].id},
{'description': "Monthly Salary", 'amount': 3000, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1000').id, 'version_id': mapped_contracts['contract_tf37_02'].id},
# TF38
{'description': 'Commission', 'amount': 5000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf38_01'].id},
{'description': 'Commission', 'amount': 6500, 'date_start': date(2022, 6, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf38_01'].id},
{'description': 'Commission', 'amount': 3800, 'date_start': date(2022, 9, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf38_01'].id},
{'description': 'Commission', 'amount': 5500, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1218').id, 'version_id': mapped_contracts['contract_tf38_01'].id},
{'description': 'Frais forfaitaires de voiture', 'amount': 300, 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_hr_elm_input_WT_6050').id, 'version_id': mapped_contracts['contract_tf38_01'].id},
# TF39
{'description': 'Honoraires CA', 'amount': 10000, 'date_start': date(2022, 4, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1500').id, 'version_id': mapped_contracts['contract_tf39_01'].id},
# TF40
{'description': 'Indemnité pour service de piquet', 'amount': 30500, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1071').id, 'version_id': mapped_contracts['contract_tf40_04'].id},
{'description': 'Indemnité spéciale', 'amount': 20000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf40_01'].id},
{'description': 'Indemnité spéciale', 'amount': 500, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1212').id, 'version_id': mapped_contracts['contract_tf40_04'].id},
{'description': 'Honoraires CA', 'amount': 300, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1500').id, 'version_id': mapped_contracts['contract_tf40_01'].id},
{'description': 'Honoraires CA', 'amount': 4000, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1500').id, 'version_id': mapped_contracts['contract_tf40_01'].id},
{'description': 'Honoraires CA', 'amount': 6150, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1500').id, 'version_id': mapped_contracts['contract_tf40_04'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_01'].id},
{'description': 'Allocation pour enfant', 'amount': 230, 'date_start': date(2022, 3, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_01'].id},
{'description': 'Allocation pour enfant', 'amount': 300, 'date_start': date(2022, 10, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_03'].id},
{'description': 'Allocation pour enfant', 'amount': 300, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_04'].id},
{'description': 'Allocation pour enfant', 'amount': 300, 'date_start': date(2023, 1, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_04'].id},
{'description': 'Allocation pour enfant', 'amount': 300, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_3000').id, 'version_id': mapped_contracts['contract_tf40_04'].id},
# TF41
{'description': 'Gratification', 'amount': 20000, 'date_start': date(2022, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1204').id, 'version_id': mapped_contracts['contract_tf41_01'].id},
{'description': 'Cadeau pour ancienneté de service', 'amount': 30000, 'date_start': date(2022, 5, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1230').id, 'version_id': mapped_contracts['contract_tf41_01'].id},
# TF42
{'description': 'Bonus', 'amount': 30000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1210').id, 'version_id': mapped_contracts['contract_tf42_01'].id},
{'description': "CH Days", 'amount': 12, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf42_01'].id},
{'description': "CH Days", 'amount': 8, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf42_01'].id},
# TF43
{'description': 'Bonus', 'amount': 30000, 'date_start': date(2023, 2, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_WT_1210').id, 'version_id': mapped_contracts['contract_tf43_01'].id},
{'description': "CH Days", 'amount': 12, 'date_start': date(2022, 11, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf43_01'].id},
{'description': "CH Days", 'amount': 8, 'date_start': date(2022, 12, 1), 'input_type_id': cls.env.ref('l10n_ch_hr_payroll.l10n_ch_elm_input_ISWORKEDDAYSINCH').id, 'version_id': mapped_contracts['contract_tf43_01'].id},
])
with freeze_time("2021-11-26"):
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2021, 11, 1))
mapped_employees['employee_tf14'].write(
{'l10n_ch_tax_scale_type': 'CategoryPredefined', 'l10n_ch_pre_defined_tax_scale': 'NON'})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 11/2021",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 11/2021",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2021-12-26"):
mapped_employees['employee_tf14'].write(
{'l10n_ch_residence_category': 'settled-C'})
mapped_employees['employee_tf14'].l10n_ch_salary_certificate_profiles.write({
"l10n_ch_source_tax_settlement_letter": False,
})
correction_9 = cls.env['hr.employee.is.line'].create(
{'employee_id': mapped_employees['employee_tf14'].id,
'correction_type': 'aci',
'payslips_to_correct': [(6, 0, [cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf14'].id), ('date_from', '=', date(2021, 11, 1))]).id])],
'is_ema_ids': [Command.create({"employee_id": mapped_employees["employee_tf14"].id, "reason": "withdrawalSettled", "valid_as_of": date(2021, 11, 1)})]
})
cls.env.flush_all()
correction_9.action_pending()
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2021, 12, 1))
mapped_contracts["contract_tf07_01"].write({
"l10n_ch_lpp_not_insured": True,
"l10n_ch_lpp_withdrawal_reason": "retirement",
"l10n_ch_lpp_withdrawal_valid_as_of": date(2021, 12, 31)
})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 12/2021",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 12/2021",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
mapped_employees['employee_tf14'].write(
{'l10n_ch_has_withholding_tax': False})
with freeze_time("2022-01-26"):
for key, c in mapped_contracts.items():
if c.l10n_ch_social_insurance_id.id == avs_1.id and (c.contract_date_start >= date(2022, 1, 1) or not c.contract_date_end or c.contract_date_end >= date(2022, 1, 1)):
c.write({
"l10n_ch_social_insurance_id": avs_2.id
})
if c.l10n_ch_compensation_fund_id.id == caf_be_1.id and (c.contract_date_start >= date(2022, 1, 1) or not c.contract_date_end or c.contract_date_end >= date(2022, 1, 1)):
c.write({
"l10n_ch_compensation_fund_id": caf_be_2.id
})
if c.l10n_ch_compensation_fund_id.id == caf_lu_1.id and (c.contract_date_start >= date(2022, 1, 1) or not c.contract_date_end or c.contract_date_end >= date(2022, 1, 1)):
c.write({
"l10n_ch_compensation_fund_id": caf_lu_2.id
})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 1, 1))
mapped_payslips['payslip_tf07_2022_01'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf07_01'], date(2022, 1, 1), date(2022, 1, 31), company=company.id, after_payment="N")
mapped_employees['employee_tf16'].l10n_ch_salary_certificate_profiles.write({
"l10n_ch_cs_additional_text": "Testfall 16 - Rectificate",
})
mapped_declarations['rectificate_2022_01'] = cls.env['l10n.ch.salary.certificate'].create({
"company_id": company.id,
"year": datetime.now().year,
"month": str(datetime.now().month),
"name": "Anna Aebi Rectificate",
"previous_declaration": mapped_declarations['yearly_retrospective_2021_12'].id,
"original_date": date(2021, 12, 31),
"tax_rectificate_type": "individual",
"tax_rectificate_employee_ids": [(6, 0, [mapped_employees['employee_tf16'].id])]
})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 01/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 01/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations['rectificate_2022_01'].action_prepare_data()
cls.env.flush_all()
mapped_employees['employee_tf16'].l10n_ch_salary_certificate_profiles.write({
"l10n_ch_cs_additional_text": "",
})
with freeze_time("2022-02-26"):
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 2, 1))
mapped_payslips['payslip_tf07_2022_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf07_01'], date(2022, 2, 1), date(2022, 2, 28), company=company.id, after_payment="N")
mapped_contracts["contract_tf03_01"].write({
"l10n_ch_lpp_not_insured": True,
"l10n_ch_lpp_withdrawal_reason": "retirement",
"l10n_ch_lpp_withdrawal_valid_as_of": date(2022, 2, 28)
})
mapped_contracts['contract_tf40_01'].write({'l10n_ch_lpp_not_insured': True})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 02/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 02/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-03-26"):
mapped_contracts["contract_tf03_01"].write({
'resource_calendar_id': resource_calendar_8_4_hours_per_week.id,
'wage': 1500,
'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '3',
'l10n_ch_additional_accident_insurance_line_ids': [(6, 0, [laac_10.id])],
'l10n_ch_sickness_insurance_line_ids': [(6, 0, [ijm_11.id])],
'l10n_ch_avs_status': 'retired',
'l10n_ch_weekly_hours': 8.4
})
mapped_contracts["contract_tf13_01"].write({
'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1',
'l10n_ch_additional_accident_insurance_line_ids': [(6, 0, [laac_11.id])],
})
mapped_contracts["contract_tf16_02"].write({
'l10n_ch_additional_accident_insurance_line_ids': [(6, 0, [laac_11.id])],
})
mapped_contracts["contract_tf40_01"].write({
'irregular_working_time': True,
"wage_type": "NoTimeConstraint",
'l10n_ch_contractual_holidays_rate': 0,
'l10n_ch_contractual_public_holidays_rate': 0,
'l10n_ch_thirteen_month': False,
**administrative,
'wage': 0,
'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '0',
'l10n_ch_additional_accident_insurance_line_ids': [(6, 0, [laac_10.id])],
'l10n_ch_sickness_insurance_line_ids': [(6, 0, [ijm_10.id])],
'l10n_ch_lpp_not_insured': True,
'l10n_ch_lpp_withdrawal_reason': 'interruptionOfEmployment',
'l10n_ch_lpp_withdrawal_valid_as_of': date(2022, 2, 28)
})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 3, 1))
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 03/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 03/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
mapped_employees['employee_tf19'].write({
'l10n_ch_other_employment': False,
'l10n_ch_other_activity_percentage': 0
})
with freeze_time("2022-04-26"):
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 4, 1))
mapped_employees['employee_tf30'].write(
{'private_street': 'Junkerngasse 42', 'private_zip': '3011', 'private_city': 'Bern',
'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 351, 'l10n_ch_canton': 'BE',
'l10n_ch_residence_category': 'annual-B', 'lang': 'fr_FR', 'l10n_ch_tax_scale_type': 'TaxAtSourceCode',
'l10n_ch_tax_scale': 'A'})
mapped_employees['employee_tf25'].write(
{'private_street': 'Hauptstrasse 4', 'private_zip': '6102', 'private_city': 'Malters',
'private_country_id': cls.env.ref('base.ch').id, 'l10n_ch_municipality': 1062,
'l10n_ch_residence_category': 'annual-B', "l10n_ch_canton": "LU"})
mapped_contracts["contract_tf05_01"].write({
"l10n_ch_lpp_not_insured": True,
"l10n_ch_lpp_withdrawal_reason": "retirement",
"l10n_ch_lpp_withdrawal_valid_as_of": date(2022, 4, 30)
})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 04/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 04/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-05-26"):
mapped_contracts["contract_tf05_01"].write({
'l10n_ch_avs_status': 'retired',
'l10n_ch_lpp_not_insured': True,
'l10n_ch_lpp_withdrawal_reason': 'retirement',
'l10n_ch_lpp_withdrawal_valid_as_of': date(2022, 4, 30)
})
mapped_contracts["contract_tf30_01"].write({
"wage_type": "monthly", "l10n_ch_has_monthly": True,
**cdi_month,
'irregular_working_time': False,
'l10n_ch_weekly_hours': 40,
'wage': 5500,
'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1',
'l10n_ch_additional_accident_insurance_line_ids': [(6, 0, [laac_11.id])],
'l10n_ch_sickness_insurance_line_ids': [(6, 0, [ijm_11.id])],
'l10n_ch_is_predefined_category': False
})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 5, 1))
mapped_payslips['payslip_tf01_2022_05'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf01_01'], date(2022, 5, 1), date(2022, 5, 31), company=company.id, after_payment="N")
mapped_payslips['payslip_tf41_2022_05'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf41_01'], date(2022, 5, 1), date(2022, 5, 31), company=company.id, after_payment='N')
mapped_employees['employee_tf35'].write(
{'l10n_ch_tax_scale': 'B', "marital": "married", 'l10n_ch_marital_from': date(2022, 5, 25)})
mapped_employees['employee_tf36'].write(
{'l10n_ch_tax_scale': 'B', "marital": "married", 'l10n_ch_marital_from': date(2022, 5, 25)})
mapped_employees['employee_tf23'].write(
{'marital': 'married', 'l10n_ch_marital_from': date(2022, 5, 8), 'l10n_ch_tax_scale': 'B'})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 05/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 05/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-06-26"):
mapped_contracts["contract_tf11_01"].write({
"resource_calendar_id": resource_calendar_42_hours_per_week.id,
"wage": 30000,
"l10n_ch_weekly_hours": 42,
"lpp_employee_amount": 2514,
})
mapped_employees['employee_tf31'].write(
{"l10n_ch_tax_scale": 'B', 'marital': 'married', 'l10n_ch_marital_from': date(2022, 3, 26)})
correction_1 = cls.env['hr.employee.is.line'].create(
{'employee_id': mapped_employees['employee_tf31'].id,
'payslips_to_correct': [(6, 0, cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf31'].id), ('date_from', 'in', [date(2022, 4, 1), date(2022, 5, 1)])]).ids)],
'is_ema_ids': [Command.create({"employee_id": mapped_employees["employee_tf31"].id, "reason": "civilstate", "valid_as_of": date(2022, 4, 1)})]
})
mapped_employees['employee_tf33'].write(
{"l10n_ch_tax_scale": 'B', 'marital': 'married', 'l10n_ch_marital_from': date(2022, 3, 26)})
correction_2 = cls.env['hr.employee.is.line'].create(
{'employee_id': mapped_employees['employee_tf33'].id,
'payslips_to_correct': [(6, 0, cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf33'].id), ('date_from', 'in', [date(2022, 4, 1), date(2022, 5, 1)])]).ids)],
'is_ema_ids': [Command.create({"employee_id": mapped_employees["employee_tf33"].id, "reason": "civilstate", "valid_as_of": date(2022, 4, 1)})]
})
mapped_employees['employee_tf34'].write(
{"l10n_ch_tax_scale": 'B', 'marital': 'married', 'l10n_ch_marital_from': date(2022, 3, 26)})
correction_3 = cls.env['hr.employee.is.line'].create(
{'employee_id': mapped_employees['employee_tf34'].id,
'payslips_to_correct': [(6, 0, cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf34'].id), ('date_from', 'in', [date(2022, 4, 1), date(2022, 5, 1)])]).ids)],
'is_ema_ids': [Command.create({"employee_id": mapped_employees["employee_tf34"].id, "reason": "civilstate", "valid_as_of": date(2022, 4, 1)})]
})
cls.env.flush_all()
correction_1.action_pending()
correction_2.action_pending()
correction_3.action_pending()
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 6, 1))
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 06/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 06/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-06-28"):
mapped_employees['employee_tf22'].write(
{'marital': 'married', 'l10n_ch_marital_from': date(2022, 6, 26), 'l10n_ch_tax_scale': 'C',
"l10n_ch_spouse_residence_canton": "TI", "l10n_ch_spouse_work_start_date": date(2022, 6, 28), "l10n_ch_spouse_revenues": "work_wage",
"l10n_ch_spouse_work_canton": "TI", **tf22_additional_particular})
with freeze_time("2022-07-26"):
mapped_contracts['contract_tf24_01'].write({'wage': 11000})
mapped_employees['employee_tf33'].write({"children": 1, 'l10n_ch_children': [(0, 0, {
'name': 'Tonino',
'last_name': 'Châtelain',
'birthdate': date(2022, 4, 23),
'deduction_start': date(2022, 5, 1),
'deduction_end': date(2040, 4, 30),
})]})
correction_4 = cls.env['hr.employee.is.line'].create({'employee_id': mapped_employees['employee_tf33'].id,
'payslips_to_correct': [(6, 0, cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf33'].id), ('date_from', 'in', [date(2022, 5, 1), date(2022, 6, 1)])]).ids)],
'is_ema_ids': [Command.create({"employee_id": mapped_employees[
"employee_tf33"].id,
"reason": "childrenDeduction",
"valid_as_of": date(
2022, 5, 1)})]
})
mapped_employees['employee_tf34'].write({"children": 1, 'l10n_ch_children': [(0, 0, {
'name': 'Marc',
'last_name': 'Rinaldi',
'birthdate': date(2022, 4, 23),
'deduction_start': date(2022, 5, 1),
'deduction_end': date(2040, 4, 30),
})]})
correction_5 = cls.env['hr.employee.is.line'].create({'employee_id': mapped_employees['employee_tf34'].id,
'payslips_to_correct': [(6, 0, cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf34'].id), ('date_from', 'in', [date(2022, 5, 1), date(2022, 6, 1)])]).ids)],
'is_ema_ids': [Command.create({"employee_id": mapped_employees["employee_tf34"].id, "reason": "childrenDeduction",
"valid_as_of": date(2022, 5, 1)})]})
cls.env.flush_all()
correction_4.action_pending()
correction_5.action_pending()
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 7, 1))
mapped_employees['employee_tf36'].write({'l10n_ch_tax_scale': 'C', "l10n_ch_spouse_work_start_date": date(2022, 7, 28), "l10n_ch_spouse_revenues": "work_wage", "l10n_ch_spouse_work_canton": "TI"})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 07/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 07/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all() # 2022-08
with freeze_time("2022-08-26"):
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 8, 1))
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 08/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 08/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-08-28"):
mapped_contracts['contract_tf36_01'].write({
'l10n_ch_location_unit_id': location_unit_4.id,
})
mapped_employees['employee_tf36'].write({'private_street': 'Via Milano 26', 'private_zip': '22100', 'private_city': 'Como', 'private_country_id': cls.env.ref('base.it').id, 'l10n_ch_residence_type': 'Daily', 'l10n_ch_municipality': False, 'l10n_ch_canton': 'EX', 'l10n_ch_residence_category': 'crossBorder-G', 'l10n_ch_tax_scale': "T", "l10n_ch_foreign_tax_id": "MLDFBA88H17C933G", "place_of_birth": "Como", "l10n_ch_cross_border_start": date(2023, 9, 1), "l10n_ch_cross_border_commuter": True})
cls.env.flush_all()
mapped_employees['employee_tf35'].write({
'private_street': "Blockweg 2",
'private_zip': '3007',
'private_city': 'Bern',
'private_country_id': cls.env.ref('base.ch').id,
'l10n_ch_municipality': '351',
'l10n_ch_canton': 'BE',
'l10n_ch_spouse_residence_canton': 'BE',
'l10n_ch_spouse_street': 'Blockweg 2',
'l10n_ch_spouse_zip': '3007',
'l10n_ch_spouse_city': "Bern",
})
mapped_contracts["contract_tf35_01"].write({"l10n_ch_location_unit_id": location_unit_2.id})
cls.env.flush_all()
with freeze_time("2022-09-26"):
mapped_contracts['contract_tf14_01'].write({
'wage_type': "monthly", 'l10n_ch_has_monthly': True, 'l10n_ch_has_hourly': False,
"l10n_ch_contractual_13th_month_rate": (1 / 12) * 100,
**internship,
'wage': 2500.0,
"l10n_ch_yearly_holidays": 20,
'l10n_ch_thirteen_month': False,
'l10n_ch_weekly_hours': 21,
'irregular_working_time': False
})
mapped_contracts['contract_tf18_01'].write({'hourly_wage': 35, "l10n_ch_lesson_wage": 35})
mapped_contracts['contract_tf35_01'].write({
'l10n_ch_lpp_insurance_id': lpp_0.id,
'l10n_ch_is_model': 'monthly',
'l10n_ch_location_unit_id': location_unit_2.id,
"l10n_ch_compensation_fund_id": caf_be_2.id,
"l10n_ch_lpp_solutions": [(6, 0, [lpp_0.solutions_ids[2].id])]
})
mapped_contracts['contract_tf36_01'].write({
'l10n_ch_location_unit_id': location_unit_4.id,
'l10n_ch_is_model': 'yearly',
"l10n_ch_compensation_fund_id": caf_ti_2.id,
})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 9, 1))
mapped_employees['employee_tf36'].write({'l10n_ch_tax_scale': "F",
"l10n_ch_spouse_work_canton": "EX",
'l10n_ch_spouse_residence_canton': 'EX',
'l10n_ch_spouse_street': 'Via Milano 26',
'l10n_ch_spouse_zip': '22100',
'l10n_ch_spouse_city': "Como",
'l10n_ch_spouse_country_id': cls.env.ref('base.it').id,
})
mapped_employees['employee_tf24'].write({'l10n_ch_tax_scale': 'C', "l10n_ch_spouse_revenues": "work_wage", "l10n_ch_spouse_work_canton": "TI", "l10n_ch_spouse_work_start_date": date(2022, 9, 20), "l10n_ch_spouse_residence_canton": "TI"})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 09/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 09/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-10-26"):
mapped_contracts['contract_tf09_01'].write({'wage': 1000, 'resource_calendar_id': resource_calendar_21_hours_per_week.id, 'l10n_ch_weekly_hours': 21})
mapped_contracts['contract_tf12_01'].write({'l10n_ch_additional_accident_insurance_line_ids': [(6, 0, [laac_12.id])],
'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '1',
"l10n_ch_sickness_insurance_line_ids": [(6, 0, [ijm_12.id])],
"wage": 0,
"l10n_ch_location_unit_id": location_unit_2.id,
"wage_type": "NoTimeConstraint",
'l10n_ch_contractual_holidays_rate': 0,
'l10n_ch_contractual_public_holidays_rate': 0,
**cdi_fntc,
"l10n_ch_contractual_13th_month_rate": 8.33,
"irregular_working_time": True,
"l10n_ch_compensation_fund_id": caf_be_2.id})
mapped_contracts['contract_tf02_01'].write({
"l10n_ch_avs_status": "retired"
})
cls.env['l10n.ch.lpp.mutation'].create({"reason": "residence", "valid_as_of": date(2022, 10, 1), "employee_id": mapped_employees["employee_tf40"].id})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 10, 1))
mapped_payslips['payslip_tf01_2022_10'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf01_01'], date(2022, 10, 1), date(2022, 10, 31), company=company.id, after_payment="N")
# 2022-10
mapped_employees['employee_tf23'].write({
'l10n_ch_children': [(0, 0, {
'name': 'Sven',
'last_name': 'Koller',
'birthdate': date(2022, 10, 9),
'deduction_start': date(2022, 11, 1),
'deduction_end': date(2040, 10, 31),
})]})
mapped_employees['employee_tf23'].write({'children': 1})
mapped_employees['employee_tf35'].write({"children": 1, 'l10n_ch_children': [(0, 0, {
'name': 'Antonello',
'last_name': 'Roos',
'birthdate': date(2022, 10, 10),
'deduction_start': date(2022, 11, 1),
'deduction_end': date(2040, 10, 31),
})]})
mapped_employees['employee_tf36'].write({"children": 1,
'l10n_ch_children': [(0, 0, {
'name': 'Marc',
'last_name': 'Maldini',
'birthdate': date(2022, 10, 22),
'deduction_end': date(2040, 10, 31),
'deduction_start': date(2022, 11, 1)
})]})
mapped_contracts['contract_tf38_01'].write({'l10n_ch_is_predefined_category': "SF"})
mapped_employees['employee_tf38'].write({"l10n_ch_cross_border_commuter": True, 'l10n_ch_residence_category': 'crossBorder-G', 'l10n_ch_tax_scale_type': 'CategoryPredefined', 'l10n_ch_pre_defined_tax_scale': 'SFN', 'l10n_ch_canton': 'EX', 'l10n_ch_residence_type': 'Daily', 'private_street': 'Grand Rue', 'private_zip': '90100', 'private_city': 'Delle', 'private_country_id': cls.env.ref('base.fr').id})
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 10/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 10/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-11-26"):
mapped_employees['employee_tf24'].write({'l10n_ch_residence_category': 'settled-C'})
mapped_employees['employee_tf10'].l10n_ch_salary_certificate_profiles.write({
"l10n_ch_provision_salary": True,
"l10n_ch_provision_salary_first_name": "Stephanie",
"l10n_ch_provision_salary_last_name": "Ganz",
"l10n_ch_provision_salary_street": "Neuhofstrasse 47",
"l10n_ch_provision_salary_zip": "6020",
"l10n_ch_provision_salary_city": "Emmenbrücke",
"l10n_ch_provision_salary_country": cls.env.ref('base.ch').id,
})
mapped_contracts['contract_tf14_01'].write({'l10n_ch_laa_group': laa_group_A, 'laa_solution_number': '2'})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 11, 1))
mapped_payslips['payslip_tf10_2022_11'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf10_01'], date(2022, 11, 1), date(2022, 11, 30), company=company.id, after_payment='N')
mapped_payslips['payslip_tf30_2022_11'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf30_01'], date(2022, 11, 1), date(2022, 11, 30), company=company.id, after_payment='NK')
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 11/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 11/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
mapped_employees['employee_tf24'].write({'l10n_ch_has_withholding_tax': False})
with freeze_time("2022-12-26"):
cls.env["l10n.ch.avs.splits"].create({
"employee_id": mapped_employees["employee_tf09"].id,
"year": datetime.now().year,
"additional_delivery_date": date(2023, 2, 14),
"state": "confirmed"
})
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2022, 12, 1))
mapped_payslips['payslip_tf10_2022_12'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf10_01'], date(2022, 12, 1), date(2022, 12, 31), company=company.id, after_payment='N')
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 12/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 12/2022",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2022-12-28"):
mapped_employees['employee_tf32'].write({
"marital": "married",
'l10n_ch_marital_from': date(2022, 10, 26),
"l10n_ch_tax_scale": 'B',
'l10n_ch_spouse_last_name': "Armanini",
'l10n_ch_spouse_first_name': "Claudio",
'l10n_ch_spouse_birthday': date(1976, 9, 18),
'l10n_ch_spouse_residence_canton': 'BE',
'l10n_ch_spouse_street': 'Gerberweg 10',
'l10n_ch_spouse_zip': '2560',
'l10n_ch_spouse_city': "Nidau",
'l10n_ch_spouse_country_id': cls.env.ref('base.ch').id,
})
correction_7 = cls.env['hr.employee.is.line'].create({
'employee_id': mapped_employees['employee_tf32'].id,
'payslips_to_correct': [(6, 0, cls.env['hr.payslip'].search([('employee_id', '=', mapped_employees['employee_tf32'].id), ('date_from', 'in', [date(2022, 11, 1), date(2022, 12, 1)])]).ids)],
'is_ema_ids': [Command.create({"employee_id": mapped_employees["employee_tf32"].id, "reason": "civilstate", "valid_as_of": date(2022, 11, 1)})]
})
cls.env.flush_all()
correction_7.action_pending()
with freeze_time("2023-01-26"):
mapped_contracts["contract_tf13_01"].write({
'l10n_ch_sickness_insurance_line_ids': [(6, 0, [ijm_11.id])],
'l10n_ch_avs_status': False
})
mapped_contracts["contract_tf27_01"].write({
'lpp_employee_amount': 875
})
mapped_contracts["contract_tf40_04"].write({
'lpp_employee_amount': 1196,
})
mapped_declarations['yearly_prospective_2023_01'] = cls.env['l10n.ch.lpp.basis.report'].create({
"year": datetime.now().year,
"month": str(datetime.now().month),
"company_id": company.id
})
mapped_declarations['yearly_prospective_2023_01'].action_prepare_data()
mapped_declarations['yearly_prospective_2023_01'].lpp_basis_line_ids.filtered(lambda l: l.employee_id.registration_number == "11").write({
"lpp_declared_basis": 431000.00
})
mapped_declarations['yearly_prospective_2023_01'].lpp_basis_line_ids.filtered(lambda l: l.employee_id.registration_number == "18").write({
"lpp_declared_basis": 20000.00
})
mapped_declarations['yearly_prospective_2023_01'].lpp_basis_line_ids.filtered(lambda l: l.employee_id.registration_number == "27").write({
"lpp_declared_basis": 150000
})
mapped_declarations['yearly_prospective_2023_01'].lpp_basis_line_ids.filtered(lambda l: l.employee_id.registration_number == "40").write({
"lpp_declared_basis": 205000
})
mapped_declarations['yearly_prospective_2023_01'].lpp_basis_line_ids.filtered(lambda l: l.employee_id.registration_number == "32").write({
"lpp_declared_basis": 65000
})
# 2023-01
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2023, 1, 1))
mapped_payslips['payslip_tf08_2023_01'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf08_01'], date(2023, 1, 1), date(2023, 1, 31), company=company.id, after_payment='N')
mapped_payslips['payslip_tf28_2023_01'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf28_01'], date(2023, 1, 1), date(2023, 1, 31), company=company.id, after_payment='NK')
mapped_payslips['payslip_tf29_2023_01'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf29_01'], date(2023, 1, 1), date(2023, 1, 31), company=company.id, after_payment='NK')
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 01/2023",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 01/2023",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
with freeze_time("2023-01-28"):
mapped_employees['employee_tf29'].write({"l10n_ch_tax_scale": 'A', "l10n_ch_canton": 'BE', 'l10n_ch_municipality': 351, 'l10n_ch_residence_category': 'annual-B', 'private_street': "Laupenstrasse 5", 'private_zip': '3008', 'private_city': 'Bern', 'private_country_id': cls.env.ref('base.ch').id})
with freeze_time("2023-02-26"):
cls._l10n_ch_compute_swissdec_demo_paylips(company, date(2023, 2, 1))
mapped_payslips['payslip_tf04_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf04_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment="N")
mapped_payslips['payslip_tf05_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf05_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment="N")
mapped_payslips['payslip_tf06_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf06_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment="N")
mapped_payslips['payslip_tf08_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf08_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment="N")
mapped_payslips['payslip_tf28_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf28_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment='N')
mapped_payslips['payslip_tf29_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf29_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment='N')
mapped_payslips['payslip_tf42_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf42_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment='N')
mapped_payslips['payslip_tf43_2023_02'] = cls._l10n_ch_generate_swissdec_demo_payslip(mapped_contracts['contract_tf43_01'], date(2023, 2, 1), date(2023, 2, 28), company=company.id, after_payment='N')
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['ch.yearly.report'].create({
"name": "Yearly Retrospective 02/2023",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.ema.declaration'].create({
"name": "EMA 02/2023",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.is.report'].create({
"name": f"Monthly Total {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'] = cls.env['l10n.ch.statistic.report'].create({
"name": f"Statistic {datetime.now().year}/{str(datetime.now().month).zfill(2)}",
"company_id": company.id,
"month": str(datetime.now().month),
"year": datetime.now().year,
})
mapped_declarations[f'statistic_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'ema_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'is_declaration_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
mapped_declarations[f'yearly_retrospective_{datetime.now().year}_{str(datetime.now().month).zfill(2)}'].action_prepare_data()
cls.env.flush_all()
return mapped_declarations
@classmethod
def setUpClass(cls):
super().setUpClass()
with patch.object(cls.env.registry['l10n.ch.employee.yearly.values'], '_generate_certificate_uuid', lambda self: "#DOC-ID"):
with patch.object(cls.env.registry['l10n.ch.employee.monthly.values'], '_get_additional_txb_values', lambda self: {}):
with patch.object(cls.env.registry['l10n.ch.employee.monthly.values'], '_get_additional_avs_values', lambda self, avs_base, avs_status: {}):
mapped_declarations = cls._l10n_ch_generate_swissdec_demo_data(cls.muster_ag_company)
for indentifier, declaration in mapped_declarations.items():
assert isinstance(indentifier, str)
setattr(cls, indentifier, declaration)