A reconciliation session header for one bank account as at a statement date, holding the closing balance per bank and per book plus the difference between them, and owning the BankReconciliationLine reconciling items. It is a manual worksheet rather than a computed one: nothing in the platform populates the two closing balances — the session summary reads whatever is stored on the header, stamps the difference as per-bank minus per-book, and flips the status to Completed when that difference is zero. Its server actions (match suggestions, confirm matches, list bank accounts) operate on bank statement lines and ledger journal lines, not on this session's own lines, so a session can be signed off independently of the matches actually recorded. Completing a session locks nothing: no period is closed, no journal is frozen and nothing is posted to the ledger.
Fields
| Field | Label | Type | Required | What it does |
BankAccountId | Bank Account | Lookup → BankAccount | | The bank account under reconciliation. Note that the match actions resolve the bank account from each statement line's own parent statement rather than from here, so a mismatch between this field and the linked statement's account is never detected. |
BankStatementId | Bank Statement | Lookup → BankStatement | | The statement this session covers. The reconciliation-summary action refuses to run without it, since the statement supplies the bank-side closing balance and the lines to compare. |
ClosingBalancePerBank | Closing Balance Per Bank | Currency | | The bank's closing balance for the session, entered by hand. |
ClosingBalancePerBook | Closing Balance Per Book | Currency | | The ledger closing balance for the session, entered by hand. Nothing recomputes it from posted journal lines on the bank's GL account, so it is a snapshot of what someone typed rather than a live figure. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created On | DateAndTime | Yes | |
Difference | Difference | Currency | | Stamped by the session summary as closing balance per bank minus closing balance per book. Because both inputs are manually entered, a zero here proves only that the two typed figures agree — it does not prove the statement ties to the ledger. |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
OpeningBalance | Opening Balance | Currency | | Recorded on the session header for reference only. No code reads it — the session summary works purely from the two closing balances. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
RecordTypeId | Record Type | Guid, hidden | | |
StatementDate | Statement Date | DateAndTime | | |
Status | Status | Text | | Open or Completed. The session summary flips it to Completed once the difference is zero, but it never flips back, so a session completed and then edited to a non-zero difference stays Completed. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Updated On | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
ConfirmMatches | Confirm Matches | ServerAction (ConfirmMatches) | Persists a caller-supplied list of statement-line to journal-line pairs as reconciliation matches, marks each statement line Matched, and reports how many were confirmed against how many were requested. It applies no matching rules and performs no amount, date or direction check on the pairs it is handed, so it will record whatever pairing it is given — only the auto-match path enforces the rules. |
GetBankAccounts | Get Bank Accounts | ServerAction (GetBankAccounts) | Lists the active bank accounts whose GL account is of type Bank, each with a book balance summed from posted journal lines on that GL account, a bank balance summed across the account's statements, and a count of its statement lines by reconciliation status. Scope precedence matters: an explicitly passed company or branch is honoured verbatim and suppresses the user's defaults, and only when neither is passed does it fall back to the signed-in user's default company and branch. Be careful with the bank balance — it adds up the closing balance of every statement on the account rather than taking the latest one, so an account with several statements reports an inflated figure. |
GetMatchSuggestions | Get Match Suggestions | ServerAction (GetMatchSuggestions) | Takes a single bank statement line id and returns the posted ledger lines on that account's bank GL account which survive the whole matching-rule cascade, ranked best first by date proximity and reference overlap. Despite the name it is not read-only: if a rule in the cascade has auto-match on and its survivors have an unambiguous winner, the match is confirmed and the statement line flipped to Matched during this call, and only that one confirmed suggestion is returned. It returns nothing for a line that is not Unmatched, and fails outright when the bank account has no linked GL account. |
GetUnmatchedAgeing | Get Unmatched Ageing | ServerAction (GetUnmatchedAgeing) | Age the unmatched statement and book transactions on a bank account. |
New | New | New | New |
Lookup filters
| Filter | Lookup field | Notes |
| Partner Account Filter | PartnerAccountId | |