Table of Contents

Table "Bank Statement Matching Buffer"

ID 1250
Namespace: Microsoft.Bank.Reconciliation

Temporary buffer table for storing and ranking potential matches during automatic bank reconciliation. This table accumulates candidate ledger entries that could potentially match with bank statement lines, along with scoring information, quality metrics, and matching criteria details. Used internally by matching algorithms to evaluate, rank, and select the best matches based on configurable rules and thresholds before applying final matching decisions.

Remarks

Key features include match quality scoring, detailed criteria tracking (amounts, dates, document numbers), one-to-many relationship handling, related party matching status, and comprehensive match details for audit and review purposes. The buffer enables sophisticated ranking algorithms that consider multiple matching factors simultaneously, supporting both exact and fuzzy matching scenarios with weighted scoring. Used exclusively during matching processes and cleared after each matching operation completion.

Properties

Name Value
Caption Bank Statement Matching Buffer
ReplicateData False
TableType Temporary
DataClassification CustomerContent

Fields

Name Type Description
"Line No." Integer

Bank statement line number being evaluated for matching. References the source statement line for which potential matches are being identified.

"Entry No." Integer

Ledger entry number of the potential match candidate. References the bank account, customer, vendor, or GL entry that could match the statement line.

Quality Integer

Match quality score indicating the strength of the potential match. Higher scores represent better matches based on multiple matching criteria and algorithms.

"Account Type" Enum Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Account Type"

Type of account for the potential match candidate. Determines whether the match is against a customer, vendor, bank account, or GL account entry.

"Account No." Code[20]

Account number of the potential match candidate. Identifies the specific customer, vendor, bank account, or GL account for the match.

"One to Many Match" Boolean

Indicates if this match represents a one-to-many relationship scenario. True when one statement line could potentially match multiple ledger entries.

"No. of Entries" Integer

Number of related entries in a one-to-many or many-to-one matching scenario. Used for aggregating multiple entries that collectively match a single statement line.

"Total Remaining Amount" Decimal

Total remaining amount across multiple entries in complex matching scenarios. Calculated sum for one-to-many matches to compare against statement line amount.

"Related Party Matched" Option

Status of related party matching for the potential match candidate. Indicates whether customer/vendor information matches the statement line party details.

"Match Details" Text[250]

Detailed description of matching criteria that contributed to the match score. Provides audit trail and explanation of why this candidate was identified as a potential match.

"Doc. No. Score" Integer

Score contribution from document number matching algorithms. Measures how well the statement line document reference matches the ledger entry document number.

"Ext. Doc. No. Score" Integer

Score contribution from external document number matching algorithms. Measures how well the statement line reference matches the ledger entry external document number.

"Description Score" Integer

Score contribution from description and narrative text matching algorithms. Measures similarity between statement line description and ledger entry description.

"Amount Difference" Decimal

Amount difference between statement line and potential match candidate. Used to evaluate amount-based matching tolerance and precision.

"Date Difference" Integer

Date difference in days between statement line and potential match candidate. Used to evaluate date-based matching tolerance and temporal proximity.

"Doc. No. Exact Score" Integer

Score for exact document number matches without fuzzy logic. Higher weight given to precise document number correspondences.

"Ext. Doc. No. Exact Score" Integer

Score for exact external document number matches without fuzzy logic. Higher weight given to precise external document number correspondences.

"Description Exact Score" Integer

Score for exact description matches without fuzzy logic. Higher weight given to precise description text correspondences.

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

AddMatchCandidate

Adds or updates a match candidate entry in the temporary buffer for ranking and evaluation. Creates new buffer entries for potential matches or updates existing entries with improved quality scores. Used during the matching process to accumulate and rank all possible match candidates.

procedure AddMatchCandidate(LineNo: Integer; EntryNo: Integer; NewQuality: Integer; AccountType: Enum "Gen. Journal Account Type"; AccountNo: Code[20])

Parameters

Name Type Description
LineNo Integer

Bank statement line number being matched.

EntryNo Integer

Ledger entry number of the potential match candidate.

NewQuality Integer

Quality score for this match candidate based on matching algorithms.

AccountType Enum Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Account Type"

Type of account for the match candidate (Customer, Vendor, Bank Account, etc.).

AccountNo Code[20]

Account number of the match candidate.

InsertOrUpdateOneToManyRule

Inserts or updates a one-to-many matching rule for scenarios where multiple ledger entries match a single statement line. Manages complex matching relationships by aggregating multiple entries under a common account and calculating collective remaining amounts and quality scores for the one-to-many matching evaluation.

procedure InsertOrUpdateOneToManyRule(TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; LineNo: Integer; RelatedPartyMatched: Option; AccountType: Enum "Gen. Journal Account Type"; RemainingAmount: Decimal)

Parameters

Name Type Description
TempLedgerEntryMatchingBuffer Table Microsoft.Bank.Reconciliation."Ledger Entry Matching Buffer"

Source ledger entry data for the one-to-many relationship.

LineNo Integer

Bank statement line number participating in the one-to-many match.

RelatedPartyMatched Option

Status of related party matching for this relationship.

AccountType Enum Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Account Type"

Type of account involved in the one-to-many relationship.

RemainingAmount Decimal

Remaining amount contribution from this entry to the total match amount.

Events

OnAddMatchCandidateOnAfterAssignBankStatementMatchingBufferValues

[IntegrationEvent(False,False)]
local procedure OnAddMatchCandidateOnAfterAssignBankStatementMatchingBufferValues(var BankStatementMatchingBuffer: Record "Bank Statement Matching Buffer"; var BankStatementMatchingBuffer2: Record "Bank Statement Matching Buffer")

Parameters

Name Type Description
BankStatementMatchingBuffer Table Microsoft.Bank.Reconciliation."Bank Statement Matching Buffer"
BankStatementMatchingBuffer2 Table Microsoft.Bank.Reconciliation."Bank Statement Matching Buffer"

OnInsertOrUpdateOneToManyRuleOnBeforeInsert

[IntegrationEvent(False,False)]
local procedure OnInsertOrUpdateOneToManyRuleOnBeforeInsert(var BankStatementMatchingBuffer: Record "Bank Statement Matching Buffer"; TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary)

Parameters

Name Type Description
BankStatementMatchingBuffer Table Microsoft.Bank.Reconciliation."Bank Statement Matching Buffer"
TempLedgerEntryMatchingBuffer Table Microsoft.Bank.Reconciliation."Ledger Entry Matching Buffer"

See also