The reusable pay-component master — every earning, deduction, employer contribution and reimbursement a company can pay, defined once with its type, taxability, calculation method, statutory nature and both GL account mappings. Salary-structure lines (SalaryComponent) reference a row here, and at calculation time the master's ComponentType, StatutoryType, Taxability, IsProratable, SortOrder and GL accounts WIN over the equivalent legacy fields on the structure line; the line's own values are only a fallback when it has no master. Because the GL mapping lives here, posting needs no hardcoded account map — and conversely a component missing the mapping its type requires fails the entire post. ComponentType is Earning, Deduction, EmployerContribution or Reimbursement; CalculationType is Fixed, Percentage, Formula, Slab or Manual; StatutoryType, where the component is statutory, is PF, ESI, PT, TDS, LWF or Gratuity.
Fields
| Field | Label | Type | Required | What it does |
BasedOnComponentCodes | Based On Component Codes | Text | | A comma-separated list of the component codes this component's formula depends on. |
CalculationType | Calculation Type | PickList | Yes | Values: Fixed, Percentage, Formula, Slab, Manual. |
ComponentCode | Component Code | Text, unique | Yes | The short stable identifier for the component, used to reference it from other components' formula dependencies. |
ComponentType | Component Type | PickList | Yes | Values: Earning, Deduction, Employer Contribution, Reimbursement. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DisplayOnPayslip | Display On Payslip | Boolean | | Intended to control whether the component is shown on the payslip, defaulting to on. No first-party code reads it — payslip breakdowns are projected from every component line of the employee's detail regardless of this flag. |
FormulaExpression | Formula Expression | Text | | |
GLAccountId | GL Account | Lookup → GLAccount | Yes | |
Id | Id | Guid | Yes | |
IsActive | Is Active | Boolean | | Whether the master is available for use in salary structures, defaulting to on. Deactivating it does not stop calculation: the engine resolves masters by identifier and applies them regardless, so an inactive component still referenced by a structure line continues to be paid. |
IsArrearEligible | Is Arrear Eligible | Boolean | | Declares that the component may be paid as arrears for an earlier period. It is descriptive only: arrears are entered as PayrollAdjustment records, and nothing in the calculation checks this flag before accepting one. |
IsPartOfCTC | Is Part Of CTC | Boolean | | Declares that the component counts toward cost to company. It is a classification flag for structure design and reporting — the calculation does not consult it, and percentage-of-CTC components read the compensation record's CTC figure directly rather than summing flagged components. |
IsPartOfGross | Is Part Of Gross | Boolean | | |
IsPartOfNetPay | Is Part Of Net Pay | Boolean | | Declares that the component should affect take-home pay. The engine ignores it: what actually decides the effect on net is ComponentType, where earnings and reimbursements add and deductions subtract, while employer contributions never touch net. |
IsProratable | Is Proratable | Boolean | | |
IsStatutory | Is Statutory | Boolean | | |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text, unique | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
PayableGLAccountId | Payable GL Account | Lookup → GLAccount | Yes | |
RecordTypeId | Record Type | Guid, hidden | | |
SortOrder | Sort Order | Number | | The component's position in payslip and breakdown ordering, copied onto every calculated line in preference to the salary structure's own sequence. Keep it below 1000, because adjustment lines are stamped 1000 and loan recovery lines 2000, and those two bands are how downstream logic recognises non-structure lines. |
StatutoryType | Statutory Type | PickList | | Values: PF, ESI, PT, TDS, LWF, Gratuity. |
Taxability | Taxability | PickList | | Values: Taxable, Non Taxable, Partially Taxable. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | BulkDelete |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete this PayrollComponent. |
DeleteHeader | Delete | Delete | Delete |
Edit | Edit | Edit | Edit this PayrollComponent. |
EditHEader | Edit | Edit | Edit |
EditInLine | Edit | EditInline | Edit |
New | New | New | Create a PayrollComponent. |
Lookup filters
| Filter | Lookup field | Notes |
| PartnerAccountFilter | PartnerAccountId | |