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

Loan / Advance — entity reference

An employee salary advance, travel advance or loan that is paid out once and then recovered through payroll, one installment per payroll calculation. The record is keyed on the employee (Resource). Disburse posts a payroll journal that debits the employee loan or advance control account and credits the bank or cash account held in GL Account. It also raises a receivable open item against the employee for the principal, sets Outstanding Amount to the principal, stamps the disbursement date and moves Status to Active. From then on, every payroll calculation that includes the employee deducts the smaller of Installment Amount and Outstanding Amount from each Active loan, lowers the balance and the open item, writes a Loan Recovery row, and sets Status to Closed when the balance reaches zero. Recalculating a run first gives back the installments that run took. The standard forms show neither GL Account nor Advance Type, so an administrator must add GL Account to a form before Disburse can work.

Fields

FieldLabelTypeRequiredWhat it does
AdvanceTypeAdvance TypePickListThe kind of advance. It matters in two places: Disburse uses the Employee Loan control only when the stored value is exactly Loan and the Employee Advance control for anything else, and the year-end Loan Schedule lists only loans whose type is exactly Loan. Recovery treats every type the same. The field is not on the standard create or edit forms, so it stays empty unless an administrator adds it to a form or the record is imported. Values: Salary Advance, Travel Advance, Loan, Salary Advance, Personal Loan, Vehicle Loan, Education Loan, Home Loan.
BranchIdBranchLookup → BranchThe branch the disbursement journal lines and the open item are booked to. The picker lists only the branches of the chosen Partner Account.
ControlGLAccountIdControl GL AccountLookup → GLAccountThe employee loan or advance control account that Disburse debits and every payroll recovery credits. Leave it empty to let Disburse pick the company's control account by Advance Type and write it back here, or set it before disbursing to choose the account yourself.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DisbursementDateDisbursement DateDateSet by Disburse to the day the action was run, which is also the journal date. Empty means the money has not been paid out. The year-end Loan Schedule uses it to decide which year a disbursement falls in.
EndPayrollPeriodIdEnd Payroll PeriodLookup → PayrollPeriodThe period recovery is meant to finish in, kept for reference only. Payroll does not read it: recovery continues until the balance reaches zero.
GLAccountIdGL AccountLookup → GLAccountThe bank or cash account the money is paid from. Disburse credits it. The Disburse button sends no account of its own, so this field must be filled before disbursing, and it is not on the standard forms.
GLIdGLLookup → JournalThe disbursement journal, set by Disburse. A loan that already has one refuses to disburse again.
IdIdGuidYes
InstallmentAmountInstallment AmountCurrencyThe amount deducted in each payroll calculation. The last installment is reduced to whatever balance is left. When it is zero or empty, payroll skips the loan, which is how recovery is paused.
InterestRateInterest RateCurrencyA percentage kept for reference only. No interest is calculated or charged: recovery takes the flat installment until the principal is repaid.
LabelLabelText
ModifiedByIdModified ByLookup → UserAccountYes
NameNameText, uniqueYesFree text that identifies the loan, for example the employee and purpose. Required and unique across the tenant. No numbering series is configured for loans, so the typed name is kept, and it is copied into the disbursement journal's narration and the open item's document number.
OpenTransactionIdOpen TransactionLookup → OpenTransactionThe receivable open item raised against the employee at disbursement for the principal. Each payroll recovery lowers its open amount and marks it Partially Settled, then Settled at zero.
OutstandingAmountOutstanding AmountCurrencyThe balance still to be recovered. Leave it blank when creating the loan: Disburse sets it to the principal, each payroll calculation reduces it by the installment, and a recalculation adds back what the run had taken. Recovery stops when it reaches zero. A hand edit changes the next recovery but not the open item.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → AccountThe company that lends the money. Disburse looks up the company's Employee Loan or Employee Advance control account through this field, and the journal and open item are raised for it. Only partner accounts can be picked. On a single-company tenant the field is hidden.
PrincipalAmountPrincipal AmountCurrencyThe amount paid out. It must be greater than zero for Disburse, which copies it into Outstanding Amount and the open item. Changing it after disbursement changes neither the balance nor the open item.
RecordTypeIdRecord TypeGuid, hidden
ResourceIdResourceLookup → ResourceThe employee who receives the money and repays it. Disburse refuses a record without one. Payroll recovery finds loans by this field alone, so any payroll run that includes the person recovers the loan, whatever company the loan was entered under.
StartPayrollPeriodIdStart Payroll PeriodLookup → PayrollPeriodThe period recovery is meant to start in, kept for reference only. Payroll does not read it: an Active loan is recovered in the next run that includes the employee.
StatusStatusPickListRequested when created, Active after Disburse, and Closed when a payroll recovery brings the balance to zero. A recalculation that gives an installment back reopens a Closed loan. Payroll recovers only Active loans. The field is not on the standard forms, so it can't be changed by hand there. Values: Active, Closed.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete this LoanAdvance.
DeleteRecordDeleteDeleteDelete
EditEditEditEdit this LoanAdvance.
EditInLineEditEditInlineEdit
EditRecordEditEditEdit
NewNewNewCreate a LoanAdvance.
PostLoanAdvanceDisburseServerAction (PostLoanAdvance)Actually pays the money out and starts the recovery: it posts a payroll journal debiting the Employee Loan or Employee Advance control and crediting the bank or cash account given in the arguments (falling back to the loan's GL Account), raises a Resource-keyed receivable open item for the principal, sets Outstanding Amount to the principal, stamps the disbursement date and moves Status to Active so the next payroll run begins deducting installments. It refuses when the loan is already disbursed, has no Resource, has a principal of zero or less, or when no Employee Loan or Employee Advance control account is configured for the partner account.
ViewViewViewView this LoanAdvance.

Lookup filters

FilterLookup fieldNotes
BranchFilterBranchId
PartnerAccountFilterPartnerAccountId