{% extends "base.html" %} {% block title %}{{ employee.full_name }} · WageWise{% endblock %} {% block content %}
{{ initial(employee.full_name) }}
{{ employee.status | upper }}
{% if employee.employee_code %}
Employee Code
{{ employee.employee_code }}
{% endif %} {% if employee.designation %}
Designation
{{ employee.designation }}
{% endif %} {% if employee.department %}
Department
{{ employee.department }}
{% endif %} {% if employee.date_of_joining %}
Date of Joining
{{ employee.date_of_joining|dateonly }}
{% endif %} {% if employee.mobile %}
Mobile
{{ employee.mobile }}
{% endif %} {% if employee.pan_number %}
PAN
{{ employee.pan_number }}
{% endif %} {% if employee.pf_number %}
PF No.
{{ employee.pf_number }}
{% endif %} {% if employee.esi_number %}
ESI No.
{{ employee.esi_number }}
{% endif %} {% if employee.bank_name or employee.ifsc_code %}
Bank / IFSC
{{ employee.bank_name or '' }} / {{ employee.ifsc_code or '—' }}
{% endif %} {% if employee.driving_license_number %}
DL Number
{{ employee.driving_license_number }}
{% endif %} {% if ec_rows %} {% for ec in ec_rows %} {% if ec.name %}
Emergency Contact {{ loop.index if ec_rows|length > 1 }}
{{ ec.name }}
{% if ec.relation %}
{{ ec.relation }}
{% endif %} {% if ec.mobile %}
{{ ec.mobile }}
{% endif %}
{% endif %} {% endfor %} {% elif employee.emergency_contact_name %}
Emergency Contact
{{ employee.emergency_contact_name }}
{% if employee.emergency_contact_number %}
{{ employee.emergency_contact_number }}
{% endif %}
{% endif %} {% if nominee_rows %} {% for nm in nominee_rows %} {% if nm.name %}
Nominee {{ loop.index if nominee_rows|length > 1 }}
{{ nm.name }}
{% if nm.relation %}
{{ nm.relation }} · {{ nm.percentage or 0 }}%
{% endif %}
{% endif %} {% endfor %} {% elif employee.nominee_name %}
Nominee
{{ employee.nominee_name }}
{% if employee.nominee_relation %}
{{ employee.nominee_relation }}
{% endif %}
{% endif %}
{% set ps = summary.payslip %} {% set gr = summary.gratuity %}
TAKE-HOME / IN-HAND
₹{{ "{:,.0f}".format(employee.take_home_salary or 0) }}
agreed monthly net
MONTHLY GROSS
₹{{ "{:,.0f}".format(ps.monthly_gross or 0) }}
Basic + DA + HRA + Travel + Other
MONTHLY CTC
₹{{ "{:,.0f}".format(summary.ctc_monthly or 0) }}
Annual ₹{{ "{:,.0f}".format(summary.ctc_annual or 0) }}
GRATUITY ACCRUED
₹{{ "{:,.0f}".format(gr.accrued_amount or 0) }}
{{ "%.1f"|format(gr.years_of_service or 0) }} yrs · {{ 'Eligible' if gr.eligible_for_payout else 'Not yet eligible' }}

Salary Structure

{% for label, val in [('Basic', employee.basic_salary),('DA', employee.da),('HRA', employee.hra),('Travel Allowance', employee.travel_allowance),('Other Allowance', employee.other_allowance)] %} {% if val %}{% endif %} {% endfor %}
ComponentMonthlyAnnual
{{ label }} ₹{{ "{:,.0f}".format(val) }} ₹{{ "{:,.0f}".format(val*12) }}
Gross ₹{{ "{:,.0f}".format(ps.monthly_gross or 0) }} ₹{{ "{:,.0f}".format((ps.monthly_gross or 0)*12) }}
{% set has_deductions = ps.pf.employee or ps.esi.applicable or ps.professional_tax or ps.tds %} {% if has_deductions %}

Monthly Deductions

{% if ps.esi.applicable %}{% endif %} {% if ps.professional_tax %}{% endif %} {% if ps.tds %}{% endif %}
PF (Employee)₹{{ "{:,.0f}".format(ps.pf.employee or 0) }}
ESI (Employee)₹{{ "{:,.0f}".format(ps.esi.employee or 0) }}
Professional Tax₹{{ "{:,.0f}".format(ps.professional_tax or 0) }}
TDS (monthly est.)₹{{ "{:,.0f}".format(ps.tds or 0) }}
{% endif %} {% if (employee.commission_basis and employee.commission_basis != 'none') or employee.ot_opted %} {% if variable_pay %}

Variable Pay History

{% for vp in variable_pay %} {% set r = vp.row %} {% endfor %}
MonthSalesCollectionOT HoursCommissionOT Pay
{{ r.month }}/{{ r.year }} ₹{{ "{:,.0f}".format(r.sales_amount or 0) }} ₹{{ "{:,.0f}".format(r.collection_amount or 0) }} {{ r.overtime_hours or 0 }} ₹{{ "{:,.0f}".format(vp.commission) }} ₹{{ "{:,.0f}".format(vp.overtime_pay) }}
{% endif %} {% endif %} {% endblock %}