Table 273 "Bank Acc. Reconciliation"
Base Application · Microsoft.Bank.Reconciliation
Across versions
- BC23present
- BC243 fields changed
- BC253 procedures added, 1 fields changed
- BC263 fields removed
- BC271 fields changed
- BC2819 fields changed
- BC292 fields changed
- BC30unchanged
Neighbourhood 43 connected objects and pages
Base Application · Microsoft.Bank.Reconciliation · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 1294 “Pmt. Reconciliation Journals” (7 Learn pages), Page 1293 “Pmt. Rec. Journals Overview” (1).
Properties
| Property | Value |
|---|---|
| Caption | Bank Acc. Reconciliation |
| DataClassification | CustomerContent |
| Permissions | TableData “Bank Account” = rm, TableData “Data Exch.” = rimd |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Bank Account No. Δ BC28 | Code[20] | Specifies the number of the bank account that you want to reconcile with the bank’s statement. | TableRelation Table 270 “Bank Account” (Bank Account); NotBlank |
| 2 | Statement No. Δ BC28 | Code[20] | Specifies the number of the bank account statement. | not editable; NotBlank |
| 3 | Statement Ending Balance Δ BC25 Δ BC28 | Decimal | Specifies the ending balance shown on the bank’s statement that you want to reconcile with the bank account. | |
| 4 | Statement Date Δ BC28 | Date | Specifies the date on the bank account statement. | |
| 5 | Balance Last Statement Δ BC28 | Decimal | Specifies the ending balance shown on the last bank statement, which was used in the last posted bank reconciliation for this bank account. | |
| 6 | Bank Statement | BLOB | — | |
| 7 | Total Balance on Bank Account | Decimal | — | FlowField: sum(“Bank Account Ledger Entry”.Amount where(“Bank Account No.” = field(“Bank Account No.”))); not editable |
| 8 | Total Applied Amount Δ BC28 | Decimal | — | FlowField: sum(“Bank Acc. Reconciliation Line”.“Applied Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”))); not editable |
| 9 | Total Transaction Amount Δ BC28 | Decimal | Specifies the sum of values in the Statement Amount field on all the lines in the Bank Acc. Reconciliation and Payment Reconciliation Journal windows. | FlowField: sum(“Bank Acc. Reconciliation Line”.“Statement Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”))); not editable |
| 10 | Total Unposted Applied Amount Δ BC28 | Decimal | — | FlowField: sum(“Bank Acc. Reconciliation Line”.“Applied Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”), “Account Type” = filter(<> “Bank Account”))); not editable |
| 11 | Total Difference Δ BC28 | Decimal | Specifies the total amount that exists on the bank account per the last time it was reconciled. | FlowField: sum(“Bank Acc. Reconciliation Line”.Difference where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”))); not editable |
| 12 | Total Paid Amount Δ BC28 | Decimal | — | FlowField: sum(“Bank Acc. Reconciliation Line”.“Statement Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”), “Statement Amount” = filter(< 0))); not editable |
| 13 | Total Received Amount Δ BC28 | Decimal | — | FlowField: sum(“Bank Acc. Reconciliation Line”.“Statement Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”), “Statement Amount” = filter(> 0))); not editable |
| 20 | Statement Type | Enum “Bank Acc. Rec. Stmt. Type” | — | enum Enum 1254 “Bank Acc. Rec. Stmt. Type” |
| 21 | Shortcut Dimension 1 Code | Code[20] | — | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false))) |
| 22 | Shortcut Dimension 2 Code | Code[20] | — | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false))) |
| 23 | Post Payments Only | Boolean | — | |
| 24 | Import Posted Transactions Δ BC29 | Option | Specifies whether to import bank transactions that are already applied but whose related bank account ledger entries are not yet closed. | OptionCaption: ,Yes,No |
| 25 | Total Outstd Bank Transactions Δ BC28 | Decimal | — | FlowField: sum(“Bank Account Ledger Entry”.Amount where(“Bank Account No.” = field(“Bank Account No.”), Open = const(true), “Check Ledger Entries” = const(0))); not editable |
| 26 | Total Outstd Payments Δ BC28 | Decimal | — | FlowField: sum(“Bank Account Ledger Entry”.Amount where(“Bank Account No.” = field(“Bank Account No.”), Open = const(true), “Check Ledger Entries” = filter(> 0))); not editable |
| 28 | Bank Account Balance (LCY) Δ BC27 Δ BC28 | Decimal | — | FlowField: sum(“Bank Account Ledger Entry”.“Amount (LCY)” where(“Bank Account No.” = field(“Bank Account No.”))); not editable |
| 29 | Total Positive Adjustments Δ BC28 | Decimal | — | FlowField: sum(“Bank Acc. Reconciliation Line”.“Applied Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”), “Account Type” = filter(<> “Bank Account”), “Statement Amount” = filter(> 0))); not editable |
| 30 | Total Negative Adjustments Δ BC28 | Decimal | — | FlowField: sum(“Bank Acc. Reconciliation Line”.“Applied Amount” where(“Statement Type” = field(“Statement Type”), “Bank Account No.” = field(“Bank Account No.”), “Statement No.” = field(“Statement No.”), “Account Type” = filter(<> “Bank Account”), “Statement Amount” = filter(< 0))); not editable |
| 33 | Copy VAT Setup to Jnl. Line Δ BC28 | Boolean | Specifies whether the program to calculate VAT for accounts and balancing accounts on the journal line of the selected bank account reconciliation. | |
| 50 | Bank Account Name Δ BC28 | Text[100] | Specifies the name of the bank account that you want to reconcile. | FlowField: lookup(“Bank Account”.Name where(“No.” = field(“Bank Account No.”))) |
| 51 | Allow Duplicated Transactions Δ BC28 Δ BC29 | Boolean | Specifies whether to allow bank account reconciliation lines to have the same transaction ID. | |
| 480 | Dimension Set ID | Integer | — | TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable |
Keys
- Key1: Statement Type, Bank Account No., Statement No. (clustered)
Events published
OnAfterInitDefaultDimensionSources(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])(integration)OnAfterValidateShortcutDimCode(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var xBankAccReconciliation: Record "Bank Acc. Reconciliation"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnBeforeImportAndProcessToNewStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var DataExch: Record "Data Exch."; var DataExchDef: Record "Data Exch. Def"; var IsHandled: Boolean)(integration)OnBeforeMatchSingle(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; DateRange: Integer; var IsHandled: Boolean)(integration)OnBeforeOpenWorksheetFromProcessStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var IsHandled: Boolean)(integration)OnBeforeValidateShortcutDimCode(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var xBankAccReconciliation: Record "Bank Acc. Reconciliation"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnCreateDimOnAfterSetDimensionSetID(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; OldDimSetID: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])(integration)OnUpdateAllLineDimOnAfterUpdateGlobalDimFromDimSetID(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration)
Procedures
OnInsertValidations(StatementType: Enum "Bank Acc. Rec. Stmt. Type"; BankAccountNo: Code[20]; StatementNo: Code[20])+ BC25 + BC25 (internal)GetPaymentRecJournalTelemetryFeatureName(): Text(internal)GetBankReconciliationTelemetryFeatureName(): Text(internal)CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]): Creates dimension set ID from default dimension sources for this bank reconciliation. Builds dimension combinations from bank account defaults and custom dimension sources. Updates all related reconciliation lines when dimensions change.MatchSingle(DateRange: Integer): Runs automatic matching process for bank reconciliation lines against bank ledger entries. Uses configurable date range and matching rules to find and apply probable matches.ImportBankStatement(): Initiates bank statement import process for this reconciliation. Creates reconciliation record and imports statement data using configured import format.ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Validates and updates dimension shortcut codes for this reconciliation. Propagates dimension changes to all related reconciliation lines automatically.ShowDocDim(): Opens dimension maintenance dialog for this reconciliation header. Allows interactive editing of all dimension values and propagates changes to lines.OpenNewWorksheet(): Creates new payment application batch and opens payment reconciliation worksheet. Prompts user to select bank account and initializes new payment application session.ImportAndProcessToNewStatement(): Imports bank statement file and processes it into new reconciliation with automatic matching. Handles complete workflow from bank account selection through statement import and processing.ImportStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; DataExch: Record "Data Exch."): Boolean: Imports statement data from data exchange record into bank reconciliation lines. Processes electronic bank statement data and creates reconciliation line entries.ProcessStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation")CreateNewBankPaymentAppBatch(BankAccountNo: Code[20]; var BankAccReconciliation: Record "Bank Acc. Reconciliation")SelectBankAccountToUse(var BankAccount: Record "Bank Account"; OnlyWithImportFormatSet: Boolean): Boolean: Prompts user to select a bank account for payment reconciliation operations. Provides filtered selection based on import format configuration and displays appropriate bank account lists. Handles scenarios with single bank accounts, multiple options, and import format requirements.OpenWorksheet(BankAccReconciliation: Record "Bank Acc. Reconciliation")OpenList(BankAccReconciliation: Record "Bank Acc. Reconciliation")SetFiltersOnBankAccReconLineTable(BankAccReconciliation: Record "Bank Acc. Reconciliation"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")DrillDownOnBalanceOnBankAccount(): Opens bank account ledger entries page filtered to show open entries for this reconciliation’s bank account. Provides drill-down functionality to view detailed ledger entries that contribute to the bank account balance. Used for balance verification and investigation of unreconciled transactions.MatchCandidateFilterDate(): DateΔ BC25: Calculates the optimal filter date for finding matching candidates during bank reconciliation. Determines the earliest transaction date from reconciliation lines to establish the date range for searching potential matches in ledger entries and improving matching performance.CreateDimFromDefaultDim()CreateBankAccountReconcillation()
Plus 14 local procedures.
Triggers
OnDelete, OnInsert, OnRename
Relations
- lookup page Page 388 “Bank Acc. Reconciliation List”
- Bank Account Name: CalcFormula Table 270 “Bank Account”
- Bank Account No.: TableRelation Table 270 “Bank Account”
- Bank Account Balance (LCY): CalcFormula Table 271 “Bank Account Ledger Entry”
- Total Balance on Bank Account: CalcFormula Table 271 “Bank Account Ledger Entry”
- Total Outstd Bank Transactions: CalcFormula Table 271 “Bank Account Ledger Entry”
- Total Outstd Payments: CalcFormula Table 271 “Bank Account Ledger Entry”
- Total Applied Amount: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Difference: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Negative Adjustments: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Paid Amount: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Positive Adjustments: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Received Amount: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Transaction Amount: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Total Unposted Applied Amount: CalcFormula Table 274 “Bank Acc. Reconciliation Line”
- Shortcut Dimension 1 Code: TableRelation Table 349 “Dimension Value”
- Shortcut Dimension 2 Code: TableRelation Table 349 “Dimension Value”
- Dimension Set ID: TableRelation Table 480 “Dimension Set Entry”
Referenced by
11 fields in 11 objects relate to this table (TableRelation or CalcFormula).
- Table 1293 “Payment Application Proposal”: Statement No.
- Table 1294 “Applied Payment Entry”: Statement No.
- Table 1299 “Payment Matching Details”: Statement No.
- Table 1313 “Activities Cue”: Non-Applied Payments
- Table 1693 “Bank Acc. Comment Line”: No.
- Table 271 “Bank Account Ledger Entry”: Statement Date
- Table 274 “Bank Acc. Reconciliation Line”: Statement No.
- Table 7250 “Bank Acc. Rec. AI Proposal”: Statement No.
- Table 7251 “Bank Acc. Rec. AI Prop. Buf.”: Statement No.
- Table 9046 “Account Payable Cue”: Unprocessed Payments
- Table 9054 “Finance Cue”: Non-Applied Payments
Pages and codeunits on this table
- Page 1293 “Pmt. Rec. Journals Overview” (source table)
- Page 1294 “Pmt. Reconciliation Journals” (source table)
- Page 379 “Bank Acc. Reconciliation” (source table)
- Page 388 “Bank Acc. Reconciliation List” (source table)
- Page 417 “Post Pmts and Rec. Bank Acc.” (source table)
- Codeunit 1253 “Change Bank Rec. Statement No.” (codeunit runs on it)
- Codeunit 1254 “Match Bank Pmt. Appl.” (codeunit runs on it)
- Codeunit 370 “Bank Acc. Reconciliation Post” (codeunit runs on it)
- Codeunit 371 “Bank Acc. Recon. Post (Yes/No)” (codeunit runs on it)
- Codeunit 372 “Bank Acc. Recon. Post+Print” (codeunit runs on it)
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 408 “DimensionManagement” (6 calls:
CreateDim → GetRecDefaultDimID,InitDefaultDimensionSources → AddDimSource,ShowDocDim → EditDimensionSet, …) - Codeunit 1248 “Process Bank Acc. Rec Lines” (3 calls:
ImportBankStatement → ImportBankStatement,ImportBankStatement → SetBankAccountNo,ImportStatement → ImportBankStatement) - Page 1282 “Payment Bank Account List” (2 calls:
CantFindBancAccToUseInPaymentFileImport → (object),SelectBankAccountToUse → (object)) - Codeunit 1252 “Match Bank Rec. Lines” (1 call:
MatchSingle → BankAccReconciliationAutoMatch) - Codeunit 1254 “Match Bank Pmt. Appl.” (1 call:
ProcessStatement → (object)) - Codeunit 370 “Bank Acc. Reconciliation Post” (1 call:
ProcessStatement → (object)) - Page 1290 “Payment Reconciliation Journal” (1 call:
OpenWorksheet → (object)) - Page 1291 “Pmt. Recon. Journal Overview” (1 call:
OpenList → (object)) - Page 370 “Bank Account Card” (1 call:
BankAccountCouldBeUsedForImport → (object)) - Page 372 “Bank Account Ledger Entries” (1 call:
DrillDownOnBalanceOnBankAccount → (object))
Recent changes
- 2026-09-09 #11056 29.x: Allow bank rec. duplicated transactions surfaced in UI (releases/29.x, BC29, feature)
- 2026-09-09 #11055 Allow bank rec. duplicated transactions surfaced in UI (main, BC30, feature)
Countries that replace it
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Bank Acc. Reconciliation"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.