# Salary Configuration

<p class="doc-lead">Salary Configuration defines how each employee or <a href="#/payroll/payroll-group">Payroll Group</a> is paid — payment and deduction components, overtime rates, daily vs monthly calculation basis, and attendance-category daily rates. It feeds the <a href="#/payroll/pay-run">Pay Run</a> calculation engine. Payment categories with <b>isLOPAffected</b> are prorated for loss-of-pay days.</p>

<div class="doc-toc">
<p class="doc-toc-title">On this page</p>
<div class="doc-toc-section">
<span class="doc-toc-group-title">Getting started</span>
<div class="doc-toc-links">
<a href="#/payroll/salary-configuration?id=overview">Overview &amp; List View</a>
<a href="#/payroll/salary-configuration?id=quick-start">Quick Start</a>
</div>
</div>
<div class="doc-toc-section">
<span class="doc-toc-group-title">Form reference</span>
<div class="doc-toc-links">
<a href="#/payroll/salary-configuration?id=header-fields">Basic Settings</a>
<a href="#/payroll/salary-configuration?id=payment-components">Payment Components</a>
<a href="#/payroll/salary-configuration?id=deduction-components">Deduction Components</a>
</div>
</div>
<div class="doc-toc-section">
<span class="doc-toc-group-title">More</span>
<div class="doc-toc-links">
<a href="#/payroll/salary-configuration?id=calculated-on">Calculated On — Month vs Daily</a>
<a href="#/payroll/salary-configuration?id=pay-run">Connection with Pay Run</a>
<a href="#/payroll/salary-configuration?id=lop">LOP &amp; isLOPAffected</a>
<a href="#/payroll/salary-configuration?id=example">Worked Example</a>
<a href="#/payroll/salary-configuration?id=best-practices">Best Practices</a>
<a href="#/payroll/salary-configuration?id=faq">FAQ</a>
<a href="#/payroll/salary-configuration?id=related">Related &amp; Videos</a>
</div>
</div>
</div>

<hr class="doc-section-divider">

<h2 id="overview">Overview &amp; List View</h2>

Go to <b>Payroll → Salary Configuration</b>. The list shows every configuration with employee or payroll group, calculation basis, effective date, and overtime rates.

<img src="payroll/images/sal-con.webp" alt="Salary Configuration List" loading="lazy">

<b>List columns</b>

| **Column** | **Shows** |
|------------|-----------|
| Id | Configuration reference. |
| Employee | Employee assigned (when not group-based). |
| Group | Payroll group assigned (when not employee-specific). |
| Calculated On | Monthly Basis or Daily Basis. |
| Effective Date | Date from which this configuration applies. |
| Overtime rate per hour | Regular overtime rate. |
| Holiday OT Rate | Holiday overtime rate per hour. |
| Hourly Rate | Hourly rate for production wages (when enabled). |
| Primary Payment | First payment component of the configuration — shows that line's actual category title and amount (e.g. <code>Basic Pay: 800.00</code>). The title reflects the company's own first payment category, so it varies by setup. |

<b>Quick filter tabs</b>

| **Tab** | **Shows** |
|---------|-----------|
| Active | Active configurations (default). |
| Suspended | Suspended configurations. |

<b>Advanced Filters</b>

Payroll Group, Employee, Calculated On, Overtime rate per hour, Holiday Overtime Rate, Status, and Created Date.

<b>List row actions</b>

| **Action** | **Available when** |
|------------|-------------------|
| Edit | Always (with edit access) |
| Delete | Always (with delete access) |
| View | Always |

<hr class="doc-section-divider">

<h2 id="quick-start">Quick Start — Create a Salary Configuration</h2>

<h3>1. Navigate</h3>
Go to <b>Payroll → Salary Configuration</b> and click <b>New</b>.

<img src="payroll/images/salary-configuration.webp" alt="New Salary Configuration" loading="lazy">

<h3>2. Basic settings</h3>
<ul>
<li>Assign to a <b>Payroll Group</b> or a specific <b>Employee</b> (employee-specific config overrides group defaults).</li>
<li>Set <b>Calculated On</b> — <b>Monthly Basis</b> or <b>Daily Basis</b>.</li>
<li>Enter <b>Effective Date</b>.</li>
<li>Set <b>Overtime Rate Per Hour</b> and <b>Holiday OT Rate Per Hour</b>.</li>
<li>When production wages are enabled, set <b>Hourly Rate</b> for hourly production wage calculation.</li>
</ul>

<h3>3. Payment components</h3>
Add rows under <b>Payment Category</b> — one per earning (Basic, HRA, allowances, etc.):

| **Column** | **Description** |
|------------|-----------------|
| Title | Payment category (categories 6 and 7 excluded — use dedicated modules). |
| Attendance Category | Daily rate per attendance category (when category-based attendance is enabled). |
| Calculated On | Monthly or Daily basis for this component (defaults from header). |
| Amount | Fixed monthly or daily amount. |

<h3>4. Deduction components</h3>
Add rows under <b>Deduction Categories</b> — one per recurring deduction (PF, ESI, etc.):

| **Column** | **Description** |
|------------|-----------------|
| Title | Deduction category (categories 1 and 2 excluded — handled by cash advance and deduction on expense). |
| Calculated On | Monthly or Daily basis for this component. |
| Amount | Fixed monthly or daily deduction amount. |

<h3>5. Save</h3>
Click <b>Save</b>. The configuration is active immediately and used by the next pay run for matching employees.

<hr class="doc-section-divider">

<h2 id="header-fields">Basic Settings Reference</h2>

| **Field** | **Description** |
|-----------|-----------------|
| Payroll Group | Payroll group this configuration applies to. Use for group-wide salary structures. |
| Employee | Specific employee override. When set, takes precedence over group config for that employee. |
| Calculated On * | <b>Monthly Basis</b> — amounts are monthly, prorated by day counts. <b>Daily Basis</b> — amounts are per-day rates multiplied by payable days. Required. |
| Effective Date | Start date of this configuration. Pay runs use the config effective on the process date. |
| Overtime Rate Per Hour | Rate for regular overtime hours (used by pay run attendance OT and <a href="#/payroll/overtime-entry">Overtime Entry</a> Get Rate). |
| Holiday OT Rate Per Hour | Rate for holiday overtime days/hours. |
| Hourly Rate | Employee hourly rate for <a href="#/payroll/production-wage">Production Wage</a> chargeType 2. Shown only when production wages are enabled in payroll settings. |

<hr class="doc-section-divider">

<h2 id="payment-components">Payment Components</h2>

Each payment row defines one earning component on the pay run.

| **Column** | **Description** |
|------------|-----------------|
| Sl Num | Line serial number. |
| Title | <a href="#/payroll/payment-categories">Payment Category</a> (e.g. Basic, HRA, Conveyance). Categories 6 (Wages Payable) and 7 (Overtime) are excluded. |
| Attendance Category | When <a href="#/hr/attendance-category">category-based attendance</a> is enabled in HR settings, link a daily rate to a specific attendance category (e.g. different rate for night shift). |
| Calculated On | Monthly Basis or Daily Basis for this component. Defaults from header calculatedOn. |
| Amount | Fixed amount — monthly total or daily rate depending on Calculated On. |

<b>Attendance category daily rates:</b> When HR → Settings → Category Based Attendance is enabled, you can assign different daily amounts per attendance category. The pay run engine uses present days in each category to calculate the component total.

<hr class="doc-section-divider">

<h2 id="deduction-components">Deduction Components</h2>

Each deduction row defines a recurring deduction on the pay run.

| **Column** | **Description** |
|------------|-----------------|
| Sl Num | Line serial number. |
| Title | <a href="#/payroll/deduction-categories">Deduction Category</a> (e.g. PF, Professional Tax). Categories 1 (Cash Advance) and 2 (Deduction on Expense) are excluded — those come from vouchers. |
| Calculated On | Monthly Basis or Daily Basis for this component. |
| Amount | Fixed deduction amount. |

Deduction components from salary configuration appear on every pay run alongside auto-pulled voucher deductions (cash advances, deduction on expense) and calculated LOP.

<hr class="doc-section-divider">

<h2 id="calculated-on">Calculated On — Month vs Daily</h2>

| **Basis** | **How amounts work** | **Pay run calculation** |
|-----------|---------------------|------------------------|
| <b>Monthly Basis</b> (<code>month</code>) | Amount is the full monthly entitlement. | Prorated by working days, LOP days, and paid leaves per <a href="#/payroll/payroll-settings-config">Payroll Settings</a>. |
| <b>Daily Basis</b> (<code>daily</code>) | Amount is the per-day rate. | Multiplied by payable days (present + paid leave + extras − LOP). |

Each payment and deduction row can override the header Calculated On with its own basis. Mixed configurations are supported (e.g. Basic on monthly, conveyance on daily).

<hr class="doc-section-divider">

<h2 id="pay-run">Connection with Pay Run</h2>

Salary Configuration is the primary input to the pay run calculation engine.

| **What pay run reads** | **Source in salary config** |
|------------------------|----------------------------|
| Payment lines (Basic, HRA, etc.) | Payment Category rows |
| Deduction lines (PF, etc.) | Deduction Category rows |
| Attendance OT amount | Overtime Rate Per Hour × OT hours from attendance |
| Holiday OT amount | Holiday OT Rate Per Hour × holiday OT days |
| Manual OT Get Rate | Overtime Rate Per Hour |
| Hourly production wage | Hourly Rate |
| LOP proration flags | isLOPAffected on each <a href="#/payroll/payment-categories">Payment Category</a> |

<b>Resolution order:</b> When an employee has both a payroll group config and an employee-specific config, the employee-specific configuration takes precedence.

<b>On pay run create:</b> Selecting employee + period triggers salary calculation. Use <b>Refetch</b> on the pay run to recalculate after attendance corrections or config changes.

<hr class="doc-section-divider">

<h2 id="lop">LOP &amp; isLOPAffected</h2>

Loss-of-pay (LOP) reduces salary for absent or unpaid-leave days. Whether a payment component is reduced depends on the <b>isLOPAffected</b> flag on its <a href="#/payroll/payment-categories">Payment Category</a>:

| **isLOPAffected** | **Behaviour on pay run** |
|-------------------|--------------------------|
| <b>Yes</b> (default for most categories) | Component amount is prorated — reduced proportionally for LOP days. |
| <b>No</b> | Component is paid in full regardless of LOP days (e.g. fixed allowances). |

The pay run engine passes <code>isLOPAffected</code> from the payment category into each calculated payment line. Deduction categories also have an isLOPAffected flag for deduction-style LOP handling.

Related payment category flags (configured in Payment Categories, not salary config):
<ul>
<li><b>Count Paid Leave as Paid Days</b> — paid leave counts toward payable days for this component.</li>
<li><b>Applies to leave salary</b> — component used for leave salary encashment (category 8).</li>
<li><b>Applies to extra payable days</b> — component used for extra payable day calculation.</li>
</ul>

<hr class="doc-section-divider">

<h2 id="example">Worked Example — Monthly Employee</h2>

<p><b>Employee:</b> Meera, Payroll Group "Staff". Monthly basis. Effective 1 Apr 2026.</p>

<b>Basic settings</b>
<ul>
<li>Calculated On: Monthly Basis</li>
<li>OT Rate: ₹200/hr, Holiday OT: ₹300/hr</li>
</ul>

<b>Payment components</b>

| **Category** | **Calculated On** | **Amount** | **isLOPAffected** |
|--------------|-------------------|------------|-------------------|
| Basic | Monthly | ₹25,000 | Yes |
| HRA | Monthly | ₹10,000 | Yes |
| Conveyance | Monthly | ₹2,000 | No |

<b>March pay run:</b> 26 working days, 2 LOP days.
<ul>
<li>Basic: ₹25,000 × (24/26) = ₹23,077</li>
<li>HRA: ₹10,000 × (24/26) = ₹9,231</li>
<li>Conveyance: ₹2,000 (full — not LOP affected)</li>
<li>Total salary payables from config: ₹34,308</li>
</ul>

<hr class="doc-section-divider">

<h2 id="best-practices">Best Practices</h2>

<ul>
<li>Create a payroll group configuration first, then add employee-specific overrides only where needed.</li>
<li>Set <b>Effective Date</b> correctly — mid-month changes require a new config row.</li>
<li>Align <b>Calculated On</b> with your payroll policy (monthly salary vs daily wage workers).</li>
<li>Review <b>isLOPAffected</b> on each payment category before go-live — incorrect flags cause over- or under-payment on LOP.</li>
<li>When using category-based attendance, map attendance categories to daily rates for shift-differential pay.</li>
<li>Keep OT rates in salary config in sync with company policy — they feed both attendance OT and manual overtime entries.</li>
</ul>

<hr class="doc-section-divider">

<h2 id="faq">FAQ</h2>

<b>What is the difference between payroll group and employee configuration?</b><br>
Payroll group config applies to all employees in the group. Employee config overrides the group for that specific employee.

<b>Monthly vs Daily — which should I use?</b><br>
Monthly for salaried staff (amounts prorated by day counts). Daily for wage workers paid per present day.

<b>What are attendance category daily rates?</b><br>
When category-based attendance is enabled, each payment row can specify a different daily amount per attendance category (e.g. higher rate for night shift days).

<b>How does isLOPAffected work?</b><br>
Set on the Payment Category master. When Yes, the pay run reduces that component for LOP days. When No, the full amount is paid.

<b>Why are categories 6 and 7 excluded from payment rows?</b><br>
Wages Payable (6) comes from <a href="#/payroll/production-wage">Production Wage</a>. Overtime (7) comes from <a href="#/payroll/overtime-entry">Overtime Entry</a> or attendance calculation.

<b>Do I need to recreate pay runs after changing salary config?</b><br>
Draft pay runs: use Refetch to recalculate. Approved pay runs: cancel and recreate, or wait for the next period.

<b>Where are OT and holiday OT rates set?</b><br>
On the salary configuration payment rows — separate rate fields for normal overtime and holiday overtime when attendance OT is calculated on pay run.

<b>What is Fixed Amount vs Percentage on a payment row?</b><br>
Fixed pays a set amount (prorated by day mode). Percentage applies to a base component such as Basic when configured on the row.

<b>Can one employee have two active salary configurations?</b><br>
No. One effective configuration per employee — employee-specific config overrides payroll group config for that person.

<b>Why is hourly rate not on the payment grid?</b><br>
<b>Hourly Rate (Used for employee production wage)</b> is a header field on the configuration form — used for production hourly wages, not monthly Basic/HRA rows.

<hr class="doc-section-divider">

<h2 id="related">Related Topics &amp; Videos</h2>

<b>Related documentation</b>
<ul>
<li><a href="#/payroll/pay-run">Pay Run</a> — consumes salary configuration for calculation.</li>
<li><a href="#/payroll/payroll-group">Payroll Group</a> — group employees for shared salary structures.</li>
<li><a href="#/payroll/payment-categories">Payment Categories</a> — define earning types and isLOPAffected flags.</li>
<li><a href="#/payroll/deduction-categories">Deduction Categories</a> — define deduction types.</li>
<li><a href="#/payroll/payroll-settings-config">Payroll Settings (calculation)</a> — day-count formulas and attendance rules.</li>
<li><a href="#/hr/attendance-category">Attendance Category</a> — category-based daily rates.</li>
</ul>

<b>Video — Salary Configuration overview</b>
<iframe width="560" height="315" src="https://www.youtube.com/embed/jK2S5brfzjw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
