Table "Bank Acc. Reconciliation"
Central table for managing bank account reconciliation and payment application processes. This table serves as the header for bank reconciliation workflows, containing statement information, balances, and processing settings. It supports both traditional bank reconciliation and automated payment application scenarios with comprehensive tracking of applied amounts and differences.
Remarks
Supports two main workflows via Statement Type: Bank Reconciliation for matching bank statements with ledger entries, and Payment Application for processing payment files and applying them to invoices. Integrates with bank statement import, automated matching, manual application, and posting processes. Key extension points include dimension handling, statement import customization, and posting validation.
Properties
| Name | Value |
|---|---|
| Caption | Bank Acc. Reconciliation |
| DataCaptionFields | 1,2 |
| LookupPageID | Page Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation List" |
| Permissions | TableData "Bank Account" = rm, TableData "Data Exch." = rimd |
| DataClassification | CustomerContent |
Fields
| Name | Type | Description |
|---|---|---|
| "Bank Account No." | Code[20] | Bank account number that this reconciliation statement relates to. Links the reconciliation to a specific bank account and drives currency and setup inheritance. |
| "Statement No." | Code[20] | Unique statement number for this reconciliation document. Automatically generated based on bank account number series configuration. |
| "Statement Ending Balance" | Decimal | Ending balance as reported on the bank statement. Used as the target balance for reconciliation and difference calculation. |
| "Statement Date" | Date | Date of the bank statement being reconciled. Determines the cutoff date for transaction matching and validation. |
| "Balance Last Statement" | Decimal | Beginning balance from the previous statement or last reconciliation. Used as the starting point for calculating current period reconciliation differences. |
| "Bank Statement" | Blob | Binary storage for the imported bank statement file. Contains the original electronic statement data for reference and audit purposes. |
| "Total Balance on Bank Account" | Decimal | Calculated total of all bank account ledger entries for this bank account. Represents the current book balance in the general ledger system. |
| "Total Applied Amount" | Decimal | Sum of all applied amounts on reconciliation lines for this statement. Tracks how much of the statement transactions have been matched and applied. |
| "Total Transaction Amount" | Decimal | Sum of all statement amounts on reconciliation lines for this statement. Represents the total value of transactions imported from the bank statement. |
| "Total Unposted Applied Amount" | Decimal | Sum of applied amounts excluding bank account entries (manual adjustments). Tracks amounts that will create new ledger entries when posted rather than matching existing ones. |
| "Total Difference" | Decimal | Sum of all differences between statement amounts and applied amounts. Indicates the total amount of unreconciled differences requiring resolution. |
| "Total Paid Amount" | Decimal | Sum of negative statement amounts representing payments made from the account. Shows total outgoing transactions on the bank statement. |
| "Total Received Amount" | Decimal | Sum of positive statement amounts representing deposits received in the account. Shows total incoming transactions on the bank statement. |
| "Statement Type" | Enum Microsoft.Bank.Reconciliation."Bank Acc. Rec. Stmt. Type" | Type of reconciliation statement being processed. Determines workflow behavior and available features (Bank Reconciliation vs Payment Application). |
| "Shortcut Dimension 1 Code" | Code[20] | First global dimension code for this reconciliation. Inherited from bank account setup and applied to generated journal entries. |
| "Shortcut Dimension 2 Code" | Code[20] | Second global dimension code for this reconciliation. Inherited from bank account setup and applied to generated journal entries. |
| "Post Payments Only" | Boolean | Flag indicating whether to post only payment applications without bank account entries. Used in payment application scenarios to create customer/vendor entries without bank entries. |
| "Import Posted Transactions" | Option | Option controlling whether already posted transactions should be imported from the bank account. Helps prevent duplicate transaction import and processing. |
| "Total Outstd Bank Transactions" | Decimal | Sum of open bank account ledger entries excluding check entries. Represents outstanding bank transactions that have not been reconciled. |
| "Total Outstd Payments" | Decimal | Sum of open bank account ledger entries with associated check entries. Represents outstanding check payments that have not been reconciled. |
| "Bank Account Balance (LCY)" | Decimal | Total bank account balance in local currency. Provides balance information in the company's reporting currency regardless of bank account currency. |
| "Total Positive Adjustments" | Decimal | Sum of positive adjustment amounts for non-bank account applications. Tracks positive differences that will increase the bank balance when posted. |
| "Total Negative Adjustments" | Decimal | Sum of negative adjustment amounts for non-bank account applications. Tracks negative differences that will decrease the bank balance when posted. |
| "Copy VAT Setup to Jnl. Line" | Boolean | Flag controlling whether VAT setup should be copied to generated journal lines. Ensures proper VAT handling when posting reconciliation adjustments. |
| "Bank Account Name" | Text[100] | Name of the bank account for display purposes. Automatically retrieved from the bank account master record. |
| "Allow Duplicated Transactions" | Boolean | Flag allowing the import of duplicate transactions from bank statements. When enabled, prevents blocking of statement import due to duplicate detection. |
| "Dimension Set ID" | Integer | Dimension set identifier linking this reconciliation to its dimension values. Used for tracking and reporting on reconciliation activities by dimension. |
| SystemId | Guid | |
| SystemCreatedAt | DateTime | |
| SystemCreatedBy | Guid | |
| SystemModifiedAt | DateTime | |
| SystemModifiedBy | Guid | |
| SystemCreatedByUserName | Text[50] | |
| SystemCreatedByFullName | Text[80] | |
| SystemModifiedByUserName | Text[50] | |
| SystemModifiedByFullName | Text[80] | |
| SystemRowVersion | BigInteger |
Methods
CreateDim
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.
procedure CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])
Parameters
| Name | Type | Description |
|---|---|---|
| DefaultDimSource | List of [Dictionary of [Integer, Code[20]]] |
Dictionary list containing dimension source types and values to apply |
MatchSingle
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.
procedure MatchSingle(DateRange: Integer)
Parameters
| Name | Type | Description |
|---|---|---|
| DateRange | Integer |
Number of days to extend the matching date range beyond statement dates |
ImportBankStatement
Initiates bank statement import process for this reconciliation. Creates reconciliation record and imports statement data using configured import format.
procedure ImportBankStatement()
ValidateShortcutDimCode
Validates and updates dimension shortcut codes for this reconciliation. Propagates dimension changes to all related reconciliation lines automatically.
procedure ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])
Parameters
| Name | Type | Description |
|---|---|---|
| FieldNumber | Integer |
Field number of the shortcut dimension being validated (1 or 2) |
| ShortcutDimCode | Code[20] |
Dimension value code to validate and assign |
ShowDocDim
Opens dimension maintenance dialog for this reconciliation header. Allows interactive editing of all dimension values and propagates changes to lines.
procedure ShowDocDim()
OpenNewWorksheet
Creates new payment application batch and opens payment reconciliation worksheet. Prompts user to select bank account and initializes new payment application session.
procedure OpenNewWorksheet()
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.
procedure ImportAndProcessToNewStatement()
ImportStatement
Imports statement data from data exchange record into bank reconciliation lines. Processes electronic bank statement data and creates reconciliation line entries.
procedure ImportStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; DataExch: Record "Data Exch."): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" |
Bank reconciliation record to populate with imported lines |
| DataExch | Table System.IO."Data Exch." |
Data exchange record containing bank statement data to import |
Returns
| Type | Description |
|---|---|
| Boolean |
True if import was successful, false if no transactions were imported |
ProcessStatement
procedure ProcessStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" |
CreateNewBankPaymentAppBatch
procedure CreateNewBankPaymentAppBatch(BankAccountNo: Code[20]; var BankAccReconciliation: Record "Bank Acc. Reconciliation")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccountNo | Code[20] | |
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" |
SelectBankAccountToUse
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.
procedure SelectBankAccountToUse(var BankAccount: Record "Bank Account"; OnlyWithImportFormatSet: Boolean): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccount | Table Microsoft.Bank.BankAccount."Bank Account" |
Bank account record to populate with the selected account details. |
| OnlyWithImportFormatSet | Boolean |
If true, only shows bank accounts with configured import formats; otherwise shows all accounts. |
Returns
| Type | Description |
|---|---|
| Boolean |
True if a bank account was successfully selected; false if user cancelled or no accounts available. |
OpenWorksheet
procedure OpenWorksheet(BankAccReconciliation: Record "Bank Acc. Reconciliation")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" |
OpenList
procedure OpenList(BankAccReconciliation: Record "Bank Acc. Reconciliation")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" |
SetFiltersOnBankAccReconLineTable
procedure SetFiltersOnBankAccReconLineTable(BankAccReconciliation: Record "Bank Acc. Reconciliation"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| BankAccReconciliationLine | Table Microsoft.Bank.Reconciliation."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.
procedure DrillDownOnBalanceOnBankAccount()
MatchCandidateFilterDate
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.
procedure MatchCandidateFilterDate(): Date
Returns
| Type | Description |
|---|---|
| Date |
Date representing the earliest transaction date for candidate filtering; WorkDate if no lines exist. |
CreateDimFromDefaultDim
procedure CreateDimFromDefaultDim()
CreateBankAccountReconcillation
procedure CreateBankAccountReconcillation()
Events
OnAfterInitDefaultDimensionSources
[IntegrationEvent(False,False)]
local procedure OnAfterInitDefaultDimensionSources(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| DefaultDimSource | List of [Dictionary of [Integer, Code[20]]] |
OnAfterValidateShortcutDimCode
[IntegrationEvent(False,False)]
local procedure OnAfterValidateShortcutDimCode(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var xBankAccReconciliation: Record "Bank Acc. Reconciliation"; FieldNumber: Integer; var ShortcutDimCode: Code[20])
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| xBankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| FieldNumber | Integer | |
| ShortcutDimCode | Code[20] |
OnBeforeImportAndProcessToNewStatement
[IntegrationEvent(False,False)]
local procedure OnBeforeImportAndProcessToNewStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var DataExch: Record "Data Exch."; var DataExchDef: Record "Data Exch. Def"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| DataExch | Table System.IO."Data Exch." | |
| DataExchDef | Table System.IO."Data Exch. Def" | |
| IsHandled | Boolean |
OnBeforeMatchSingle
[IntegrationEvent(False,False)]
local procedure OnBeforeMatchSingle(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; DateRange: Integer; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| DateRange | Integer | |
| IsHandled | Boolean |
OnBeforeOpenWorksheetFromProcessStatement
[IntegrationEvent(False,False)]
local procedure OnBeforeOpenWorksheetFromProcessStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| IsHandled | Boolean |
OnBeforeValidateShortcutDimCode
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateShortcutDimCode(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var xBankAccReconciliation: Record "Bank Acc. Reconciliation"; FieldNumber: Integer; var ShortcutDimCode: Code[20])
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| xBankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| FieldNumber | Integer | |
| ShortcutDimCode | Code[20] |
OnCreateDimOnAfterSetDimensionSetID
[IntegrationEvent(False,False)]
local procedure OnCreateDimOnAfterSetDimensionSetID(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; OldDimSetID: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliation | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation" | |
| OldDimSetID | Integer | |
| DefaultDimSource | List of [Dictionary of [Integer, Code[20]]] |
OnUpdateAllLineDimOnAfterUpdateGlobalDimFromDimSetID
[IntegrationEvent(False,False)]
local procedure OnUpdateAllLineDimOnAfterUpdateGlobalDimFromDimSetID(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")
Parameters
| Name | Type | Description |
|---|---|---|
| BankAccReconciliationLine | Table Microsoft.Bank.Reconciliation."Bank Acc. Reconciliation Line" |