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
| Field | Label | Type | Required | What it does |
AdvanceDate | Advance Date | Date | Yes | Date 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. |
Amount | Amount | Currency | | The 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. |
BranchId | Branch | Lookup → Branch | | The branch the advance and its journals post under. Filtered to the chosen company and filled from the GL Account's default when left empty. |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | The finance business unit; filled from the GL Account's default when left empty and copied onto the employee's open balance. |
CostCenterId | Cost Center | Lookup → CostCenter | | Cost center for reporting. Optional. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
EmployeeId | Employee | Lookup → Employee | | Not stored: a value entered here is not saved. The employee is identified by Resource. |
ExpenseClaimId | Expense Claim | Lookup → ExpenseClaim | | The 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. |
GLAccountId | GL Account | Lookup → GLAccount | Yes | The 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. |
GLId | GL | Lookup → Journal | | The payment journal posted by Pay Advance. Once set, the advance cannot be paid again. |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OpenTransactionId | Open Transaction | Lookup → OpenTransaction | | The employee's open balance item raised when the advance is paid, which settlements and recoveries reduce. |
OutstandingAmount | Outstanding Amount | Currency | | What the employee still owes. Empty until paid, then the full amount, reduced by each settlement and recovery. Zero means the advance is closed. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company that pays the advance. Its Employee Advance control account (Account Type Current Assets, stored control type EmployeeAdvance) is used for posting. |
ProjectId | Project | Lookup → Project | | Project for reporting. Optional. |
PurposeText | Purpose | Text | | Why the advance is needed. Up to 500 characters. |
RecordTypeId | Record Type | Guid, hidden | | |
ResourceId | Resource | Lookup → Resource | | The employee receiving the advance. Required before paying; the balance owed is held against this person. |
Status | Status | Text | | Kept 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. |
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 | |