xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Entity Reference/Payroll Run Detail — entity reference
REFERENCE · Last reviewed

Payroll Run Detail — entity reference

The per-employee summary line of a PayrollRun: one row per Resource processed, carrying rolled-up gross, deductions and net, employer contributions, reimbursements, the day breakdown, and the statutory subtotals TDS, PF and ESI. It is a rollup, not the calculation source — the authoritative per-component amounts live in PayrollRunComponentLine, and a Payslip is generated from this row. Keyed on ResourceId, never on Employee; posting stamps PayrollPayableOpenTransactionId with the Resource-keyed Payroll-Payable open item raised for this employee's net pay, and that open item (not this row) is what the salary payment batch actually settles. Two generations of columns coexist here: the payroll engine writes PayableDays, TotalPayableDays, LossOfPayDays and LossOfPayAmount, while PaidDays, LWPDays, Component1, Component2 and OvertimeAmount are legacy and are written by no first-party code path.

Fields

FieldLabelTypeRequiredWhat it does
Component1Component 1CurrencyA legacy generic amount slot from the pre-component payroll model, explicitly deprecated when per-component lines were introduced. No first-party service writes or reads it; the real breakdown is in PayrollRunComponentLine.
Component2Component 2CurrencyThe second legacy generic amount slot from the pre-component payroll model.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
EmployerContribTotalEmployer Contrib TotalCurrency
ESIESICurrencyThe employee-side employee state insurance withheld this period, summed only from deduction components flagged with the ESI statutory nature. The employer's ESI contribution is excluded and is carried as an employer-contribution component instead.
GrossEarningsGross EarningsCurrency
IdIdGuidYes
LossOfPayAmountLoss Of Pay AmountCurrency
LossOfPayDaysLoss Of Pay DaysCurrency
LWPDaysLWP DaysNumber
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
NetPayNet PayCurrency
OvertimeAmountOvertime AmountCurrencyIntended to hold the period's overtime pay, but the calculation engine never writes it — overtime is not an implemented input. It is nevertheless read by profitability reporting, which adds it to gross and reimbursements when costing a resource, so it will simply contribute zero unless a tenant populates it by hand.
OwnerIdOwnerLookup → UserAccountYes
PaidDaysPa DaysNumber
PartnerAccountIdPartner AccountLookup
PayableDaysPayable DaysCurrency
PayrollPayableOpenTransactionIdPayroll Payable Open TransactionLookupThe Resource-keyed Payroll-Payable open item raised for this employee's net pay when the run was posted. That open item, not this row's NetPay, is the amount the salary payment batch settles, so the two can diverge if the open item was partly settled elsewhere.
PayrollPeriodIdPayroll PeriodLookupThe pay cycle this line belongs to, copied from the parent run at calculation time. It is the field the year-to-date payslip rollup and the period's TDS challan filter on, so a detail whose period is empty is invisible to both even though it belongs to the run.
PayrollPostingStatusPayroll Posting StatusPickListWhether this employee's line reached the ledger — it flips to Posted only for employees whose net pay was positive and therefore raised an open item. An employee with zero or negative net stays NotPosted even on a fully posted run, and the period's TDS challan totals only over details marked Posted. Values: Not Posted, Posted, Reversed, Failed.
PayrollRunIdPayroll RunLookup → PayrollRun
PFPFCurrencyThe employee-side provident fund withheld this period. It sums only deduction components whose statutory nature is PF, so the employer's matching contribution is not included here — that sits in EmployerContribTotal and on its own component lines.
RecordTypeIdRecord TypeGuid, hidden
ReimbursementAmountReimbursement AmountCurrency
ResourceIdResourceLookup → ResourceThe person this line pays, held as a Resource — the platform's person master — not as an Employee. Every payroll join, the payslip, the Payroll-Payable open item and the payment batch line all key on this same value, so filter payroll by ResourceId and reach the Employee record from there when employment attributes are needed.
SubscriptionKeySubscription KeyGuid, hiddenYes
TDSTDSCurrency
TotalDeductionsTotal DeductionsCurrencyEverything subtracted from gross to reach net: statutory withholding, structure deductions, approved deduction adjustments, and any loan or advance installment recovered in this run. Employer contributions are not part of it — they are a cost to the company, not a withholding from the employee.
TotalPayableDaysTotal Payable DaysCurrency
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
EditEditEditedit
EditRowEditEditEdit
LatestPayslipLatest PayslipServerActionOpens a payslip layout view over this employee's run line. It is registered as a server action but carries no server action name, so nothing is computed, generated or saved by invoking it — it neither creates a Payslip record nor publishes an existing one.
NewInLineNewNewInlineNew