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/Resource — entity reference
REFERENCE · Last reviewed

Resource — entity reference

The person master for anyone who does work in the system - technicians, service advisors, sales executives, drivers, back-office staff - and the universal keying anchor: payroll, expenses, leave, attendance, claims, loans and advances, service assignment and field sales all key on ResourceId rather than on a user or employee id. EmployeeId is a plain code string, not a lookup to the Employee entity - Employee is a separate one-to-one HR/payroll satellite that points at Resource, and payroll resolves the salary structure from the latest active ResourceCompensation, not from Resource.SalaryStructureId. On insert the platform stamps the caller's Resource into any empty Resource foreign key on the new record and derives the document's partner account and branch from that Resource, which makes this entity the source of a document's selling organisation.

Fields

FieldLabelTypeRequiredWhat it does
AadhaarNumberAadhaar NumberText
BankAccountNumberBank Account NumberText
BusinessHoursIdBusiness HoursLookup → BusinessHoursThe person's own working-hours definition, taking precedence over the default branch's hours where it is consulted - for example when attendance auto-checkout needs the correct local timezone for this person. Note it points at the BusinessHours master directly; the separate ResourceBusinessHours entity plays no part.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DefaultBranchIdDefault BranchLookup → BranchThe branch half of the default selling pair. It is meaningless on its own - validation refuses a resource that has a default branch without a default partner account, and document defaulting only uses the pair when both legs are present.
DefaultPartnerAccountIdDefault Partner AccountLookup → AccountThe selling organisation this person normally writes documents for. It is only honoured together with DefaultBranchId: the platform uses the default pair to stamp a new document's partner account and branch only when both are set, otherwise it falls back to the person's dated PartnerResource postings. Saving one leg without the other is rejected by validation.
DepartmentDepartmentPickListValues: IT, HR, Sales, Finance.
DesignationDesignationPickListValues: Software Engineer, HR Executive, Sales Executive, Sales Executive Financial Analyst.
EffectiveFromDateEffective From DateDateDo not rely on it to exclude a person from selection.
EffectiveTillDateEffective Till DateDateThe closing bound of the intended validity window, and like its counterpart it is never evaluated by platform code. A past date here does not deactivate the person; only IsActive does that.
EmployeeIdCodeText, uniqueYesA plain code string (labelled Code), not a lookup to the Employee entity - the name is a long-standing legacy that a planned rename to EmployeeCode has not yet fixed. To reach payroll and HR configuration, go through the Employee record whose ResourceId points back here, never through this string.
EmploymentTypeEmployment TypePickListValues: Permanent, Contractual.
ExternalIdExternalText, unique
IdIdGuidYes
IFSCCodeIFSC CodeText
IncentiveResourceGroupIdIncentiveResourceGroupLookup → ResourceGroupPlaces the person in a resource group for incentive purposes.
IsActiveActiveBooleanMore than a display flag: caller resolution only matches an active Resource, so clearing it detaches the person from their sign-in account for self-assignment and personal scoping purposes, and authorisation checks against partner postings also require it. Changing it invalidates the cached resource lookups.
IsEligibleForPTIs Eligible for PTBooleanMarks the person as liable for professional tax so payroll configuration can distinguish them.
IsRelatedPartyRelated PartyBoolean
JoiningDateJoining DateDate
LabelResource LabelTextA secondary display string separate from the record's Name, present on most entities for layout purposes. It is not the person's name, is not used in lookups or search matching, and is frequently left empty.
LabourCostRatePerHourLabour Cost Rate Per HourDecimal
ManagerResourceIdManagerLookup → ResourceThe reporting manager, expressed as another Resource rather than a user, and the link used to walk a person's management chain. It is distinct from ParentResourceId and from SkipManagerResourceId - all three are self-references with different meanings.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
OwnerIdOwnerLookup → UserAccountYes
PANNumberPAN NumberText
PanVerificationSourcePAN Verification SourceTextWhere the PAN verification result came from - the bulk verification file import stamps its own source value, as opposed to a manual verification recorded by a user. It is provenance for the status, not a second status.
PanVerificationStatusPAN VerificationPickListThe outcome of checking this person's PAN with the tax department - Verified, Invalid or NameMismatch, with empty meaning never verified. TDS return computation treats Verified as clean and both Invalid and NameMismatch as rejected, which affects the deduction rate applied. Values: Verified, Invalid, Name Mismatch.
PanVerifiedOnPAN Verified OnDateAndTime
ParentResourceIdParent ResourceLookup → ResourceA second self-reference used for structural nesting of resources, kept separate from the reporting line held in ManagerResourceId.
PFAccountPF AccountText
PhonePhoneText
RecordTypeIdRecord TypeGuid, hidden
RelatedPartyEffectiveFromRelated Party FromDate
RelatedPartyEffectiveToRelated Party ToDate
RelatedPartyRelationshipRelationshipText
RelatedPartyTypeRelated Party TypePickListValues: Director, Key Management Personnel, Relative of Director / KMP, Holding Company, Subsidiary Company, Fellow Subsidiary (Sister Concern), Associate / Joint Venture, Entity Controlled by Director / KMP, Promoter, Other.
ResourceTypeResourceTypeLongMultiLineTextA second, free-text classification alongside Type, with no picklist behind it. It is used mainly in tenant-authored filter expressions to select a population of resources (for example a field-force role code), so its values are tenant conventions rather than platform constants.
SalaryStructureIdSalary StructureLookup → SalaryStructureA direct pointer to a salary structure that the payroll calculation does not use: pay is computed from the latest active ResourceCompensation row for the person, which carries its own SalaryStructureId. Treat this field as informational and read the compensation record when reasoning about what someone is actually paid.
SkipManagerResourceIdSkip ManagerLookup → ResourceThe manager one level above the direct manager, intended for skip-level escalation and approvals.
TypeResource TypePickListYesThe classification of the person (its picklist ships Service Advisor, Manager and Sales Persons) and the field carried in the platform's cached resource data. Do not confuse it with the separate ResourceType field on the same entity - they are different columns with different vocabularies. Values: Service Advisor, Manager, Salesperson, Labour.
UANUANText
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes
UserIdUserLookup → UserAccountThe lookup to the sign-in account (UserAccount) that this person uses, and the key the platform uses to answer 'who is the caller': the caller's Resource is the single active Resource whose UserId equals the signed-in user id, cached per user. A resource that never signs in (a subcontractor, a machine operator) legitimately leaves this empty.

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Runs the platform's generic record clone rather than anything resource-specific: it copies every persisted property of the resource (including metadata-backed custom fields) onto a new record, skipping identity, audit, soft-delete and background-job columns, and by default deep-copies the children the delete cascade owns. The clone is saved through the normal lifecycle, so defaults, document numbering, validation and audit all apply - which means the new record does not keep the source's name if document numbering is active, and resource validations such as the default partner/branch pairing rule still fire.
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditEdit
EditInLineEditEditInlineEditInLine
EditInListEditEditInlineEdit in List Header
EditListRowEditEditEdit
EditPopupEditEditEdit
LatestForm16Latest Form 16ServerActionIt does carry a layout, so the only real effect is that the associated form opens; any tax certificate for the person must be reached through the TDS certificate records instead.
NewNewNewNew

Validations

ValidationApplies toError messageNotes
Effective Till Date Rule ValidationEffectiveTillDate, ErrorEffective Till Date cannot be before Effective From DatePrevents Till Date from Older.

Lookup filters

FilterLookup fieldNotes
BranchFilterDefaultBranchId
PartnerAccountFilterDefaultPartnerAccountId