A payroll component is the master record for one pay element — Basic, House Rent Allowance, PF employee contribution, professional tax — that says what kind of amount it is and which GL accounts it posts to. You set components up once per payroll company. Salary structure lines and payroll adjustments then point at them, and every payroll run copies their settings onto the lines it calculates.
Overview
The component and the structure line split the work:
- The structure line decides how much: its Calculation Type, Value, Percentage Of, Min Amount and Max Amount produce the amount.
- The payroll component decides what the amount is: an earning, a deduction, an employer contribution or a reimbursement; which statutory scheme it belongs to; whether loss-of-pay days reduce it; and the GL accounts it posts to.
Because the accounts live on the component, every structure that uses "Basic" posts it the same way, and changing the account in one place changes it for every run you calculate afterwards.
When to use it
- Before your first payroll run: create one component for every earning, deduction, employer contribution and reimbursement you pay.
- When you add a new pay element (a new allowance, a new statutory deduction).
- When the chart of accounts changes and a pay element must post to a different account.
- When a run's Post fails because a line has no GL account.
How xMatix handles it
When you click Calculate on a run, xMatix works through each employee's salary structure line by line. For a line that names a payroll component, it takes these values from the component and ignores the line's own versions:
| From the component | What the run does with it |
|---|---|
| Component Type | Decides which total the amount joins: Earning adds to gross pay, Reimbursement adds to gross pay and the reimbursement total, Deduction adds to total deductions, EmployerContribution adds to the employer contribution total and leaves net pay alone. |
| Statutory Type | PT, together with a structure line whose Calculation Type is Slab, takes the amount from the company's professional tax slabs. TDS takes the month's TDS projection. Deductions typed PF, ESI or TDS also add to the employee's PF, ESI or TDS totals in the register. |
| Is Proratable | When ticked, the amount is reduced by payable days over calendar days if the employee has loss-of-pay days. |
| Taxability | Taxable ticks Is Taxable on the calculated line. |
| Is Statutory | Copied onto the calculated line as Is Statutory. |
| GL Account, Payable GL Account | Copied onto the calculated line. Post later debits and credits these accounts. |
The component's own Calculation Type, Formula Expression and Based On Component Codes are never read: the amount always comes from the structure line. When a line names no component, the run falls back to the line's own Component Type, Statutory Flag, Taxable and Pro-rata fields, and the line gets no GL accounts.
At Post, each calculated line goes to the ledger by its Component Type:
| Component Type | Debit | Credit |
|---|---|---|
| Earning, Reimbursement | The component's GL Account | The company's Payroll Payable control account, as part of each employee's net pay |
| Deduction | — (it reduces net pay) | The component's Payable GL Account |
| EmployerContribution | The component's GL Account | The component's Payable GL Account |
Prerequisites
- The payroll company exists as a partner account.
- The GL accounts the components post to exist for that company: salary and allowance expense accounts, an employer contribution expense account, and payable accounts for each statutory scheme (PF, ESI, professional tax, salary TDS, LWF). The account list is in Payroll configuration.
- Your security profile gives you create and edit access to Payroll Component.
Procedure
Step 1 — Open the component list
Open the Payroll app, choose Settings, and select Payroll Components under Pay Structure. You can also type Payroll Components in the App Launcher search. The list shows each component's Name, Component Type, Calculation Type, Taxability, Formula Expression, Partner Account and Created Date.
Step 2 — Create a component
Click New. The form opens with the main fields at the top and two tabs, Controls and Details.
- At the top, fill Name and Component Code. Both must be unique across your whole tenant.
- Choose the Partner Account (the payroll company). This field is hidden if your organisation runs a single company.
- Type the Statutory Type if the component belongs to a statutory scheme:
PF,ESI,PT,TDS,LWForGratuity. Leave it empty for ordinary earnings and deductions. - Choose the Payable GL Account and the GL Account. The form requires both on every component. Posting uses only the ones the Component Type needs (see the table above), so for an earning the payable account is not posted.
- Type the Taxability:
Taxable,NonTaxableorPartiallyTaxable. - On the Controls tab, tick Is Proratable for amounts that loss-of-pay days should reduce (normally the earnings). Tick Is Statutory for statutory components. Is Active and the other boxes on this tab are labels only (see Business rules).
- On the Details tab, type the Component Type:
Earning,Deduction,EmployerContributionorReimbursement. Type the Calculation Type as well — it is required, but it is a label only; use the same value as the structure lines, for exampleFixed. - Click Save. The component's record page opens.
Component Type, Statutory Type, Taxability and Calculation Type are plain text boxes on this form, not drop-down lists. Type the values exactly as shown above, with the same capital letters and no spaces. xMatix accepts any text, but the run only recognises these exact values.
Step 3 — Review and change a component
The record page shows Partner Account, GL Account and Payable GL Account in the header, a Key Information panel (Component Code, Calculation Type, Component Type, Formula Expression, Statutory Type, Taxability, Based On Component Codes) and a Controls panel (Is Active, Display On Payslip, Is Arrear Eligible, Is Part Of Gross, Is Part Of Net Pay, Is Part Of CTC, Is Proratable, Is Statutory).
To change a value, click the field on the record page and edit it in place, or click Edit in the header to reopen the full form in a dialog. Changes reach payroll only when a run is calculated: runs you already calculated keep the values they copied. To apply a change to a run that is not yet posted, click Calculate on the run again.
Step 4 — Use the component on salary structures and adjustments
Open a salary structure, add or edit a component line, and pick the component in its Payroll Component field. The line keeps its own Calculation Type and Value; the component adds the type, statutory behaviour and accounts. See Employees and salary structures.
On a payroll adjustment, pick the component in Payroll Component so the adjustment line gets its type, taxability and GL accounts. An adjustment without a component has no accounts and fails at Post.
Step 5 — Retire a component
To stop paying a component, deactivate or remove the salary structure lines that use it, then calculate the next run. Unticking Is Active on the component does not stop it being paid.
Delete a component only when no structure line or adjustment still points at it. Lines that still point at a deleted component lose their GL accounts, and the next run's Post fails on them.
Fields
The create form, in order.
| Field | What it means | Notes |
|---|---|---|
| Name | The component's name, for example Basic | Required. Unique across the tenant. Shown in the Payroll Component pickers. |
| Component Code | A short code, for example BASIC | Required. Unique across the tenant. The TDS work sheet groups earning rows by it. |
| Partner Account | The payroll company the component belongs to | Lists partner accounts only. For organising: the run uses any component a structure line names, whatever its company. Hidden on single-company tenants. |
| Statutory Type | The statutory scheme | Type PF, ESI, PT, TDS, LWF or Gratuity. PT and TDS change how the amount is worked out; PF, ESI and TDS deductions also fill the register's PF, ESI and TDS totals. LWF and Gratuity are labels. |
| Payable GL Account | The liability account credited at posting | Required. Used by deductions and employer contributions. |
| GL Account | The expense account debited at posting | Required. Used by earnings, reimbursements and employer contributions. The picker lists every GL account, so pick the payroll company's own. |
| Taxability | Whether the amount is taxable salary | Type Taxable, NonTaxable or PartiallyTaxable. Only Taxable ticks Is Taxable on calculated lines. No amount changes with it, including salary TDS. |
| Is Arrear Eligible | Whether arrears may be paid for it | Label only. |
| Is Part Of Net Pay | Whether it affects take-home pay | Label only: Component Type decides. |
| Is Part Of Gross | Whether it is part of gross pay | Label only: Component Type decides. |
| Is Part Of CTC | Whether it counts towards cost to company | Label only. Percentage-of-CTC lines read the compensation record's CTC. |
| Is Proratable | Whether loss-of-pay days reduce it | Ticked: reduced by payable days over calendar days. Left empty: the structure line's Pro-rata box decides. |
| Is Statutory | Whether it is a statutory component | Copied to calculated lines; nothing else reads it. |
| Is Active | Whether the component is in use | Label only. The run does not check it, and the pickers still offer inactive components. |
| Calculation Type | How the amount would be worked out | Required. Type Fixed, Percentage, Formula, Slab or Manual. Label only: the structure line's own Calculation Type decides. |
| Component Type | What kind of amount it is | Required. Type Earning, Deduction, EmployerContribution or Reimbursement. Any other text is counted in no total and posts nothing. |
| Formula Expression | A formula for the amount | Label only. Formulas are not evaluated. |
| Based On Component Codes | Codes the formula depends on | Label only. |
The record page also shows Display On Payslip, which you can change there. It is a label only: payslips are built from the run totals whatever it says.
Business rules
- The structure line sets the amount. The component never changes how much is paid, except through Statutory Type PT (with a Slab line) and TDS.
- The component overrides the line. When a structure line names a component, the component's Component Type, Statutory Type, Taxability, Is Statutory and Is Proratable win over the line's own fields. Is Proratable and Taxability fall back to the line only when the component leaves them empty.
- Exact values only. Component Type and Statutory Type are matched exactly, including capital letters. A component typed
Employer ContributionorDeduction(with a trailing space) gets calculated lines, but they join no total and Post skips them without an error. - Accounts are copied at Calculate. Calculated lines keep the accounts they copied. Change the component, then calculate the run again; a posted run cannot be recalculated.
- Posting needs the right account for the type. Earnings and reimbursements need the GL Account, deductions the Payable GL Account, employer contributions both. One missing account stops the whole post.
- Labels only. Calculation Type, Formula Expression, Based On Component Codes, Is Active, Is Arrear Eligible, Is Part Of Gross, Is Part Of Net Pay, Is Part Of CTC and Display On Payslip do not affect any calculation, posting or payslip.
- Order on the register. A component's Sort Order is preferred over the line's Sequence, but Sort Order is on no standard form, so the structure line's Sequence decides the order. Adjustment lines sort at 1000 and loan recoveries at 2000.
- Unique names and codes. Name and Component Code are unique across the tenant, not per company. Saving a duplicate shows Component Code 'BASIC' already exists (or the same for Name).
- Company is not enforced. The run does not check that a component belongs to the run's company, and the GL Account pickers are not filtered by company. Keep each company's components and accounts apart yourself.
Example
A payroll administrator at Kestrel Foods sets up five components for the company's field staff:
| Name | Component Code | Component Type | Statutory Type | Taxability | Is Proratable | GL Account | Payable GL Account |
|---|---|---|---|---|---|---|---|
| Basic | BASIC | Earning | — | Taxable | Ticked | Salaries and Wages | Payroll Payable |
| House Rent Allowance | HRA | Earning | — | Taxable | Ticked | Salaries and Wages | Payroll Payable |
| PF Employee | PF_EE | Deduction | PF | NonTaxable | — | Salaries and Wages | PF Payable |
| PF Employer | PF_ER | EmployerContribution | PF | NonTaxable | — | Employer PF Contribution | PF Payable |
| Professional Tax | PT | Deduction | PT | NonTaxable | — | Salaries and Wages | Professional Tax Payable |
The field staff salary structure has five lines, one per component: Basic Fixed 30,000; HRA Percentage 40 of Basic; PF Employee Percentage 12 of Basic; PF Employer Percentage 12 of Basic; Professional Tax with Calculation Type Slab.
For an employee with no loss-of-pay days, Calculate gives Basic 30,000, HRA 12,000, PF Employee 3,600, PF Employer 3,600 and professional tax 200 from the slab table. Gross pay is 42,000, total deductions 3,800, net pay 38,200 and the employer contribution 3,600. The register's PF column shows 3,600 (the employee deduction only).
Post creates one journal: debit Salaries and Wages 42,000 and Employer PF Contribution 3,600; credit PF Payable 7,200, Professional Tax Payable 200 and Payroll Payable 38,200.
Training
Practice exercise
In a sandbox company:
- Create a component Training Allowance, code TRN_ALW, Component Type
Earning, TaxabilityTaxable, Calculation TypeFixed, with your salaries expense account as GL Account and your Payroll Payable account as Payable GL Account. Tick Is Proratable. - Add a line to a test salary structure: Payroll Component Training Allowance, Calculation Type Fixed, Value 1,000.
- Create a run for an open period and click Calculate.
Expected result: each employee on that structure has a Training Allowance line of 1,000 (less for employees with loss-of-pay days) on the Component Line tab of their run row, with Is Taxable ticked and your expense account as GL Account. Gross pay is 1,000 higher than before. Now change the Component Type to Earning Allowance, calculate again and note that the line is still there but gross pay has dropped back — then change it back.
Quick reference
- The structure line decides the amount; the component decides the type, statutory behaviour and accounts.
- Type Component Type, Statutory Type and Taxability exactly:
EmployerContribution,PF,NonTaxable. - Both GL fields are required; posting uses GL Account for earnings, Payable GL Account for deductions, both for employer contributions.
- PT needs Statutory Type
PTon the component and Calculation Type Slab on the structure line. - Is Active does not stop a component being paid — deactivate the structure line.
- Accounts are copied at Calculate: after changing a component, calculate again.
- Name and Component Code are unique across the tenant.
Permissions
Creating, editing and deleting components follows the Payroll Component access in your security profile. The shipped Standard User, Sales Executive and System Admin profiles have full access, so restrict it on the profiles of users who should not change pay settings. A user without read access does not see the list; a user without create or edit access does not get New or Edit.
Configuration
- Components — Payroll app → Settings → Pay Structure → Payroll Components. One record per pay element, per company.
- GL accounts and control accounts — the expense and payable accounts the components point at, plus the company's Payroll Payable control account that receives net pay. See Payroll configuration and Chart of accounts.
- Professional tax slabs — the table a PT component with a Slab line reads. See Statutory deductions and challans.
- Salary TDS — the tax rule tables and declarations behind the monthly projection a TDS component reads. See Income tax on salary.
- Form layout — Component Type, Statutory Type, Taxability and Calculation Type show as text boxes on the standard create form and record page. An administrator can change them to drop-down lists, and add Sort Order to the form, in the layout designer (see Design a form layout).
Common problems
Post fails: "Earning/reimbursement component line … has no GL account mapped."
The line belongs to an earning or reimbursement with no GL account. This happens when the structure line or adjustment names no payroll component, or names one that was deleted. Link a component on the structure line or adjustment, then click Calculate on the run and post again.
Post fails: "Deduction component line … has no payable GL account mapped."
The same problem for a deduction. Loan and advance recovery lines (Sort Order 2000) take their account from the loan's control account instead — set it on the loan. See Running payroll.
Post fails: "Employer-contribution component line … needs both an expense and a payable GL account."
An employer contribution line has no component, so it has neither account. Link a component on the structure line and calculate again.
The employer contribution is missing from the totals and the journal
The component's Component Type is not typed exactly EmployerContribution — for example Employer Contribution with a space. The run writes the line but adds it to no total, and Post skips it. Correct the Component Type, then calculate the run again. The same applies to any misspelt Earning, Deduction or Reimbursement.
PF is deducted but the register's PF column is empty
The register's PF, ESI and TDS totals count only components with Component Type Deduction and Statutory Type exactly PF, ESI or TDS in capitals. Correct the component and calculate again. Employer contributions never fill these columns.
Professional tax is a fixed amount instead of the slab amount
The slab table is used only when the component's Statutory Type is PT and the structure line's Calculation Type is Slab. Setting Slab on the component does nothing. Fix the structure line or the component and calculate again.
"Component Code '…' already exists"
Codes and names are unique across the whole tenant, even for different companies. Use a company-specific code, for example BASIC_N and BASIC_S.
I made a component inactive but it is still paid
Is Active is not checked by the run. Deactivate or remove the structure lines that use the component, then calculate again.
I changed a component's GL account but the run still posts to the old one
The run copied the account when it was calculated. Click Calculate on the run again before posting. A run that is already posted cannot be recalculated.
Common questions
Why does the component have a Calculation Type if the structure line decides?
The field is part of the component record and is required on the form, but the payroll run never reads it. The amount always comes from the salary structure line's own Calculation Type and Value, so a component marked Fixed can be used on a Percentage line. Keep the two consistent so the catalog reads clearly: type the value most of the structure lines use. Formula Expression and Based On Component Codes are the same — descriptive only, because formulas are not evaluated in payroll runs.
Do I need a separate component for each company?
You do not have to, because the run uses any component a structure line names. In practice you usually should: each company posts to its own GL accounts, and the accounts live on the component. Since names and codes are unique across the tenant, give each company's components distinct names and codes, and set Partner Account so the list can be filtered by company.
Does Taxability change the TDS deducted?
No. Taxability only ticks or leaves unticked Is Taxable on the calculated lines and marks earning rows on the TDS work sheet. The monthly TDS amount comes from the employee's TDS projection, which taxability does not change. Note that PartiallyTaxable leaves Is Taxable unticked, the same as NonTaxable.
Why can't I find Sort Order on the form?
It is not on the standard create form or record page. Until an administrator adds it to the layout, components have no sort order and each structure line's Sequence decides the order of lines on the register and the employee's component lines.
