{% extends 'base_admin.html.twig' %} {% block title %}Payroll{% endblock %} {% block body %}

Payroll

{% include ('template_parts/_date_ranges.html.twig') %} {% set flag = 2 %} {% for monthly_payment_made in monthly_payment_mades %} {% set year = monthly_payment_made.workedmonth|date('Y') %} {% set avsTaxRate = payrollService.taxRatePerMonth(monthly_payment_made.workedmonth |date('Y'),'AVS') %} {% set aanpTaxRate = payrollService.taxRatePerMonth(monthly_payment_made.workedmonth |date('Y'),'AANP') %} {% set expenses = payrollService.ExpensesForMonth(monthly_payment_made.employee,monthly_payment_made.paymentemployer,monthly_payment_made.workedmonth) %} {% set PerDiem = 0.165* ( payrollService.ExpensesForMonth(monthly_payment_made.employee,monthly_payment_made.paymentemployer,monthly_payment_made.workedmonth) + monthly_payment_made.amount) %} {% set netSalary = monthly_payment_made.amount - PerDiem + payrollService.ExpensesForMonth(monthly_payment_made.employee,monthly_payment_made.paymentemployer,monthly_payment_made.workedmonth) %} {% set amountPaid =monthly_payment_made.amount %} {% set grossSalaryPreImpot = ( (monthly_payment_made.amount - payrollService.ExpensesForMonth(monthly_payment_made.employee,monthly_payment_made.paymentemployer,monthly_payment_made.workedmonth) ) *(1+ avsTaxRate + aanpTaxRate ) ) %} {% set avsAmount = (grossSalaryPreImpot * avsTaxRate) %} {% set aanpAmount = (grossSalaryPreImpot * aanpTaxRate) %} s {% set netSalary = grossSalaryPreImpot - avsAmount - aanpAmount %} {% set expensesR = ((20* expenses)|round) /20 %} {% set PerDiemR = ((20* PerDiem)|round) /20 %} {% set netSalaryR = ((20* netSalary)|round) /20 %} {% set grossSalaryR = ((20* grossSalaryPreImpot)|round) /20 %} {% set avsAmountR = ((20* avsAmount)|round) /20 %} {% set aanpAmountR = ((20* aanpAmount)|round) /20 %} {% if payrollService.findPayslipPDF( monthly_payment_made.paymentemployer.id, monthly_payment_made.employee.id, monthly_payment_made.workedmonth) != 'false' %} {% set flag = 1 %} {% set path= payrollService.findPayslipPDF( monthly_payment_made.paymentemployer.id, monthly_payment_made.employee.id, monthly_payment_made.workedmonth) %} {% endif %} {% set date= monthly_payment_made.workedmonth|date('m-Y') %} {% set group = payrollService.group(monthly_payment_made.employee.id,monthly_payment_made.paymentemployer.id,date) %} {% set data = payrollService.interval(monthly_payment_made.employee.id,monthly_payment_made.paymentemployer.id,monthly_payment_made.workedmonth|date('Y'), group) %} {% set start = data['start'] |date('Y-m-d') %} {% set end = data['end']|date('Y-m-d') %} {% set AGS = payrollService.AGSPreImpot(monthly_payment_made.employee.id,monthly_payment_made.paymentemployer.id, start, end) %} {% set ImpotRateEstimate = payrollService.impotTaxRate( start, monthly_payment_made.employee.impotclassification, AGS) %} {% set AGSpostImpot = AGS / (1+ (payrollService.InterpolateImpot(date,monthly_payment_made.employee.impotclassification,AGS)) ) %} {% set ImpotAmount = (payrollService.InterpolateImpot(date,monthly_payment_made.employee.impotclassification,AGSpostImpot)* grossSalaryR ) %} {% set impotAmountR = ((20* impotAmount)|round) /20 %} {% set flag = 2 %} {% endfor %}
Id Group Employer Employee Impot Month Gross salary (pre Impot) Gross salary (post Impot) CMW# AGS (pre impot) AGS (post impot) AVS AANP LLP Impot Net salary Expenses Per Diem Amount Paid AVS AANP Impot rate (1st iteration) Impot rate (2nd iteration) Payslip
{% set date= monthly_payment_made.workedmonth|date('m-Y') %} {{ payrollService.group(monthly_payment_made.employee.id,monthly_payment_made.paymentemployer.id,date) }} {{ monthly_payment_made.employee.id }} {{ monthly_payment_made.paymentemployer }} {{ monthly_payment_made.employee.fullName }} {% if monthly_payment_made.employee.grossNetPaymentSetUp == 'Gross' %} (*) {% endif %} {% if monthly_payment_made.employee.jobDescription != 'Driver' %} (O) {% endif %} {{ monthly_payment_made.employee.impotClassification }} {{ monthly_payment_made.workedmonth ? monthly_payment_made.workedmonth|date('M-Y') : '' }} {% if path is defined and flag==1 %} {% if path['grossSalaryR'] != grossSalaryR %} {{ grossSalaryR|number_format(2, '.', ',') }} {% else %} {{ grossSalaryR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ grossSalaryR|number_format(2, '.', ',') }} {% endif %} {{ (grossSalaryR+ImpotAmount)|number_format(2, '.', ',') }} {{ payrollService.group(monthly_payment_made.employee.id,monthly_payment_made.paymentemployer.id,date) +1}} {{ AGS |number_format(2, '.', ',') }} {{ AGSpostImpot|number_format(2, '.', ',') }} {% if path is defined and flag==1 %} {% if path['avsAmountR'] != avsAmountR %} {{ avsAmountR|number_format(2, '.', ',') }} {% else %} {{ avsAmountR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ avsAmountR|number_format(2, '.', ',') }} {% endif %} {% if path is defined and flag==1 %} {% if path['aanpAmountR'] != aanpAmountR %} {{ aanpAmountR|number_format(2, '.', ',') }} {% else %} {{ aanpAmountR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ aanpAmountR|number_format(2, '.', ',') }} {% endif %} LLP {% if path is defined and flag==1 %} {% if path['impotAmountR'] != impotAmountR %} {{ impotAmountR|number_format(2, '.', ',') }} {% else %} {{ impotAmountR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ impotAmountR|number_format(2, '.', ',') }} {% endif %} {% if path is defined and flag==1 %} {% if path['netSalaryR'] != netSalaryR %} {{ netSalaryR|number_format(2, '.', ',') }} {% else %} {{ netSalaryR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ netSalaryR|number_format(2, '.', ',') }} {% endif %} {% if path is defined and flag==1 %} {% if path['expensesR'] != expensesR %} {{ expensesR|number_format(2, '.', ',') }} {% else %} {{ expensesR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ expensesR|number_format(2, '.', ',') }} {% endif %} {% if path is defined and flag==1 %} {% if path['perDiemR'] != PerDiemR %} {{ PerDiemR|number_format(2, '.', ',') }} {% else %} {{ PerDiemR|number_format(2, '.', ',') }} {% endif %} {% else %} {{ PerDiemR|number_format(2, '.', ',') }} {% endif %} {% if path is defined and flag==1 %} {% if path['amountPaid'] != amountPaid %} {{ amountPaidR|number_format(2, '.', ',') }} {% else %} {{ amountPaid|number_format(2, '.', ',') }} {% if monthly_payment_made.paymentMades.count > 1 %} ({{ monthly_payment_made.paymentMades.count }}) {% endif %} {% endif %} {% else %} {{ amountPaid|number_format(2, '.', ',') }} {% if monthly_payment_made.paymentMades.count > 1 %} ({{ monthly_payment_made.paymentMades.count }}) {% endif %} {% endif %} {% if path is defined and flag==1 %} {% if path['avsRate'] != avsTaxRate %} {{ (avsTaxRate * 100)|number_format(2, '.', ',') }}% {% else %} {{ (avsTaxRate * 100)|number_format(2, '.', ',') }}% {% endif %} {% else %} {{ (avsTaxRate * 100)|number_format(2, '.', ',') }}% {% endif %} {% if path is defined and flag==1 %} {% if path['aanpRate'] != aanpTaxRate %} {{ (aanpTaxRate * 100)|number_format(2, '.', ',') }}% {% else %} {{ (aanpTaxRate * 100)|number_format(2, '.', ',') }}% {% endif %} {% else %} {{ (aanpTaxRate * 100)|number_format(2, '.', ',') }}% {% endif %} {{ (payrollService.InterpolateImpot(date,monthly_payment_made.employee.impotclassification,AGS)*100)|number_format(3,'.','.') }}% {{ (payrollService.InterpolateImpot(date,monthly_payment_made.employee.impotclassification,AGSpostImpot)*100)|number_format(3,'.','.') }}% {% if payrollService.findPayslipPDF( monthly_payment_made.paymentemployer.id, monthly_payment_made.employee.id, monthly_payment_made.workedmonth) == 'false' %} Add {% else %} {% set pathpay= payrollService.findPayslipPDF( monthly_payment_made.paymentemployer.id, monthly_payment_made.employee.id, monthly_payment_made.workedmonth) %} {% endif %}
{% endblock %} {% block javascripts %} {{ parent() }} {# #} {% include 'template_parts/_js_date_ranges.html.twig' %} {% endblock javascripts %} {% block datatable %} {% endblock datatable %}