xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse 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
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 funds between two of the company's own bank accounts, posted as a single balanced journal that debits the destination bank's GL account and credits the source's — no party, income or tax leg. Posting is gated twice over, in the action's validation and again authoritatively in the posting service: the status must read Approved, the transfer must not already carry a journal, both bank accounts must have a GL account configured, and the amount must be positive. A successful post stamps the journal id, sets the posted flag and overwrites the status with Posted.

Fields

FieldLabelTypeRequiredWhat it does
AmountAmountCurrencyThe transfer value, debited to the destination bank's GL account and credited to the source's in one balanced journal. It must be greater than zero, checked both on save and again at posting time.
BranchIdBranchLookup → BranchThe company branch stamped onto the posted journal and each of its lines. It is taken from this field rather than from either bank account, so a transfer left blank here posts journal lines with no branch.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated OnDateAndTimeYes
FromBankAccountIdFrom Bank AccountLookup → BankAccountYesThe source account, credited when the transfer posts. Its bank account must have a GL account configured or posting fails, and it must differ from the destination or the save is rejected.
GLIdGLLookup → JournalThe journal created by posting.
IdIdGuidYes
IsGLPostedIsGL PostedBooleanSet to true only by a successful posting, alongside the journal link. Together those two are the duplicate-posting guard — the action is refused when either is set — so both would have to be cleared by hand before a second journal could be created.
IsGLPostingApprovedIsGL Posting ApprovedBooleanThe same-named field is live on sales and purchase documents, which is a common source of confusion.
ModifiedByIdModified ByLookup → UserAccountYes
NameGL Account NameText, uniqueYes
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
RecordTypeIdRecord TypeGuid, hidden
ReferenceReferenceTextCopied 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.
StatusStatusTextDraft, Approved, Posted or Reversed by convention, but stored as plain text rather than a picklist. The value is load-bearing: posting is refused unless it reads Approved (case-insensitive), and a successful post overwrites it with Posted. Nothing in the platform ever writes Reversed.
ToBankAccountIdTo Bank AccountLookup → BankAccountYesThe destination account, debited when the transfer posts. The save is rejected when it equals the source, and posting fails if this account has no GL account configured.
TransferDateTransfer DateDate
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