BranchId | Branch | Lookup → Branch | Yes | |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | |
ConfirmationDate | Confirmation Date | Date | | |
CostCenterId | Cost Center | Lookup | | Declared as a lookup but with no related entity named, so it does not resolve even though a Cost Center entity exists. No payroll or finance service reads the employee's copy of this field. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DateOfExit | Date Of Exit | Date | | The last day of employment. Posting a full-and-final settlement fills it from that settlement's Last Working Day only when it is still empty, and never overwrites an existing value. Note the seeded validation on this field is inverted: it raises its error when the joining date is earlier than the exit date, which is the normal case, and lets an exit date before the joining date through unchallenged. |
DateOfJoining | Date Of Joining | Date | Yes | |
DepartmentId | Department | Lookup | | It cannot resolve, and no service reads it. |
EmployeeCode | Employee Code | Text | Yes | The organisation's own staff number for the person, distinct from the record id. It is also distinct from Resource.EmployeeId, which is a separate free-text code held on the Resource; no code path copies one into the other, so the two can disagree. |
EmploymentStatus | Employment Status | PickList | | Values: Active, On Notice, Exited. |
EmploymentType | Employment Type | PickList | Yes | The declared engagement category. No first-party service reads it - payroll makes no distinction between a full-time employee, a contractor, a consultant and an intern. Its seeded value list has also drifted from the four values the domain documents, carrying an extra Permanent option and a leftover TEST entry. Values: Full Time, Contract, Consultant, Intern, Permanent. |
EsiApplicable | Esi Applicable | Boolean | | Declares that Employees' State Insurance applies to this person. Configuration of record only - no first-party service reads it, and ESI is deducted because the assigned salary structure carries an ESI component, not because of this flag. |
ExpenseAdvanceId | Expense Advance | Lookup → ExpenseAdvance | | Expense advances are keyed on the Resource - query ExpenseAdvance by ResourceId instead. |
ExpenseClaimId | Expense Claim | Lookup → ExpenseClaim | | Expense claims are keyed on the Resource - query ExpenseClaim by ResourceId instead. |
ExpenseVoucherId | Expense Voucher | Lookup → ExpenseVoucher | | Query ExpenseVoucher by its own EmployeeId instead, which is the real link. |
GradeId | Grade | Lookup → Grade | | Points at the Grade master, but nothing reads the employee's copy. The grade that actually drives grade-based expense-policy limits is the one held on the Resource, so evaluate policy and banding from there rather than from this field. |
Id | Id | Guid | Yes | |
KYCDocumentId | KYC Document | Lookup → KYCDocument | | A single KYC document pointer, though a person normally has several documents. No first-party service reads or writes it; find a person's documents by querying KYCDocument rather than following this field. |
Label | Label | Text | | |
LwfApplicable | Lwf Applicable | Boolean | | Declares that Labour Welfare Fund applies to this person. Configuration of record only - no first-party service reads it, so it neither triggers nor suppresses an LWF deduction. |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text, unique | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | Yes | |
PartnerResourceId | Partner Resource | Lookup → PartnerResource | | |
PaymentSalaryDisbursementId | Payment (Salary Disbursement) | Lookup → PaymentSalaryDisbursement | | Salary disbursement records are keyed on the payroll run rather than on an individual, so there is nothing meaningful for this pointer to hold. |
PayrollCompanyId | Payroll Company | Lookup → Account | | |
PayslipId | Payslip | Lookup → Payslip | | |
PayType | Pay Type | PickList | | Declares whether the person is paid monthly, hourly, daily or by piece rate. No first-party payroll code reads it: the calculation always prorates the assigned monthly salary structure by payable days regardless of this value. Values: Monthly, Hourly, Daily, Piece Rate. |
PfApplicable | Pf Applicable | Boolean | | |
PfWageCapOverride | Pf Wage Cap Overre | Currency | | An employee-specific override of the statutory Provident Fund wage ceiling. Declaration only: no first-party service reads it, so PF is computed from the salary structure's PF component and the statutory rule masters and setting a value here changes nothing. |
ProbationEndDate | Probation End Date | Date | | When probation finishes. The seeded validation requires this date to be on or after Confirmation Date, so confirming someone after their probation window has closed is rejected rather than the other way round. |
PtApplicable | Pt Applicable | Boolean | | Declares that Professional Tax applies to this person. Configuration of record only - no first-party service reads it, so clearing it does not stop a PT deduction that the salary structure produces. |
RecordTypeId | Record Type | Guid, hidden | | |
ResourceAvailabilityId | Resource Availability | Lookup → ResourceAvailability | | A single pointer to one attendance record, which cannot represent attendance at all - availability is a per-day series queried by Resource. No first-party code reads the employee's copy of this field. |
ResourceCompensationId | Resource Compensation | Lookup → ResourceCompensation | | A single pointer to a compensation record that payroll never uses. The salary structure that drives the calculation is found by querying ResourceCompensation by ResourceId and taking the latest active row that names a salary structure, so this field is neither read nor kept current. |
ResourceId | Resource | Lookup → Resource | Yes | The Resource this record configures, and the identity everything else keys on: payroll posting, open items, payslips, expense, leave and attendance all carry ResourceId, so joins from payroll data to a person go through this field rather than through the Employee id. |
SalaryComponentId | Salary Component | Lookup → SalaryComponent | | Salary components belong to a salary structure, not to a person - read them by querying SalaryComponent for the structure named on the employee's latest active ResourceCompensation. |
SalaryPaymentMode | Salary Payment Mode | PickList | | The declared disbursement channel for salary. Configuration of record only - no first-party service reads it, and neither the payroll calculation nor the payment path branches on it. Values: Bank Transfer, Cash, Cheque. |
SalaryStructureId | Salary Structure | Lookup → SalaryStructure | | |
SettlementStatus | Settlement Status | PickList | | Tracks the exit-settlement pipeline separately from Employment Status, with values Active, ExitInProcess and Settled. Only posting a full-and-final settlement moves it, and it jumps straight to Settled - nothing in first-party code ever writes ExitInProcess, so that value appears only when a user or integration sets it. Values: Active, Exit In Process, Settled. |
TaxRegime | Tax Regime | PickList | | Values: Old Regime, New Regime. |
TdsApplicable | Tds Applicable | Boolean | | |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |