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
| Field | Label | Type | Required | What it does |
Amount | Amount | Currency | | The 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. |
BranchId | Branch | Lookup → Branch | | The 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. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created On | DateAndTime | Yes | |
FromBankAccountId | From Bank Account | Lookup → BankAccount | Yes | The 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. |
GLId | GL | Lookup → Journal | | The 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. |
Id | Id | Guid | Yes | |
IsGLPosted | IsGL Posted | Boolean | | Ticked 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. |
IsGLPostingApproved | IsGL Posting Approved | Boolean | | Not 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. |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | GL Account Name | Text, unique | Yes | The 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. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The 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. |
RecordTypeId | Record Type | Guid, hidden | | |
Reference | Reference | Text | | The 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. |
Status | Status | Text | | Free 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. |
ToBankAccountId | To Bank Account | Lookup → BankAccount | Yes | The 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. |
TransferDate | Transfer Date | Date | | The 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. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Updated On | 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 |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditInline | Edit Inline | EditInline | Edit |
EditListRow | Edit | Edit | EditListRow |
New | New | New | New |
PerformGLPosting | Post | ServerAction (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. |
PostGeneralLedger | Post General Ledger | ServerAction (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
| Validation | Applies to | Error message | Notes |
| To Bank Account Validation | ToBankAccountId, Error, inactive | | To Bank Account Validation |
Lookup filters
| Filter | Lookup field | Notes |
| From Bank Filter | FromBankAccountId | |
| To Bank Filter | ToBankAccountId | |