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

Bank Transfer — entity reference

A movement of money between two of the company's own bank accounts, found in the Finance app under Banking (and in the Banking app) as Bank Transfers. Posting builds one balanced document-posting journal: a debit to the To Bank Account's GL account and a credit to the From Bank Account's GL account for the Amount, dated on the Transfer Date (today if empty), under the transfer's Partner Account and Branch, with the Reference as narration. Posting requires Status to read Approved, no existing journal, an Amount above zero, a GL account on both bank accounts and an open fiscal period; it then sets GL, ticks IsGL Posted and writes Status Posted. Saves refuse a zero or negative Amount, the same account as From and To, and a bank account belonging to another company. Transfers are not numbered automatically, and there is no unpost: to undo one, reverse its journal, after which the transfer still shows Posted and cannot be posted again. Editing or deleting a posted transfer does not change its journal.

Fields

FieldLabelTypeRequiredWhat it does
AmountAmountCurrencyThe amount moved, debited to the destination bank's GL account and credited to the source's. A zero or negative value is refused on save; an empty value saves but cannot be posted. Rounded to two decimals on posting. On the record page it is shown in the Transfer Insights panel, not in the Details sections.
BranchIdBranchLookup → BranchThe company location stamped onto the posted journal and both of its lines. Taken from this field, not from either bank account, so an empty Branch posts lines with no branch. Filled from the owner's default location when Partner Account and Branch are both empty on save. Hidden on single-location tenants.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated OnDateAndTimeYes
FromBankAccountIdFrom Bank AccountLookup → BankAccountYesThe source account, credited when the transfer posts. Required; the picker offers active bank accounts only. Its bank account record must have a GL account or posting fails, it must differ from the destination, and it must belong to the transfer's company or have no company.
GLIdGLLookup → JournalThe journal created by posting, shown under GL Information and linked to the journal record. A value here blocks posting. Reversing the journal does not clear it.
IdIdGuidYes
IsGLPostedIsGL PostedBooleanTicked only by a successful posting, together with the GL link. Either one blocks a second posting. Ticking it by hand blocks posting; clearing it does not undo the journal.
IsGLPostingApprovedIsGL Posting ApprovedBooleanNot read by bank transfer posting; approval is the Status value Approved. It appears on the create form and in the list but has no effect.
ModifiedByIdModified ByLookup → UserAccountYes
NameGL Account NameText, uniqueYesThe transfer's name, labelled GL Account Name on the form although it is not a GL account. Required and unique across all transfers; no numbering series is shipped, so users type it. It also forms part of the posted journal's label.
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → AccountThe company the transfer belongs to; the journal posts under it. Not on the shipped create form: it is filled from the owner's default company when Partner Account and Branch are both empty on save, and can be changed on the record page. Both bank accounts must belong to this company or have no company, or the save is refused. Hidden on single-company tenants.
RecordTypeIdRecord TypeGuid, hidden
ReferenceReferenceTextThe bank's transfer reference or the user's own note. Copied into the posted journal's narration and into both journal lines as Transfer in and Transfer out text, making it the main trace from the ledger back to the transfer.
StatusStatusTextFree text, used as Draft, Approved and Posted. Posting is refused unless it reads Approved (case-insensitive), so approving a transfer means setting this value; no approval process is shipped. A successful post overwrites it with Posted. Nothing in the platform writes Reversed, and reversing the journal leaves it at Posted.
ToBankAccountIdTo Bank AccountLookup → BankAccountYesThe destination account, debited when the transfer posts. Required; the picker offers active bank accounts only. The save is refused when it equals the From Bank Account, and posting fails if its bank account record has no GL account.
TransferDateTransfer DateDateThe date the money moved. It becomes the posted journal's date and must fall in an open fiscal period of an open financial year; if empty, the journal is dated on the day the transfer is posted.
UIPropsUI PropsText
UpdatedDateTimeUpdated OnDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditEdit
EditInlineEdit InlineEditInlineEdit
EditListRowEditEditEditListRow
NewNewNewNew
PerformGLPostingPostServerAction (PerformGLPosting)Posts the transfer as one balanced journal debiting the destination bank's GL account and crediting the source's, then stamps the journal id, sets the posted flag and overwrites the status with Posted. It is refused unless the status reads Approved and the transfer has no journal yet, and it fails when either bank account lacks a GL account or the amount is not positive.
PostGeneralLedgerPost General LedgerServerAction (PostGeneralLedger)A second entry point onto exactly the same posting routine as the Post action, with the same approval and duplicate guards and the same balanced journal. Having both surfaced means the one operation appears twice in the UI; a second attempt is safely refused by the already-posted guard rather than creating a duplicate journal.

Validations

ValidationApplies toError messageNotes
To Bank Account ValidationToBankAccountId, Error, inactiveTo Bank Account Validation

Lookup filters

FilterLookup fieldNotes
From Bank FilterFromBankAccountId
To Bank FilterToBankAccountId