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
| Field | Label | Type | Required | What it does |
AdvanceDate | Advance Date | Date | Yes | |
Amount | Amount | Currency | | |
BranchId | Branch | Lookup → Branch | | |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | |
CostCenterId | Cost Center | Lookup → CostCenter | | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
EmployeeId | Employee | Lookup → Employee | | |
ExpenseClaimId | Expense Claim | Lookup → ExpenseClaim | | Optional 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. |
GLAccountId | GL Account | Lookup → GLAccount | Yes | The 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. |
GLId | GL | Lookup → Journal | | |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OpenTransactionId | Open Transaction | Lookup → OpenTransaction | | Points 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. |
OutstandingAmount | Outstanding Amount | Currency | | The 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. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
ProjectId | Project | Lookup → Project | | |
PurposeText | Purpose | Text | | |
RecordTypeId | Record Type | Guid, hidden | | |
ResourceId | Resource | Lookup → Resource | | The 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. |
Status | Status | Text | | Advance 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. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | Delete the selected records. |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete this ExpenseAdvance. |
DeleteRecord | Delete | Delete | Delete |
Edit | Edit | Edit | Edit this ExpenseAdvance. |
EditInLine | Edit | EditInline | EditInLine |
EditRecord | Edit | Edit | Edit |
New | New | New | Create a ExpenseAdvance. |
PostAdvance | Pay Advance | ServerAction (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). |
RecoverAdvance | Recover Advance | ServerAction (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. |
SettleAgainstClaim | Settle Against Claim | ServerAction (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
| Validation | Applies to | Error message | Notes |
| Amount Validation | Amount, Error | Amount can not be zero or less than zero. | Amount can not be zero or less than zero. |
Lookup filters
| Filter | Lookup field | Notes |
| BranchFilter | BranchId | |
| PartnerAccountFilter | PartnerAccountId | |