Table of Contents

Table "Bank Acc. Reconciliation"

ID 273
Namespace: Microsoft.Bank.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"

See also