Open ERP

Salary Component Master

Define the meaning, calculation defaults, statutory classification and accounting destination of every salary amount.

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.

FieldWhat it controlsExample
Component CodeUnique calculation identifier. Use uppercase letters, numbers and underscores. Do not rename it after other formulas refer to it.BASIC, DA, PF_EMPLOYEE
Component NameUser-facing name shown in salary structures, payroll lines and reports.Basic Salary
Component StageClassifies the amount in payroll totals and determines whether it is an earning, deduction, contribution, reimbursement or information only.GROSS_EARNING
Occurrence TypeDescribes whether the component normally repeats or is supplied only for selected payroll periods.RECURRING
Calculation MethodDefault method used when a scheme or employee structure does not override it.PERCENTAGE
Calculation BaseOne or more earlier component codes whose calculated values form the base. Separate codes with + or another non-alphanumeric separator; Jhapu adds the referenced values.BASIC+DA
Default Posting AccountFallback ledger used for the component's debit or credit posting. A scheme or employee structure may override it.Salary Expense / PF Payable
Posting SideWhether the component adds a debit or credit posting line.DEBIT for expense; CREDIT for liability
Calculation OrderDefault ordering hint. In an active payroll scheme, Calculation Sequence is authoritative. Dependencies must come first.BASIC 10, DA 20, HRA 30
ActiveOnly active components are available to the payroll calculator. Deactivate obsolete components instead of reusing their codes for a different meaning.Checked

Component Stage—every value

ValueBehaviourChoose it when
GROSS_EARNINGAdded 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.
ADDITIONShown 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_DEDUCTIONShown under Employee Deductions and subtracted from Net Pay.Employee PF, employee ESI, professional tax, TDS or advance recovery.
EMPLOYER_CONTRIBUTIONShown separately for employer cost. It does not increase the employee's Net Pay.Employer PF, employer ESI, gratuity provision or another employer-borne cost.
REIMBURSEMENTShown under Reimbursements and added to Net Pay without becoming Adjusted Gross.Approved travel, telephone or expense reimbursements.
INFORMATIONALCalculated 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.
Stage drives the current payroll total

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

ValueBehaviourChoose it when
RECURRINGMarks the component as normally applicable in every eligible payroll period.Basic, DA, HRA, fixed allowance, PF or another regular item.
VARIABLEMarks 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.
Classification, not automatic inclusion

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

ValueBehaviourChoose it when
FIXEDUses 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.
MANUALCurrently 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.
PERCENTAGEAdds the component codes in Calculation Base and multiplies that base by Percentage ÷ 100.DA 10% of BASIC; HRA 20% of BASIC+DA.
FORMULAUses structured Formula Metadata from the scheme. If no formula JSON is present, it falls back to percentage of the base, then the base itself, then the fixed amount.A calculation requiring structured add/subtract/multiply/divide operations.
ATTENDANCE_PRORATEDMultiplies the configured fixed amount by Final Payable Days ÷ Working Days.A fixed monthly earning that must reduce for unpaid absence.
SLABCurrently uses the configured fixed/default amount. A selectable slab definition is not yet evaluated by the payroll V1 engine.Do not use for a new live payroll until the required slab behaviour is configured and verified.
Use only implemented behaviour

SLAB is retained in the metadata model for expansion, but payroll V1 does not yet evaluate ranges. For production, represent the rule with a verified fixed, percentage or structured formula calculation.

What to enter in Calculation Base

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.

FieldWhat it controlsExample
BASICUses the calculated value of BASIC as the base.DA = BASIC × 10%
BASIC+DAAdds the calculated BASIC and DA values.HRA = (BASIC + DA) × 20%
BASIC,DA,HRANon-alphanumeric separators are treated as separators; the three component values are added.A percentage of gross components
BlankThe percentage base becomes zero. A FORMULA without metadata falls back through base/fixed logic.Use only for a fixed/manual amount
Order example

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

FieldWhat it controlsExample
Attendance AffectedWhen 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 WagesClassifies 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 BaseMarks the amount as part of the PF wage base. The current percentage calculation still needs an explicit Calculation Base such as BASIC+DA.Basic and eligible DA: Yes
Included in ESI BaseMarks the amount as part of ESI wages. Use explicit component codes in the ESI calculation rule.Eligible gross components: Yes
Included in Gratuity BaseClassifies the component for gratuity-base reporting/calculation design.Basic and eligible DA: Yes
TaxableMarks the component as taxable for payroll/tax reporting. It does not calculate income tax by itself.Basic/HRA: according to policy
Affects GrossBusiness classification for gross reporting. Component Stage currently determines the payroll V1 gross total.Gross earnings: Yes
Affects Net PayBusiness classification for net-pay reporting. The current engine's Net Pay equation is driven by Component Stage.Earnings/deductions/reimbursements: Yes
Affects CTCMarks employee cost components, including employer contributions, for CTC design and reports.Basic and employer PF: Yes
Flags do not replace formulas

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

Component postings are aggregated across employees by ledger and side. Net Pay is credited separately to the scheme’s Net Salary Payable Account. Every configured component amount with a posting account contributes a posting line.

Illustrative monthly payroll journal

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

FieldWhat it controlsExample
BASICGROSS_EARNING · RECURRING · FIXED or ATTENDANCE_PRORATED · attendance affected · debit Salary Expense.₹20,000
DAGROSS_EARNING · RECURRING · PERCENTAGE · base BASIC · attendance affected · debit Salary Expense.10% = ₹2,000
HRAGROSS_EARNING or ADDITION according to company policy · PERCENTAGE · base BASIC+DA.20% = ₹4,400
MILKADDITION · RECURRING · FIXED · usually not attendance affected · debit selected expense ledger.₹1,000
PF_EMPLOYEEEMPLOYEE_DEDUCTION · RECURRING · PERCENTAGE · base BASIC+DA · credit PF Payable.12% = ₹2,640
PF_EMPLOYEREMPLOYER_CONTRIBUTION · RECURRING · PERCENTAGE · base BASIC+DA · appropriate expense/liability design.12% = ₹2,640
ADVANCE_RECOVERYEMPLOYEE_DEDUCTION. A code containing ADVANCE or LOAN triggers eligible recovery from active employee loan/advance records.Instalment ₹2,000
TRAVEL_REIMBREIMBURSEMENT · 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.
  • Use an active ledger and correct debit/credit side.
  • Verify PF, ESI, gratuity and tax rules with the organisation’s payroll/accounting adviser.
Next guidePayroll Scheme Master