From c9c8503b7e2a2a67288ca5a40e6500ea789104a0 Mon Sep 17 00:00:00 2001 From: yannick Date: Fri, 13 Apr 2012 12:39:57 +0200 Subject: [PATCH] Merge 6.1 addons bzr revid: yannick@serveur-perso-20120413103957-hz0q2yevwxbwqqkm --- addons/l10n_fr/__openerp__.py | 1 + addons/l10n_fr/l10n_fr.py | 15 +- addons/l10n_fr/l10n_fr_view.xml | 22 + addons/l10n_fr_hr_payroll/__init__.py | 24 + addons/l10n_fr_hr_payroll/__openerp__.py | 45 + .../l10n_fr_hr_payroll/l10n_fr_hr_payroll.py | 57 + .../l10n_fr_hr_payroll_data.xml | 1132 +++++++++++++++++ .../l10n_fr_hr_payroll_view.xml | 70 + addons/l10n_fr_hr_payroll/report/__init__.py | 27 + .../l10n_fr_hr_payroll/report/fiche_paye.py | 76 ++ .../l10n_fr_hr_payroll/report/fiche_paye.rml | 452 +++++++ 11 files changed, 1920 insertions(+), 1 deletion(-) create mode 100755 addons/l10n_fr/l10n_fr_view.xml create mode 100755 addons/l10n_fr_hr_payroll/__init__.py create mode 100755 addons/l10n_fr_hr_payroll/__openerp__.py create mode 100755 addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll.py create mode 100755 addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_data.xml create mode 100755 addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_view.xml create mode 100644 addons/l10n_fr_hr_payroll/report/__init__.py create mode 100755 addons/l10n_fr_hr_payroll/report/fiche_paye.py create mode 100644 addons/l10n_fr_hr_payroll/report/fiche_paye.rml diff --git a/addons/l10n_fr/__openerp__.py b/addons/l10n_fr/__openerp__.py index 839907c778a..d15a423b0d3 100644 --- a/addons/l10n_fr/__openerp__.py +++ b/addons/l10n_fr/__openerp__.py @@ -42,6 +42,7 @@ Credits: Sistheo Zeekom CrysaLEAD "update_xml" : [ "fr_report_demo.xml", "plan_comptable_general_demo.xml", + "l10n_fr_view.xml", "l10n_fr_wizard.xml", "fr_pcg_taxes_demo.xml", "fr_tax_demo.xml", diff --git a/addons/l10n_fr/l10n_fr.py b/addons/l10n_fr/l10n_fr.py index 573f4f7519e..5efb4244306 100644 --- a/addons/l10n_fr/l10n_fr.py +++ b/addons/l10n_fr/l10n_fr.py @@ -51,4 +51,17 @@ class l10n_fr_line(osv.osv): l10n_fr_line() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file +class res_company(osv.osv): + _inherit = 'res.company' + + _columns = { + 'siret': fields.char('SIRET', size=64), + 'ape': fields.char('APE', size=64), + } + +res_company() + + + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr/l10n_fr_view.xml b/addons/l10n_fr/l10n_fr_view.xml new file mode 100755 index 00000000000..d21993db47b --- /dev/null +++ b/addons/l10n_fr/l10n_fr_view.xml @@ -0,0 +1,22 @@ + + + + + + res.company.form.l10n.fr + res.company + form + 20 + + + + + + + + + + + + + diff --git a/addons/l10n_fr_hr_payroll/__init__.py b/addons/l10n_fr_hr_payroll/__init__.py new file mode 100755 index 00000000000..f7fcefd3c4b --- /dev/null +++ b/addons/l10n_fr_hr_payroll/__init__.py @@ -0,0 +1,24 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2011 OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see +# +############################################################################## +import l10n_fr_hr_payroll +import report + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr_hr_payroll/__openerp__.py b/addons/l10n_fr_hr_payroll/__openerp__.py new file mode 100755 index 00000000000..669a0b31ac9 --- /dev/null +++ b/addons/l10n_fr_hr_payroll/__openerp__.py @@ -0,0 +1,45 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2011 OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{ + 'name': 'French Payroll Rules', + 'category': 'Localization/Payroll', + 'author': 'SYNERPGY', + 'depends': ['hr_payroll', 'hr_payroll_account', 'l10n_fr'], + 'version': '1.0', + 'description': """ +French Payroll Rules +======================= + + -Configuration of hr_payroll for french localization + -Contributions Rules + -Accounting configuration + -New payslip report + """, + + 'active': False, + 'update_xml':[ + 'l10n_fr_hr_payroll_view.xml', + 'l10n_fr_hr_payroll_data.xml', + ], + 'installable': True +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll.py b/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll.py new file mode 100755 index 00000000000..8b08bc2385d --- /dev/null +++ b/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll.py @@ -0,0 +1,57 @@ +#-*- coding:utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2011 OpenERP SA (). All Rights Reserved +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import fields, osv +import decimal_precision as dp + + +class res_company(osv.osv): + _inherit = 'res.company' + + _columns = { + 'plafond_secu': fields.float('Plafond de la Securite Sociale', digits_compute=dp.get_precision('Payroll')), + 'nombre_employes': fields.integer('Nombre d\'employes'), + 'cotisation_prevoyance': fields.float('Cotisation Patronale Prevoyance', digits_compute=dp.get_precision('Payroll')), + 'org_ss': fields.char('Organisme de securite sociale', size=64), + 'conv_coll': fields.char('Convention collective', size=64), + } + +res_company() + +class hr_contract(osv.osv): + _inherit = 'hr.contract' + + _columns = { + 'qualif': fields.char('Qualification', size=64), + 'niveau': fields.char('Niveau', size=64), + 'coef': fields.char('Coefficient', size=64), + } +hr_contract() + +class hr_payslip(osv.osv): + _inherit = 'hr.payslip' + + _columns = { + 'payment_mode': fields.char('Mode de paiement', size=64), + } +hr_payslip() + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_data.xml b/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_data.xml new file mode 100755 index 00000000000..5cb7de70d90 --- /dev/null +++ b/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_data.xml @@ -0,0 +1,1132 @@ + + + + + + + + + + + + Heures Supplementaires + True + lightblue + + + + + + + + + + 2946 + + + + + Cout total pour l'entreprise + TOTAL + + + + + Salaire Net + NET + + + + + Salaire Brut + BRUT + + + + + Salaire de base + BASE + + + + + Indemnite + INDM + + + + + Deduction + DED + + + + + Cumul Imposable + C_IMP + + + + + Total Retenues + RETENUES + + + + + Total Charges Salariales + SALC + + + + + Cotisations Patronales + COMP + + + + + Cotisations Prevoyance Patronales + PREV + + + + + Plafond de Securite Sociale + SECU + + + + + + Autres totaux + O_TOTALS + + + + + + + + + + URSSAF + + + + Organisme de retraite complementaire + + + + Chambre du commerce et de l'industrie + + + + Organisme de prevoyance + + + + + + + + + Salaire de base + BASE + 1 + total + + + + Salaire Brut + BRUT + 1000 + + result = categories.BASE + categories.INDM - categories.DED + total + + + + + Plafond Securite Sociale + SECU + 1010 + total + + + none + code + result = contract.employee_id.company_id.plafond_secu + + + + Plafond Tranche A + TA + 1011 + total + + + none + code + result = SECU + + + + Plafond Tranche B + TB + 1012 + total + + + none + code + result = SECU * 4 + + + + Plafond Tranche C + TC + 1013 + total + + + none + code + result = SECU * 8 + + + + Plafond Tranche 1 + T1 + 1014 + total + + + none + code + result = SECU + + + + Plafond Tranche 2 + T2 + 1015 + total + + + none + code + result = SECU * 3 + + + + + Total des charges salariales + 2510 + SALC + total + + + none + code + result = categories.SALC + + + + + Total Retenues + 99999 + total + + RET + none + code + + result = categories.RETENUES + + + + Cumul Imposable + 99999 + total + + C_IMP + none + code + + result = BRUT - categories.SALC + + + + + Net + 100000 + total + + result = BRUT - categories.RETENUES + + + + Total Charges Patronales + 150000 + TCOMP + total + + + none + code + result = categories.COMP + + + + + Cout total pour l'entreprise + 200000 + TOTAL + total + + + none + code + result = categories.BRUT + categories.COMP + + + + + + + + + + Assurance maladie, maternite, invalidite, deces, solidaritee des personnes agees et handicapees + C1 + 2040 + normal + none + percentage + 0.75 + categories.BRUT + + + + + + + + Assurance maladie, maternite, invalidite, deces, solidaritee des personnes agees et handicapees + C1P + 2045 + employer + none + percentage + 13.10 + categories.BRUT + + + + + + + + + Vieillesse plafonnee + C2 + 2050 + normal + none + percentage + 6.65 + min(categories.BRUT,SECU) + + + + + + + + Vieillesse plafonnee + C2P + 2055 + employer + none + percentage + 8.3 + min(categories.BRUT,SECU) + + + + + + + + + Vieillesse deplafonnee + C3 + 2060 + normal + none + percentage + 0.1 + categories.BRUT + + + + + + + + Vieillesse deplafonnee + C3P + 2065 + employer + none + percentage + 1.6 + categories.BRUT + + + + + + + + Allocations familiales + C4P + 2075 + employer + none + percentage + 5.4 + categories.BRUT + + + + + + + + + + + + Assurance chomage + C10 + 2080 + normal + none + percentage + 2.40 + min(categories.BRUT,TB) + + + + + + + + Assurance chomage + C10P + 2085 + employer + none + percentage + 4 + min(categories.BRUT,TB) + + + + + + + + + AGS (FNGS) + C11P + 2095 + employer + none + percentage + 0.3 + min(categories.BRUT,TB) + + + + + + + ARRCO Non-cadre Tranche 1 + C12 + 2100 + normal + none + percentage + 3 + min(categories.BRUT,T1) + + + + + + + + ARRCO Non-cadre Tranche 1 + C12P + 2105 + employer + none + percentage + 4.5 + min(categories.BRUT,T1) + + + + + + + + + ARRCO Non-cadre Tranche 2 + C14 + 2110 + normal + python + result = categories.BRUT > T1 + percentage + 8 + min(categories.BRUT-T1,T2-T1) + + + + + + + + ARRCO Non-cadre Tranche 2 + C14P + 2115 + employer + python + result = categories.BRUT > T1 + percentage + 12 + min(categories.BRUT-T1,T2-T1) + + + + + + + + + + AGFF Non-cadre Tranche 1 + C13 + 2120 + normal + none + percentage + 0.8 + min(categories.BRUT,T1) + + + + + + + + AGFF Non-cadre Tranche 1 + C13P + 2125 + employer + none + percentage + 1.2 + min(categories.BRUT,T1) + + + + + + + + AGFF Non-cadre Tranche 2 + C15 + 2130 + normal + python + result = categories.BRUT > T1 + percentage + 0.9 + min(categories.BRUT-T1,T2-T1) + + + + + + + + AGFF Non-cadre Tranche 2 + C15P + 2135 + employer + python + result = categories.BRUT > T1 + percentage + 1.3 + min(categories.BRUT-T1,T2-T1) + + + + + + + + + ARRCO Cadre Tranche A + C16 + 2140 + normal + none + percentage + 3 + min(categories.BRUT,TA) + + + + + + + + ARRCO Cadre Tranche A + C16P + 2145 + employer + none + percentage + 4.5 + min(categories.BRUT,TA) + + + + + + + + + AGIRC et GMP Cadre Tranche B + C17 + 2150 + normal + python + result = categories.BRUT > TA + percentage + 7.7 + min(categories.BRUT-TA,TB-TA) + + + + + + + + AGIRC et GMP Cadre Tranche B + C17P + 2155 + employer + python + result = categories.BRUT > TA + percentage + 12.6 + min(categories.BRUT-TA,TB-TA) + + + + + + + + + AGIRC Cadre Tranche C + C18P + 2165 + employer + python + result = categories.BRUT > TB + percentage + 0 + min(categories.BRUT-TB,TC-TB) + + + + + + + + AGFF Cadre Tranche A + C18 + 2170 + normal + none + percentage + 0.8 + min(categories.BRUT,TA) + + + + + + + + AGFF Cadre Tranche A + C18P + 2175 + employer + none + percentage + 1.2 + min(categories.BRUT,TA) + + + + + + + + AGFF Non-cadre Tranche B + C18 + 2180 + normal + python + result = categories.BRUT > TA + percentage + 0.9 + min(categories.BRUT-TA,TB-TA) + + + + + + + + AGFF Cadre Tranche B + C18P + 2185 + employer + python + result = categories.BRUT > TA + percentage + 1.3 + min(categories.BRUT-TA,TB-TA) + + + + + + + CET + C19 + 2190 + normal + none + percentage + 0.13 + min(categories.BRUT,TC) + + + + + + + + CET + C19P + 2195 + employer + none + percentage + 0.22 + min(categories.BRUT,TC) + + + + + + + APEC + C20 + 2200 + normal + none + percentage + 0.024 + min(categories.BRUT,TB) + + + + + + + + APEC + C20P + 2205 + employer + none + percentage + 0.036 + min(categories.BRUT,TB) + + + + + + + + Assurance deces cadres + C21P + 2215 + employer + none + percentage + 1.5 + min(categories.BRUT,TA) + + + + + + + + + + Accident du travail + C5P + 2225 + employer + none + percentage + categories.BRUT + + + + + + + Prevoyance Cadre TA + C35 + 2230 + normal + none + percentage + min(categories.BRUT,TA) + + + + + + + Prevoyance Cadre TA + C35P + 2231 + employer + none + percentage + min(categories.BRUT,TA) + + + + + + Prevoyance Cadre TB + C36 + 2232 + normal + python + result = categories.BRUT > TA + percentage + min(categories.BRUT-TA,TB-TA) + + + + + + + Prevoyance Cadre TB + C36P + 2233 + employer + python + result = categories.BRUT > TA + percentage + min(categories.BRUT-TA,TB-TA) + + + + + + Forfait Mutuelle + C37 + 2234 + normal + none + fix + + + + + + + Forfait Mutuelle + C37P + 2235 + employer + none + fix + + + + + + Taxe Prevoyance + C40P + 2239 + employer + python + result = categories.PREV != 0 + percentage + 8 + categories.PREV + + + + + + FNAL -20 Employes + C7P + 2245 + employer + range + contract.employee_id.company_id.nombre_employes + 19 + percentage + 0.1 + min(categories.BRUT,SECU) + + + + + + + + + FNAL +20 Employes + C8P + 2255 + employer + range + contract.employee_id.company_id.nombre_employes + 20 + percentage + 0.5 + categories.BRUT + + + + + + + + + Versement Transport + C9P + 2265 + employer + range + contract.employee_id.company_id.nombre_employes + 10 + percentage + + + + + + + + + + Effort a la construction + C22P + 2275 + employer + range + contract.employee_id.company_id.nombre_employes + 20 + percentage + 0.45 + categories.BRUT + + + + + + + + Taxe d'apprentissage + C23P + 2285 + employer + none + percentage + 0.5 + categories.BRUT + + + + + + + Contribution additionnelle au developpement de l'apprentissage + C24P + 2295 + employer + none + percentage + 0.18 + categories.BRUT + + + + + + + + Formation professionnelle 10- salaries + C25P + 2305 + employer + range + contract.employee_id.company_id.nombre_employes + 9 + percentage + 0.55 + categories.BRUT + + + + + + + + + Formation professionnelle 10-19 salaries + C26P + 2315 + employer + range + contract.employee_id.company_id.nombre_employes + 10 + 19 + percentage + 1.05 + categories.BRUT + + + + + + + + + Formation professionnelle 20+ salaries + C27P + 2325 + employer + range + contract.employee_id.company_id.nombre_employes + 20 + percentage + 1.60 + categories.BRUT + + + + + + + CSG deductible + C29 + 2500 + normal + none + percentage + 5.1 + (categories.BRUT + categories.PREV)*0.97 + + + + + + + CSG non deductible + C28 + 2550 + normal + none + percentage + 2.4 + (categories.BRUT + categories.PREV)*0.97 + + + + + + + + CRDS + C30 + 2560 + normal + none + percentage + 0.5 + (categories.BRUT + categories.PREV)*0.97 + + + + + + + + + + + + Cotisations de base Employe Francais + + + + + + E-NC + Employe non-cadre + + + + + + + + E-C + Employe cadre + + + + + + + + + + + + diff --git a/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_view.xml b/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_view.xml new file mode 100755 index 00000000000..764213313b8 --- /dev/null +++ b/addons/l10n_fr_hr_payroll/l10n_fr_hr_payroll_view.xml @@ -0,0 +1,70 @@ + + + + + + + res.company.form.l10n.fr.payroll + res.company + form + 20 + + + + + + + + + + + + + + + + + + + hr.contract.view.form.l10n.fr.payroll + hr.contract + form + 20 + + + + + + + + + + + + hr.payslip.form.l10n.fr.payroll + hr.payslip + form + 20 + + + + + + + + + + + + + + + + diff --git a/addons/l10n_fr_hr_payroll/report/__init__.py b/addons/l10n_fr_hr_payroll/report/__init__.py new file mode 100644 index 00000000000..40d2ccc3c05 --- /dev/null +++ b/addons/l10n_fr_hr_payroll/report/__init__.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved +# d$ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import fiche_paye + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr_hr_payroll/report/fiche_paye.py b/addons/l10n_fr_hr_payroll/report/fiche_paye.py new file mode 100755 index 00000000000..3419045a788 --- /dev/null +++ b/addons/l10n_fr_hr_payroll/report/fiche_paye.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python +#-*- coding:utf-8 -*- + +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved +# d$ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from report import report_sxw + +class fiche_paye_parser(report_sxw.rml_parse): + + def __init__(self, cr, uid, name, context): + super(fiche_paye_parser, self).__init__(cr, uid, name, context) + self.localcontext.update({ + 'get_payslip_lines': self.get_payslip_lines, + 'get_total_by_rule_category': self.get_total_by_rule_category, + 'get_employer_line': self.get_employer_line, + }) + + def get_payslip_lines(self, obj): + payslip_line = self.pool.get('hr.payslip.line') + res = [] + ids = [] + for id in range(len(obj)): + if obj[id].appears_on_payslip == True and ( obj[id].salary_rule_id.type != 'employer' or not obj[id].salary_rule_id.parent_rule_id ): + ids.append(obj[id].id) + if ids: + res = payslip_line.browse(self.cr, self.uid, ids) + return res + + + def get_total_by_rule_category(self, obj, code): + payslip_line = self.pool.get('hr.payslip.line') + rule_cate_obj = self.pool.get('hr.salary.rule.category') + + cate_ids = rule_cate_obj.search(self.cr, self.uid, [('code', '=', code)]) + + category_total = 0 + line_ids = payslip_line.search(self.cr, self.uid, [('slip_id', '=', obj.id),('category_id.id', '=', cate_ids[0] )]) + + for line in payslip_line.browse(self.cr, self.uid, line_ids): + category_total += line.total + + return category_total + + + def get_employer_line(self, obj, parent_line): + + payslip_line = self.pool.get('hr.payslip.line') + + line_ids = payslip_line.search(self.cr, self.uid, [('slip_id', '=', obj.id), ('salary_rule_id.parent_rule_id.id', '=', parent_line.salary_rule_id.id )]) + res = payslip_line.browse(self.cr, self.uid, line_ids[0]) + + return res + + +report_sxw.report_sxw('report.fiche.paye', 'hr.payslip', 'l10n_fr_hr_payroll/report/fiche_paye.rml', parser=fiche_paye_parser) + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/l10n_fr_hr_payroll/report/fiche_paye.rml b/addons/l10n_fr_hr_payroll/report/fiche_paye.rml new file mode 100644 index 00000000000..2abc9cd53c0 --- /dev/null +++ b/addons/l10n_fr_hr_payroll/report/fiche_paye.rml @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [[repeatIn(objects,'o')]] + + + + + + + BULLETIN DE PAIE + + + + PAIE DU [[ formatLang(o.date_from, date=True) or '']] AU [[ formatLang(o.date_to, date=True) or '' ]] + + + + Matricule : + N° s.s : + Emploi : + Qualif : + Niveau : + Coef : + Entrée : + + + [[o.employee_id.sinid or '_']] + [[o.employee_id.ssnid or '_']] + [[o.contract_id.job_id.name or '_']] + [[o.contract_id.qualif or '_']] + [[o.contract_id.niveau or '_']] + [[o.contract_id.coef or '_']] + [[o.contract_id.date_start or '_']] Sortie : [[o.contract_id.date_end or '']] + + + + + ORG. S.S : + + + [[o.employee_id.company_id.org_ss or '_']] + + + + + + + + + + + + + + + + + [[o.employee_id.company_id.partner_id.title.name or '']] [[o.employee_id.company_id.name or '_']] + [[o.employee_id.company_id.street or '_']] + [[o.employee_id.company_id.street2 or '']] + [[o.employee_id.company_id.zip or '_']] [[o.employee_id.company_id.city or '']] + SIRET : [[o.employee_id.company_id.siret or '_']] APE : [[o.employee_id.company_id.ape or '_']] + + + + + + + + + + + + + + + + [[o.employee_id.name or '_']] + [[o.employee_id.address_home_id.street or '_' ]] + [[o.employee_id.address_home_id.street2 or '' ]] + [[o.employee_id.address_home_id.zip or '_' ]] [[o.employee_id.address_home_id.city or '' ]] + + + + + + + + + + + + + + + + + + + DESIGNATION + + + QUANTITE / BASE + + + TAUX + + + MONTANT + + + CHARGES PATRONALES + + + +
+ [[repeatIn(get_payslip_lines(o.line_ids),'p')]] + + + + [[ p.code or '' ]] + + + [[ p.name or '' ]] + + + [[ ((p.amount_select== 'percentage') or removeParentNode('para')) and '' ]] [[ p.base or '' ]] + [[ ((p.amount_select== 'fix') or removeParentNode('para')) and '' ]] [[ p.quantity or '' ]] + [[ ((p.amount_select<> 'fix' and p.amount_select<> 'percentage') or removeParentNode('para')) and '' ]] + + + [[ ((p.amount_select == 'percentage' and p.salary_rule_id.type <> 'employer') or removeParentNode('para')) and '' ]] [[ p.rate or '' ]] + [[ ((p.amount_select <> 'percentage' or p.salary_rule_id.type == 'employer') or removeParentNode('para')) and '' ]] + + + [[ (( p.salary_rule_id.type <> 'employer') or removeParentNode('para')) and '' ]] [[ p.amount or '' ]] + [[ (( p.salary_rule_id.type == 'employer') or removeParentNode('para')) and '' ]] + + + [[ (( p.salary_rule_id.type == 'employer') or removeParentNode('para')) and '' ]] [[ p.rate or '' ]] + [[ (( p.salary_rule_id.type <> 'employer') or removeParentNode('para')) and '' ]][[ get_employer_line(o, p).rate or '']] + + + [[ (( p.salary_rule_id.type == 'employer') or removeParentNode('para')) and '' ]] [[ p.amount or '' ]] + [[ (( p.salary_rule_id.type <> 'employer') or removeParentNode('para')) and '' ]][[ get_employer_line(o,p).amount or '' ]] + + + +
+ + + + + + + + + + Mode de reglement : [[ o.payment_mode or '' ]] + Paye le : [[ formatLang(o.move_id.date, date=True) or '']] + + + NET A PAYER + + + TOTAL CHARGES PATRONALES + + + + + Conv. Coll.: [[ o.employee_id.company_id.conv_coll or '' ]] + + + [[ get_total_by_rule_category(o, 'NET') ]] + + + [[ get_total_by_rule_category(o, 'COMP') ]] + + + + + + + SALAIRE BRUT + + + TOTAL CHARGES SALARIALES + + + NET IMPOSABLE + + + PLAFOND S.S. + + + + + + + + COUT GLOBAL SALARIE + + + + + [[ get_total_by_rule_category(o, 'BRUT') ]] + + + [[ get_total_by_rule_category(o, 'SALC') ]] + + + [[ get_total_by_rule_category(o, 'C_IMP') ]] + + + [[ o.employee_id.company_id.plafond_secu or '' ]] + + + + + + + + [[ get_total_by_rule_category(o, 'TOTAL') ]] + + + + + + + + + + + DANS VOTRE INTERET ET POUR VOUS AIDER A FAIRE VALOIR VOS DROITS, CONSERVER CE BULLETIN DE PAIE SANS LIMITATION DE DUREE + +
+
+