What one component represents
Create one record for each separately calculated amount: Basic Salary, DA, HRA, Milk Allowance, Employee PF, Employer PF, Advance Recovery, Expense Reimbursement and so on. Use a short stable component code because later calculations refer to that code.
| Field | What it controls | Example |
|---|---|---|
| Component Code | Unique calculation identifier. Use uppercase letters, numbers and underscores. Do not rename it after other formulas refer to it. | BASIC, DA, PF_EMPLOYEE |
| Component Name | User-facing name shown in salary structures, payroll lines and reports. | Basic Salary |
| Component Stage | Classifies the amount in payroll totals and determines whether it is an earning, deduction, contribution, reimbursement or information only. | GROSS_EARNING |
| Occurrence Type | Describes whether the component normally repeats or is supplied only for selected payroll periods. | RECURRING |
| Calculation Method | Default method used when a scheme or employee structure does not override it. | PERCENTAGE |
| Base Component Codes | One or more earlier component codes used by Component Sum or Percentage. Separate codes with +; Jhapu reads their already-calculated values. | BASIC+DA |
| Need Voucher Posting? | Enable only when this component must create an accounting line. The component can still calculate and appear in payroll reports when disabled. | No for display-only Basic; Yes for Total Salary or PF Payable |
| Calculation Source / Role | Identifies where the amount comes from and explicitly identifies the single final Net Pay component. Jhapu never recognises Net Pay from its typed name or code. | CALCULATED_NET_PAY for Net Salary |
| Posting Scope | Choose whether the voucher line is consolidated by ledger, retained per employee, or retained for every source record. | PER_SOURCE_RECORD for employee advances |
| Posting Account Source | Select the component/scheme ledger or the Recovery Account stored against each Employee Loan. | EMPLOYEE_LOAN_RECOVERY_ACCOUNT |
| Default Posting Account | Ledger used when Need Voucher Posting is enabled and Posting Account Source is Component Account. | Salary Expense / PF Payable / Net Salary Payable |
| Posting Side | Whether the component adds a debit or credit posting line. | DEBIT for expense; CREDIT for liability |
| Calculation Order | Default ordering hint. In an active payroll scheme, Calculation Sequence is authoritative. Dependencies must come first. | BASIC 10, DA 20, HRA 30 |
| Active | Only active components are available to the payroll calculator. Deactivate obsolete components instead of reusing their codes for a different meaning. | Checked |
Calculation Source / Role—and how Net Amount is recognised
| Value | Behaviour | Choose it when |
|---|---|---|
EMPLOYEE_SALARY | Reads the amount, percentage, rate and applicable employee-level settings from Employee Salary. | Basic, DA, HRA, fixed allowances and ordinary deductions. |
ATTENDANCE_OVERTIME | Calculates Overtime Rate from Employee Salary × Overtime Hours from Monthly Attendance. | Employee-specific overtime. |
EMPLOYEE_LOAN_RECOVERY | Reads eligible instalments from active Employee Loans and retains the source loan for balance recovery and accounting. | Advance or loan recovery. |
CALCULATED_NET_PAY | Jhapu calculates Gross Earnings + Additions + Reimbursements − Employee Deductions, writes that amount into this component and uses its ledger for Salary Payable. | Exactly one Net Salary/Net Amount component in each Payroll Scheme. |
The component may be named Net Salary, Net Amount or anything appropriate. Recognition depends only on Calculation Source / Role = CALCULATED_NET_PAY. The selected scheme must contain exactly one active component with that role. It must enable voucher posting, use Component Account, post Credit and select the Salary Payable ledger.
Component Stage—every value
| Value | Behaviour | Choose it when |
|---|---|---|
GROSS_EARNING | Added to Adjusted Gross. When attendance affected, it is prorated before the adjusted gross is calculated. It contributes positively to Net Pay. | Basic, DA, regular HRA or another earning considered part of salary gross. |
ADDITION | Shown separately under Additions and added to Net Pay after adjusted gross. | Milk allowance, electricity allowance, incentive or a company-specific addition kept outside gross. |
EMPLOYEE_DEDUCTION | Shown under Employee Deductions and subtracted from Net Pay. | Employee PF, employee ESI, professional tax, TDS or advance recovery. |
EMPLOYER_CONTRIBUTION | Shown separately for employer cost. It does not increase the employee's Net Pay. | Employer PF, employer ESI, gratuity provision or another employer-borne cost. |
REIMBURSEMENT | Shown under Reimbursements and added to Net Pay without becoming Adjusted Gross. | Approved travel, telephone or expense reimbursements. |
INFORMATIONAL | Calculated and retained as a component line but excluded from the current Net Pay equation. | A display-only value, notional amount or base used for reporting/other formulas. |
The engine calculates Net Pay as Gross Earnings + Additions + Reimbursements − Employee Deductions. Employer Contributions and Informational components are recorded but not included in that equation.
Occurrence Type
| Value | Behaviour | Choose it when |
|---|---|---|
RECURRING | Marks the component as normally applicable in every eligible payroll period. | Basic, DA, HRA, fixed allowance, PF or another regular item. |
VARIABLE | Marks the component as period-dependent and normally subject to entry, import or review for a particular month. | Bonus, overtime, incentive, reimbursement or an occasional recovery. |
In the current payroll engine, inclusion comes from the active Payroll Scheme Components and Employee Salary Structure Lines. Occurrence Type explains the intended behaviour; it does not by itself remove a component from a month.
Calculation Method—every value
| Value | Behaviour | Choose it when |
|---|---|---|
FIXED | Uses Monthly Amount from the employee structure; if zero, uses Fixed Amount or the scheme's Default Amount. | Basic ₹20,000 or a fixed allowance ₹1,000. |
MANUAL | Currently resolves from the same configured amount fields as FIXED. It indicates that a permitted user may provide/override the period amount. | Variable bonus, incentive or recovery reviewed before finalisation. |
COMPONENT_SUM | Adds the already-calculated components entered in Base Component Codes. | Gross Salary = BASIC + DA, or another visible/posting total that must not be typed again. |
PERCENTAGE | Adds the Base Component Codes and multiplies that total by Percentage ÷ 100. | DA 10% of BASIC; HRA 20% of BASIC+DA. |
ATTENDANCE_PRORATED | Multiplies the configured fixed amount by Final Payable Days ÷ Working Days. | A fixed monthly earning that must reduce for unpaid absence. |
When BASIC and DA are Gross Earnings, create GROSS_SALARY as an Informational Component Sum of BASIC+DA. It can appear in the chart and create the consolidated Salary Expense posting without being added to Net Pay a second time.
What to enter in Base Component Codes
Enter the component codes that must already have been calculated. Jhapu reads the expression, extracts each code and adds its current calculated amount. For this reason, calculation sequence is essential.
| Field | What it controls | Example |
|---|---|---|
| BASIC | Uses the calculated value of BASIC as the base. | DA = BASIC × 10% |
| BASIC+DA | Adds the calculated BASIC and DA values. | HRA = (BASIC + DA) × 20% |
| BASIC,DA,HRA | Non-alphanumeric separators are treated as separators; the three component values are added. | A percentage of gross components |
| Blank | Component Sum and Percentage have no base and therefore calculate zero. Fixed, Manual and Attendance Prorated do not require component codes. | Leave blank for a fixed/manual amount |
If HRA uses BASIC+DA, BASIC and DA must have smaller Calculation Sequence values than HRA. A code that has not yet been calculated contributes zero.
Toggle behaviour
| Field | What it controls | Example |
|---|---|---|
| Attendance Affected | When checked, any non-ATTENDANCE_PRORATED method is also multiplied by payable-days ÷ working-days. ATTENDANCE_PRORATED already applies that ratio directly. | Basic and DA: Yes; reimbursement: usually No |
| Included in Wages | Classifies the component as part of wages for policy/statutory reporting and future rule use. It does not independently alter payroll V1 arithmetic. | Basic: Yes |
| Included in PF Base | Marks the amount as part of the PF wage base. The current percentage calculation still needs explicit Base Component Codes such as BASIC+DA. | Basic and eligible DA: Yes |
| Included in ESI Base | Marks the amount as part of ESI wages. Use explicit component codes in the ESI calculation rule. | Eligible gross components: Yes |
| Included in Gratuity Base | Classifies the component for gratuity-base reporting/calculation design. | Basic and eligible DA: Yes |
| Taxable | Marks the component as taxable for payroll/tax reporting. It does not calculate income tax by itself. | Basic/HRA: according to policy |
| Affects Gross | Business classification for gross reporting. Component Stage currently determines the payroll V1 gross total. | Gross earnings: Yes |
| Affects Net Pay | Business classification for net-pay reporting. The current engine's Net Pay equation is driven by Component Stage. | Earnings/deductions/reimbursements: Yes |
| Affects CTC | Marks employee cost components, including employer contributions, for CTC design and reports. | Basic and employer PF: Yes |
For example, checking Included in PF Base does not make PF calculate automatically. Add the PF component to a scheme, select Percentage, enter the applicable base component codes and percentage, then verify the result.
Posting account and side
A component contributes an accounting line only when Need Voucher Posting? is enabled. Net Pay is credited through the one component whose Calculation Source / Role is Calculated Net Pay; its Default Posting Account is the Salary Payable ledger.
| Value | Behaviour | Choose it when |
|---|---|---|
CONSOLIDATED | Combines the component amount across employees when ledger and posting side are the same. | Salary Expense, PF Payable, ESI Payable and most monthly payroll totals. |
PER_EMPLOYEE | Keeps a separate posting row for every employee and component. | An employee-wise ledger or audit trail is required even when the ledger is shared. |
PER_SOURCE_RECORD | Keeps one posting row for each source record, such as every active Employee Loan. | Advance/loan recovery where each loan may carry a different recovery ledger. |
Basic, DA and HRA may all appear in the salary chart while only a Total Salary component posts the consolidated salary expense. Leaving voucher posting disabled does not remove a component from employee salary or payroll calculation.
DR Salary Expense — gross earnings and eligible additions
DR Employer PF Expense — employer contribution
CR PF Payable — employee/employer PF liabilities as designed
CR ESI Payable — ESI liabilities
CR Advance Recovery — recovered employee advance
CR Net Salary Payable — total amount payable to employees
The exact entries depend on company accounting policy. The calculator refuses to prepare posting lines when total debit and total credit differ by more than ₹0.01.
Worked component examples
| Field | What it controls | Example |
|---|---|---|
| BASIC | GROSS_EARNING · RECURRING · FIXED or ATTENDANCE_PRORATED · attendance affected · debit Salary Expense. | ₹20,000 |
| DA | GROSS_EARNING · RECURRING · PERCENTAGE · base BASIC · attendance affected · debit Salary Expense. | 10% = ₹2,000 |
| GROSS_SALARY | INFORMATIONAL · RECURRING · COMPONENT_SUM · base BASIC+DA · voucher posting enabled · CONSOLIDATED · DEBIT Salary Expense. | ₹22,000 without double-counting Net Pay |
| HRA | GROSS_EARNING or ADDITION according to company policy · PERCENTAGE · base BASIC+DA. | 20% = ₹4,400 |
| MILK | ADDITION · RECURRING · FIXED · usually not attendance affected · debit selected expense ledger. | ₹1,000 |
| PF_EMPLOYEE | EMPLOYEE_DEDUCTION · RECURRING · PERCENTAGE · base BASIC+DA · credit PF Payable. | 12% = ₹2,640 |
| PF_EMPLOYER | EMPLOYER_CONTRIBUTION · RECURRING · PERCENTAGE · base BASIC+DA · appropriate expense/liability design. | 12% = ₹2,640 |
| ADVANCE_RECOVERY | EMPLOYEE_DEDUCTION · VARIABLE · Calculation Source EMPLOYEE_LOAN_RECOVERY · voucher posting enabled · PER_SOURCE_RECORD · account source EMPLOYEE_LOAN_RECOVERY_ACCOUNT · CREDIT. | Each eligible loan instalment credits that loan’s Recovery Account |
| NET_PAY | INFORMATIONAL · Calculation Source CALCULATED_NET_PAY · voucher posting enabled · CONSOLIDATED · Component Account · CREDIT Net Salary Payable. | Final amount calculated by Jhapu; do not enter an employee amount |
| TRAVEL_REIMB | REIMBURSEMENT · VARIABLE · MANUAL/FIXED · not attendance affected. | ₹3,500 approved claim |
Before saving
- Use one meaning per Component Code and never reuse an old code for a new purpose.
- Confirm the stage because it determines the current gross/net equation.
- Confirm every base code is calculated earlier in the scheme.
- Enable Need Voucher Posting only for components that should create an accounting line; then select an active ledger and correct debit/credit side.
- For Advance Recovery, select Employee Loan Recovery for both calculation and account source, and use Per Source Record posting.
- Include exactly one Calculated Net Pay component in every scheme and configure its Salary Payable ledger on the Credit side.
- Verify PF, ESI, gratuity and tax rules with the organisation’s payroll/accounting adviser.