Codeunit 1255 "Match Bank Payments"
Base Application · Microsoft.Bank.Reconciliation
Across versions
- BC23present
- BC243 events added, 1 procedures removed
- BC256 events added, 1 procedures added
- BC261 procedures added, 1 procedures removed
- BC27-28unchanged
- BC291 procedures added
- BC30unchanged
Neighbourhood 15 connected objects and pages
Base Application · Microsoft.Bank.Reconciliation · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Bank Acc. Reconciliation Line |
| Permissions | TableData “Cust. Ledger Entry” = rm, TableData “Vendor Ledger Entry” = rm |
Events published
OnAfterCode(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised after executing the main bank payment matching code.OnBeforeCalcRemainingAmount(var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; UsePaymentDiscounts: Boolean; var RemainingAmount: Decimal; var IsHandled: Boolean)(integration): Event raised before calculating the remaining amount for payment matching.OnBeforeIsCustomerBankAccountMatching(ValueFromBankStatement: Text; CustomerNo: Code[20]; BankAccountNo: Code[20]; var Result: Boolean; var IsHandled: Boolean)(integration): Event raised before checking if customer bank account is matching.OnBeforeNotifyIfEntriesMatchedElsewhere(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var IsHandled: Boolean)+ BC25 (integration): Event raised before notifying if entries are matched elsewhere.OnBeforeIsVendorBankAccountMatching(ValueFromBankStatement: Text; VendorNo: Code[20]; BankAccountNo: Code[20]; var Result: Boolean; var IsHandled: Boolean)(integration): Event raised before checking if vendor bank account is matching.OnDocumentMatchingForBankLedgerEntryOnBeforeMatch(SearchText: Text; TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var BankPmtApplRule: Record "Bank Pmt. Appl. Rule")(integration): Event raised before matching bank ledger entry documents.OnFindMatchingEntryOnBeforeDocumentMatching(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var IsHandled: Boolean; TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer"; AccountType: Enum "Gen. Journal Account Type"; var TotalTimeDocumentNoMatching: Duration; var TotalTimeDocumentNoMatchingForBankLedgerEntry: Duration; var DocumentMatchedInfoText: Text; LogInfoText: Boolean)(integration): Event raised before document matching when finding matching entries.OnFindMatchingEntriesOnBeforeFindFirst(var TempBankAccReconciliationLine: Record "Bank Acc. Reconciliation Line" temporary; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; AccountType: Enum "Gen. Journal Account Type"; var SkipOtherEntries: Boolean; var ApplyEntries: Boolean)+ BC25 − BC25 (integration): Event raised before finding the first matching entries in the matching process.OnFindTextMappingsOnBeforeCalculateStringNearness(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TextToAccountMapping: Record "Text-to-Account Mapping"; var Nearness: Integer)(integration): Event raised before calculating string nearness when finding text mappings.OnInitBankAccLedgerEntriesMatchingBufferSetFilter(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised when setting filters on bank account ledger entries for matching buffer initialization.OnInitCustomerLedgerEntriesMatchingBufferSetFilter(var CustLedgerEntry: Record "Cust. Ledger Entry"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised when setting filters on customer ledger entries for matching buffer initialization.OnInitCustomerLedgerEntriesMatchingBufferOnBeforeCustLedgerEntryFindSet(var CustLedgerEntry: Record "Cust. Ledger Entry")(integration): Event raised before finding customer ledger entries when initializing the matching buffer.OnInitEmployeeLedgerEntriesMatchingBufferSetFilter(var EmployeeLedgerEntry: Record "Employee Ledger Entry"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised when setting filters on employee ledger entries for matching buffer initialization.OnInitVendorLedgerEntriesMatchingBufferSetFilter(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised when setting filters on vendor ledger entries for matching buffer initialization.OnInitEmployeeLedgerEntriesMatchingBufferOnAfterEmployeeLedgerEntryFindSet(var EmployeeLedgerEntry: Record "Employee Ledger Entry")(integration): Event raised after finding employee ledger entries when initializing the matching buffer.OnInitVendorLedgerEntriesMatchingBufferOnAfterVendorLedgerEntryFindSet(var VendorLedgerEntry: Record "Vendor Ledger Entry")(integration): Event raised after finding vendor ledger entries when initializing the matching buffer.OnShowMatchSummaryOnAfterSetFinalText(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; FinalText: Text; var IsHandled: Boolean)(integration): Event raised after setting the final text when showing match summary.OnDeletePaymentMatchDetailsOnAfterPaymentMatchingDetailsSetFilters(var PaymentMatchingDetails: Record "Payment Matching Details"; BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised after setting filters on payment matching details when deleting payment match details.OnDeleteAppliedPaymentEntriesOnAfterAppliedPaymentEntrySetFilters(var AppliedPaymentEntry: Record "Applied Payment Entry"; BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised after setting filters on applied payment entries when deleting applied payment entries.OnDisableMatchBankLedgerEntriesFromClosingLedgerEntries(var Disable: boolean)(integration): Event raised to control whether bank ledger entries from closing ledger entries should be disabled from matching.OnDisableStringNearnessMatch(var Disable: boolean)(integration): Event raised to control whether string nearness matching should be disabled.OnDisableCustomerLedgerEntriesMatch(var Disable: boolean; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised to control whether customer ledger entries matching should be disabled.OnDisableVendorLedgerEntriesMatch(var Disable: boolean; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised to control whether vendor ledger entries matching should be disabled.OnDisableEmployeeLedgerEntriesMatch(var Disable: boolean; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised to control whether employee ledger entries matching should be disabled.OnDisableBankLedgerEntriesMatch(var Disable: boolean; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised to control whether bank ledger entries matching should be disabled.OnMatchEntriesOnAfterCalcTotalTimeDocumentNoMatching(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; AccountType: Enum "Gen. Journal Account Type"; TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; var TotalTimeRelatedPartyMatching: Duration; var TotalTimeAmountMatching: Duration; var RemainingAmount: Decimal; var RelatedPartyMatchedInfoText: Text; LogInfoText: Boolean; var TotalTimeStringNearness: Duration; UsePaymentDiscounts: Boolean; OneToManyTempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; var TempCustomerLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempVendorLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempEmployeeLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempBankAccLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var IsHandled: Boolean; var DocumentMatchedInfoText: Text)(integration): Event raised after calculating total time for document number matching when matching entries.OnRelatedPartyInfoMatching(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Name: Text[100]; Address: Text[100]; City: Text[30]; AccountType: Enum "Gen. Journal Account Type"; var RelatedPartyMatchedInfoText: Text; var Handled: Boolean)(integration): Event raised during related party information matching process.OnFindBankAccLedgerEntryForTextToAccountMapping(var Handled: Boolean; var Found: Boolean; var BankAccLedgerEntry: Record "Bank Account Ledger Entry"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; TextToAccountMapping: Record "Text-to-Account Mapping"; BalAccountNo: Code[20])Δ BC24 (integration): Event raised when finding bank account ledger entry for text-to-account mapping.OnUpdatePaymentMatchDetailsOnAfterBankAccReconciliationLine2SetFilters(var BankAccReconciliationLine2: Record "Bank Acc. Reconciliation Line"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised after setting filters on the second bank account reconciliation line record when updating payment match details.OnCreateAppliedEntriesOnBeforeTempBankStatementMatchingBufferFindset(BankAccReconciliation: Record "Bank Acc. Reconciliation"; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; var TempBankStmtMultipleMatchLine: Record "Bank Stmt Multiple Match Line" temporary)(integration): Event raised before finding the temporary bank statement matching buffer when creating applied entries.OnBeforeCanEntriesMatch(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Amount: Decimal; EntryPostingDate: Date; ApplyEntries: Boolean; var Result: Boolean; var IsHandled: Boolean)(integration): Event raised before checking if entries can match based on specified criteria.OnApplyLedgerEntriesToStatementLinesOnAfterUpdatePaymentMatchDetails(BankAccReconciliation: Record "Bank Acc. Reconciliation"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Overwrite: Boolean)(integration): Event raised after updating payment match details when applying ledger entries to statement lines.OnMapLedgerEntriesToStatementLinesOnAfterCalcTotalTimeTimeTextMappingsPerLine(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; var TotalTimeMatchingCustomerLedgerEntriesPerLine: Duration; var TotalTimeMatchingVendorLedgerEntriesPerLine: Duration; var TotalTimeMatchingEmployeeLedgerEntriesPerLine: Duration; var TotalTimeMatchingBankLedgerEntriesPerLine: Duration; var RelatedPartyMatchedInfoText: Text; LogInfoText: Boolean; var TotalTimeStringNearness: Duration; UsePaymentDiscounts: Boolean; OneToManyTempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; var TempCustomerLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempVendorLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempEmployeeLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; var TempBankAccLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary)(integration): Event raised after calculating total time for text mappings per line when mapping ledger entries to statement lines.OnTransferDiffToAccountOnBeforeInsertBankAccReconciliationLine(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; TempGenJournalLine: Record "Gen. Journal Line" temporary)+ BC24 (integration): Event raised before inserting a bank account reconciliation line when transferring differences to an account.OnApplyRecordsOnAfterSendTraceTag(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary)+ BC24 (integration): Event raised after sending trace tag when applying records.OnFindTextMappingsOnAfterTextMapperMatched(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TextToAccountMapping: Record "Text-to-Account Mapping"; var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary)+ BC24 (integration): Event raised after text mapper has matched when finding text mappings.OnSetCustAppicationDataOnBeforeCustEntryEdit(var CustLedgerEntry: Record "Cust. Ledger Entry")+ BC25 (integration): Event raised before editing a customer ledger entry when setting customer application data.OnTransferDifference(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempGenJnlLine: Record "Gen. Journal Line" temporary; var DifferenceTransferred: Boolean)+ BC25 (integration): Event raised when transferring difference amounts to accounts during bank reconciliation.OnSetVendAppicationDataOnBeforeVendEntryEdit(var VendorLedgerEntry: Record "Vendor Ledger Entry")+ BC25 (integration): Event raised before editing a vendor ledger entry when setting vendor application data.OnBeforeShowLineSplitMessage(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var SuppressMessage: Boolean)+ BC25 (integration): Event raised before showing the line split message during bank reconciliation.
Procedures
MatchNoOverwriteOfManualOrAccepted(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"): Runs the automatic payment matching process without overwriting manual or accepted matches. This procedure preserves user decisions while applying automatic matching to unprocessed lines, ensuring that manual interventions and accepted applications are not disturbed by automation.IsTextToAccountMappig(BankAccReconciliaitonLine: Record "Bank Acc. Reconciliation Line"; var TempTextToAccMapping: Record "Text-to-Account Mapping" temporary): Boolean: Determines whether a bank statement line is mapped using text-to-account mapping rules. Checks if the line was automatically matched using predefined text patterns and retrieves the applicable mapping rules if found. Used to identify and process text-based automatic applications.IsMatchedAutomatically(BankAccReconciliaitonLine: Record "Bank Acc. Reconciliation Line"; var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"): Boolean: Determines whether a bank statement line was matched automatically based on payment application rules. Evaluates match confidence and applied entries count against configured automatic application thresholds, retrieving the specific rule that enabled automatic matching for audit and processing purpo…GetMatchPaymentDetailsInfo(BankAccReconciliaitonLine: Record "Bank Acc. Reconciliation Line"; BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; MatchedAutomatically: Boolean; var RelatedPartyMatchedText: Text; var AmountMatchText: Text; var DocumentMatchedText: Text; var DirectDebitMatchedText: Text; var DirectDebitMatched: Boolean; var NoOfLedgerEntriesWithinAmountTolerance: Integer; var NoOfLedgerEntriesOutsideAmountTolerance: Integer; var RelatedEntryAdditionalMatchInfo: Text; var DocumentNoAdditionalMatchInfo: Text): Retrieves comprehensive matching details for payment application analysis and reporting. Analyzes the bank statement line and its matching entries to provide detailed information about how the automatic payment application was performed, including related party matching, amount tolerance analysis, d…Code(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; Overwrite: Boolean): Executes the complete payment matching process for bank reconciliation lines. Maps ledger entries to statement lines using configured matching rules and optionally applies the matched entries to create payment applications. Supports selective overwriting based on the Overwrite parameter to preserve …Code(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"): Executes the complete payment matching process with default overwrite behavior. This overload calls the main Code procedure with Overwrite set to true, allowing the matching process to override existing manual and accepted matches.HideEntriesMatchedElsewhereNotification(Notification: Notification)(internal)DisableNotification(var MyNotification: Notification)(internal)OpenBankAccountCard(var MyNotification: Notification)(internal)GetNumberSeriesNotificationId(): Guid(internal): Gets the unique identifier for payment reconciliation number series notifications. Returns a fixed GUID used to identify notifications related to missing number series configuration for payment reconciliation journals.OpenLinesForReviewPage(ReviewNotification: Notification): Opens the Payment Application Review page for bank reconciliation lines requiring manual review. Extracts reconciliation data from the notification and filters lines based on the review score criteria to display only lines that need user attention for manual application decisions.OpenLinesWithDifferencePage(ReviewNotification: Notification): Opens the Payment Application Review page for bank reconciliation lines with amount differences. Extracts reconciliation data from the notification and filters lines to show only those with unresolved differences that require user review and manual resolution.GetLinesForReview(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; ReviewScoreFilter: Text): Filters bank reconciliation lines to include only those requiring manual review. Applies match quality and confidence filters to identify lines that were automatically matched but need user validation based on the specified review score criteria.GetLinesWithDifference(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"): Filters bank reconciliation lines to include only those with unresolved amount differences. Sets a filter to display lines where the difference field is not zero, indicating that the applied amount does not fully match the statement amount and requires attention.RerunTextMapper(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"): Re-executes text-to-account mapping for bank reconciliation lines that haven’t been manually accepted. This procedure reapplies text mapping rules to identify better automatic matches, particularly useful after updating mapping rules or when initial matching was incomplete. Preserves accepted and hi…TransferDiffToAccount(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempGenJournalLine: Record "Gen. Journal Line" temporary): Transfers unresolved amount differences to a specified general ledger account. Creates a new bank reconciliation line for the difference amount when the statement amount exceeds the applied amount, allowing users to account for fees, charges, or other adjustments. Splits the original line and applie…MatchSingleLineCustomer(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; AppliesToEntryNo: Integer; var NoOfLedgerEntriesWithinTolerance: Integer; var NoOfLedgerEntriesOutsideTolerance: Integer): Performs matching analysis for a single bank reconciliation line against a specific customer ledger entry. Evaluates match criteria and calculates tolerance statistics to determine match quality and rule applicability. Returns the number of potential matching entries within and outside the configure…MatchSingleLineVendor(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; AppliesToEntryNo: Integer; var NoOfLedgerEntriesWithinTolerance: Integer; var NoOfLedgerEntriesOutsideTolerance: Integer): Performs matching analysis for a single bank reconciliation line against a specific vendor ledger entry. Evaluates match criteria and calculates tolerance statistics to determine match quality and rule applicability. Returns the number of potential matching entries within and outside the configured …MatchSingleLineEmployee(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; AppliesToEntryNo: Integer; var NoOfLedgerEntriesWithinTolerance: Integer; var NoOfLedgerEntriesOutsideTolerance: Integer): Performs matching analysis for a single bank reconciliation line against a specific employee ledger entry. Evaluates match criteria and calculates tolerance statistics to determine match quality and rule applicability. Returns the number of potential matching entries within and outside the configure…MatchSingleLineBankAccountLedgerEntry(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; AppliesToEntryNo: Integer; var NoOfLedgerEntriesWithinTolerance: Integer; var NoOfLedgerEntriesOutsideTolerance: Integer): Performs matching analysis for a single bank reconciliation line against a specific bank account ledger entry. Evaluates match criteria and calculates tolerance statistics to determine match quality and rule applicability. Returns the number of potential matching entries within and outside the confi…InitializeCustomerLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary): Initializes the customer ledger entries matching buffer with default apply entries setting. This overload calls the main initialization procedure with ApplyEntries set to false, populating the buffer for matching analysis without immediate application.InitializeCustomerLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; ApplyEntries: Boolean): Initializes the customer ledger entries matching buffer with open customer transactions. Populates a temporary buffer with customer ledger entries filtered by currency, document types, and application status. Configures the buffer for payment matching against bank reconciliation lines.InitializeVendorLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary): Initializes the vendor ledger entries matching buffer with default apply entries setting. This overload calls the main initialization procedure with ApplyEntries set to false, populating the buffer for matching analysis without immediate application.InitializeVendorLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; ApplyEntries: Boolean): Initializes the vendor ledger entries matching buffer with open vendor transactions. Populates a temporary buffer with vendor ledger entries filtered by currency, document types, and application status. Configures the buffer for payment matching against bank reconciliation lines.InitializeEmployeeLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary): Initializes the employee ledger entries matching buffer with default apply entries setting. This overload calls the main initialization procedure with ApplyEntries set to false, populating the buffer for matching analysis without immediate application.InitializeEmployeeLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; ApplyEntries: Boolean): Initializes the employee ledger entries matching buffer with open employee transactions. Populates a temporary buffer with employee ledger entries filtered by currency, document types, and application status. Configures the buffer for payment matching against bank reconciliation lines.InitializeBankAccLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary): Initializes the bank account ledger entries matching buffer with default skip reversed setting. This overload calls the main initialization procedure with SkipReversed set to false, populating the buffer for matching analysis including all bank entries.InitializeBankAccLedgerEntriesMatchingBuffer(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary; SkipReversed: Boolean): Initializes the bank account ledger entries matching buffer with open bank account transactions. Populates a temporary buffer with bank account ledger entries filtered by currency and reversal status. Configures the buffer for payment matching against bank reconciliation lines for internal transfers…InitializeDirectDebitCollectionEntriesMatchingBuffer(var TempDirectDebitCollectionEntryBuffer: Record "Direct Debit Collection Buffer" temporary)− BC25FindApplicableTextMappings(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var TempTextToAccMapping: Record "Text-to-Account Mapping" temporary): Boolean: Finds and returns text-to-account mapping rules applicable to a bank reconciliation line. Analyzes the transaction text against configured mapping patterns and populates a temporary table with matching rules that can be used for automatic account assignment.DocumentMatchingForBankLedgerEntry(var BankPmtApplRule: Record "Bank Pmt. Appl. Rule"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; TempLedgerEntryMatchingBuffer: Record "Ledger Entry Matching Buffer" temporary)DocNoMatching(SearchText: Text; DocNo: Code[35]): BooleanGetExactMatchTreshold(): DecimalGetCloseMatchTreshold(): DecimalGetNormalizingFactor(): DecimalGetBankStatementMatchingBuffer(var TempBankStatementMatchingBuffer2: Record "Bank Statement Matching Buffer" temporary)GetLedgerEntriesAsMatchingBuffer(var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")GetCustomerLedgerEntriesAsMatchingBuffer(var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")GetVendorLedgerEntriesAsMatchingBuffer(var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")GetEmployeeLedgerEntriesAsMatchingBuffer(var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")GetBankLedgerEntriesAsMatchingBuffer(var TempBankStatementMatchingBuffer: Record "Bank Statement Matching Buffer" temporary; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")SetApplyEntries(NewApplyEntries: Boolean)SetApplicationDataInCVLedgEntry(AccountType: Enum "Gen. Journal Account Type"; EntryNo: Integer; AppliesToID: Code[50])
Plus 72 local procedures.
Triggers
OnRun
Relations
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 1251 “Record Match Mgt.” (5 calls:
FindBankAccLedgerEntry → CalculateStringNearness,FindBankAccLedgerEntry → Trim,GetStringNearness → CalculateStringNearness, …) - Codeunit 8703 “Feature Telemetry” (2 calls:
ApplyLedgerEntriesToStatementLines → LogUptake,ApplyLedgerEntriesToStatementLines → LogUsage) - Page 1287 “Payment Application Review” (2 calls:
OpenLinesForReviewPage → (object),OpenLinesWithDifferencePage → (object)) - Codeunit 103 “Cust. Entry-Edit” (1 call:
SetCustAppicationData → (object)) - Codeunit 113 “Vend. Entry-Edit” (1 call:
SetVendAppicationData → (object)) - Codeunit 114 “Empl. Entry-Edit” (1 call:
SetEmployeeAppicationData → (object)) - Page 1297 “Transfer Difference to Account” (1 call:
RunTransferDifferencetoAccount → (object)) - Page 370 “Bank Account Card” (1 call:
OpenBankAccountCard → (object))
Called by
- Codeunit 1295 “Get Bank Stmt. Line Candidates” (8 calls:
GetCandidateRanking → (object),GetCandidateRanking → GetBankLedgerEntriesAsMatchingBuffer,GetCandidateRanking → GetBankStatementMatchingBuffer, …) - Codeunit 1254 “Match Bank Pmt. Appl.” (4 calls:
MatchNoOverwriteOfManualOrAccepted → MatchNoOverwriteOfManualOrAccepted,MatchNoOverwriteOfManualOrAccepted → SetApplyEntries,OnRun → (object), …) - Page 1288 “Payment-to-Entry Match” (4 calls:
FetchData → MatchSingleLineBankAccountLedgerEntry,FetchData → MatchSingleLineCustomer,FetchData → MatchSingleLineEmployee, …) - Page 1286 “Payment Rec Match Details” (3 calls:
FetchData → GetMatchPaymentDetailsInfo,FetchData → IsMatchedAutomatically,FetchData → IsTextToAccountMappig) - Page 1287 “Payment Application Review” (2 calls:
OnAfterGetRecord → GetMatchPaymentDetailsInfo,OnAfterGetRecord → IsMatchedAutomatically) - Page 1290 “Payment Reconciliation Journal” (2 calls:
GetLinesForReview → GetLinesForReview,UpdateNumberSeriesNotification → GetNumberSeriesNotificationId) - Table 1293 “Payment Application Proposal” (1 call:
Apply → SetApplicationDataInCVLedgEntry)
Recent changes
- 2026-08-28 #10498 [Pmt. Recon. Journal] Optimize opening of the Payment Application screen (main, BC30, performance)
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: "codeunit", object_name: "Match Bank Payments"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.