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

Expense Advance — entity reference

A cash advance paid to an employee (Resource) before travel or work - the mirror image of a claim: the employee owes the company. Paying it (PostAdvance) posts Dr Employee Advance / Cr Bank and raises a recoverable (Receivable-direction) OpenTransaction keyed on the ResourceId. It is then settled against a posted claim (SettleAgainstClaim reduces both the claim's payable and the advance's outstanding balance) or recovered in cash (RecoverAdvance). Status runs Requested, Approved, Paid, PartiallySettled, Settled, Recovered; each settlement or recovery writes an ExpenseAdvanceSettlement row with its journal.

Fields

FieldLabelTypeRequiredWhat it does
AdvanceDateAdvance DateDateYes
AmountAmountCurrency
BranchIdBranchLookup → Branch
BusinessUnitIdBusiness UnitLookup → BusinessUnit
CostCenterIdCost CenterLookup → CostCenter
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
EmployeeIdEmployeeLookup → Employee
ExpenseClaimIdExpense ClaimLookup → ExpenseClaimOptional link to the claim this advance is intended for; used as the default claim by the Settle Against Claim action when no expenseClaimId argument is passed.
GLAccountIdGL AccountLookup → GLAccountYesThe bank/payment GL account used as the default for the Pay Advance and Recover Advance actions when no glAccountId argument is supplied. Not the Employee Advance control account - that is resolved from GLControlType.EmployeeAdvance.
GLIdGLLookup → Journal
IdIdGuidYes
ModifiedByIdModified ByLookup → UserAccountYes
NameNameText
OpenTransactionIdOpen TransactionLookup → OpenTransactionPoints at the Receivable-direction Employee-Advance open item raised when the advance was paid - the per-employee subledger row that settlements and recoveries draw down.
OutstandingAmountOutstanding AmountCurrencyThe recoverable balance still owed by the employee: set to the full amount when the advance is paid, reduced by every settlement against a claim and every cash recovery. Zero flips the status to Settled or Recovered. Derived - do not edit.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
ProjectIdProjectLookup → Project
PurposeTextPurposeText
RecordTypeIdRecord TypeGuid, hidden
ResourceIdResourceLookup → ResourceThe employee as a Resource - required before the advance can be paid; the Employee-Advance open item is keyed on it, matching the claim-side keying.
StatusStatusTextAdvance lifecycle: Requested, Approved, Paid (set when the advance posts), PartiallySettled, Settled (fully applied to claims), Recovered (unspent balance returned in cash). Settle and recover both require the advance to be paid first, and a Settled/Recovered advance cannot be settled again.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete this ExpenseAdvance.
DeleteRecordDeleteDeleteDelete
EditEditEditEdit this ExpenseAdvance.
EditInLineEditEditInlineEditInLine
EditRecordEditEditEdit
NewNewNewCreate a ExpenseAdvance.
PostAdvancePay AdvanceServerAction (PostAdvance)Pays the advance to the employee: Dr Employee Advance (the CurrentAssets-typed EmployeeAdvance control account) / Cr the bank account (glAccountId argument or the advance's own glAccountId), raising a recoverable open item keyed on the Resource and stamping status Paid with outstandingAmount set to the full amount. Validation requires a bank account, a positive amount, and refuses an advance already paid (glId set).
RecoverAdvanceRecover AdvanceServerAction (RecoverAdvance)Books the employee returning unspent advance money: Dr Bank (glAccountId argument or the advance's glAccountId) / Cr Employee Advance for the amount argument (default: the whole open balance). Reduces the open item, updates outstandingAmount, sets status Recovered when nothing remains (PartiallySettled otherwise), and writes a CashReturn ExpenseAdvanceSettlement row. Requires a paid advance and a valid amount within the open balance.
SettleAgainstClaimSettle Against ClaimServerAction (SettleAgainstClaim)Applies the advance to a posted claim: Dr Employee Payable / Cr Employee Advance for the settlement amount (the amount argument, defaulting to the smaller of the two open balances, always capped at the advance's open balance). Reduces both open items, updates the advance's outstandingAmount/status and the claim's advanceAdjustedAmount/netReimbursableAmount (marking the claim Paid/Settled if fully covered), and writes an AgainstClaim ExpenseAdvanceSettlement row. Requires the advance to be paid, not already fully settled, and a claim id (argument or the advance's expenseClaimId); fails if the amount exceeds the claim's open balance.

Validations

ValidationApplies toError messageNotes
Amount ValidationAmount, ErrorAmount can not be zero or less than zero.Amount can not be zero or less than zero.

Lookup filters

FilterLookup fieldNotes
BranchFilterBranchId
PartnerAccountFilterPartnerAccountId