xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse 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
Auto DMSConsumer Goods DMSSales Force Automation (SFA) 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

Money paid to an employee before they spend it, which they then owe back. You record the advance with the employee (Resource), amount and the bank GL account. Pay Advance posts Employee Advance debit and bank credit and opens a balance owed by the employee. Settle Against Claim sets that balance off against a posted expense claim, and Recover Advance clears the remaining balance when cash is returned. Approval, if a process is configured, posts nothing, and Pay Advance does not check it. The advance closes when Outstanding Amount reaches zero.

Fields

FieldLabelTypeRequiredWhat it does
AdvanceDateAdvance DateDateYesDate of the payment journal posted by Pay Advance; today is used when it is empty. Not on the create form, so set it on the record page before paying.
AmountAmountCurrencyThe amount advanced. Saving with an empty or zero amount is refused, and Pay Advance also refuses a negative one. Changing it after payment does not repost or change Outstanding Amount.
BranchIdBranchLookup → BranchThe branch the advance and its journals post under. Filtered to the chosen company and filled from the GL Account's default when left empty.
BusinessUnitIdBusiness UnitLookup → BusinessUnitThe finance business unit; filled from the GL Account's default when left empty and copied onto the employee's open balance.
CostCenterIdCost CenterLookup → CostCenterCost center for reporting. Optional.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
EmployeeIdEmployeeLookup → EmployeeNot stored: a value entered here is not saved. The employee is identified by Resource.
ExpenseClaimIdExpense ClaimLookup → ExpenseClaimThe posted claim that Settle Against Claim applies the advance to. Set it on the record page before settling and change it to settle against another claim. Not limited to the same employee's claims.
GLAccountIdGL AccountLookup → GLAccountYesThe bank or payment account. Pay Advance credits it (its dialog offers it as the default and saves any change back here) and Recover Advance debits it. Not the Employee Advance control account, which is found from the company's chart.
GLIdGLLookup → JournalThe payment journal posted by Pay Advance. Once set, the advance cannot be paid again.
IdIdGuidYes
ModifiedByIdModified ByLookup → UserAccountYes
NameNameText
OpenTransactionIdOpen TransactionLookup → OpenTransactionThe employee's open balance item raised when the advance is paid, which settlements and recoveries reduce.
OutstandingAmountOutstanding AmountCurrencyWhat the employee still owes. Empty until paid, then the full amount, reduced by each settlement and recovery. Zero means the advance is closed.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → AccountThe company that pays the advance. Its Employee Advance control account (Account Type Current Assets, stored control type EmployeeAdvance) is used for posting.
ProjectIdProjectLookup → ProjectProject for reporting. Optional.
PurposeTextPurposeTextWhy the advance is needed. Up to 500 characters.
RecordTypeIdRecord TypeGuid, hidden
ResourceIdResourceLookup → ResourceThe employee receiving the advance. Required before paying; the balance owed is held against this person.
StatusStatusTextKept by the system: Requested on creation, Paid after Pay Advance, PartiallySettled while a balance remains after a settlement, Settled when settlements clear it, Recovered when Recover Advance clears it. Approved is written only by an approval field update you configure. Not on the standard form or list.
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