Codeunit 370 "Bank Acc. Reconciliation Post"
Base Application · Microsoft.Bank.Reconciliation
Across versions
- BC23present
- BC241 events added
- BC252 events added, 1 procedures added
- BC26-28unchanged
- BC291 events added
- BC30unchanged
Neighbourhood 21 connected objects and pages
Base Application · Microsoft.Bank.Reconciliation · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Bank Acc. Reconciliation |
| Permissions | TableData “Bank Account Ledger Entry” = rm, TableData “Check Ledger Entry” = rm, TableData “Bank Account” = rm, TableData “Bank Account Statement” = ri, TableData “Bank Account Statement Line” = ri, TableData “Posted Payment Recon. Hdr” = ri |
Events published
OnBeforeAppliedAmountCheck(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var AppliedAmount: Decimal)(integration): Event raised before checking the applied amount for a bank account reconciliation line.OnBeforeBankAccStmtInsert(var BankAccStatement: Record "Bank Account Statement"; BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised before inserting a bank account statement record during posting.OnBeforeCloseBankAccLedgEntry(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var AppliedAmount: Decimal; var IsHandled: Boolean)(integration): Event raised before closing a bank account ledger entry during reconciliation posting.OnBeforeFinalizePost(var BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised before finalizing the posting process for a bank account reconciliation.OnBeforeDeleteRelatedRecords(BankAccReconciliation: Record "Bank Acc. Reconciliation"; var IsHandled: Boolean)+ BC25 (integration): Event raised before deleting related records during bank account reconciliation posting.OnBeforePostPaymentApplications(BankAccReconLine: Record "Bank Acc. Reconciliation Line"; var AppliedAmount: Decimal; var IsHandled: Boolean)(integration): Event raised before posting payment applications for a bank account reconciliation line.OnAfterFinalizePost(var BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised after finalizing the posting process for a bank account reconciliation.- subscribers: Codeunit 1351 “Telemetry Subscribers” LogTelemetryOnBankAccRecPostOnAfterFinalizePost
OnBeforeInitPost(var BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised before initializing the posting process for a bank account reconciliation.OnBeforePost(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised before posting a bank account reconciliation.OnBeforePostedPmtReconInsert(var PostedPaymentReconHdr: Record "Posted Payment Recon. Hdr"; BankAccReconciliation: Record "Bank Acc. Reconciliation")(integration): Event raised before inserting a posted payment reconciliation header record.OnBeforeTransferToPostPmtAppln(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; var IsHandled: Boolean)(integration): Event raised before transferring to posted payment application during reconciliation posting.OnBeforeTransferToBankStmt(var BankAccRecon: Record "Bank Acc. Reconciliation"; PrePostingOutstdPayments: Decimal; PrePostingOutstdBankTransactions: Decimal; PrePostingGLBalance: Decimal; PrePostingTotalPositiveDifference: Decimal; PrePostingTotalNegativeDifference: Decimal; var IsHandled: Boolean)+ BC25 − BC25 (integration): Event raised before transferring to bank statement during reconciliation posting.OnCheckLinesMatchEndingBalanceOnAfterCalcSums(var BankAccReconLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised after calculating sums when checking if lines match ending balance.OnCloseBankAccLedgEntryOnBeforeBankAccLedgEntryModify(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised before modifying bank account ledger entry when closing bank account ledger entry.OnCloseBankAccLedgEntryOnBeforeCheckLedgEntryModify(var CheckLedgerEntry: Record "Check Ledger Entry"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised before modifying check ledger entry when closing bank account ledger entry.OnCloseBankAccLedgEntryOnAfterBankAccLedgEntrySetFilters(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised after setting filters on bank account ledger entry when closing bank account ledger entry.OnBeforeHandlePaymentApplicationTransfer(var BankAccRecon: Record "Bank Acc. Reconciliation"; var IsHandled: Boolean)(integration): Event raised before handling payment application transfer during reconciliation posting.OnPostPaymentApplicationsOnAfterInitGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var IsApplied: Boolean; var AppliedAmount: Decimal; var PaymentLineAmount: Decimal; var IsHandled: Boolean)(integration): Event raised after initializing the general journal line when posting payment applications.OnPostPaymentApplicationsOnAfterPostGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")(integration): Event raised after posting a general journal line during payment application posting.- subscribers: Codeunit 6786 “Withholding Tax Jnl Subscriber” OnPostPaymentApplicationsOnAfterPostGenJnlLine
OnPostPaymentApplicationsOnAfterBankAccountLedgerEntrySetFilters(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; GenJournalLine: Record "Gen. Journal Line")(integration): Event raised after setting filters on bank account ledger entry during payment application posting.OnPostPaymentApplicationsOnAfterTransactionPostedAndReconciledCheck(BankAccReconLine: Record "Bank Acc. Reconciliation Line"; var AppliedAmount: Decimal; SourceCode: Code[10])(integration): Event raised after checking that transaction is posted and reconciled during payment application posting.OnPostPaymentApplicationsOnBeforeValidateApplyRequirements(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var GenJournalLine: Record "Gen. Journal Line"; AppliedAmount: Decimal)(integration): Event raised before validating apply requirements during payment application posting.- subscribers: Codeunit 6786 “Withholding Tax Jnl Subscriber” OnPostPaymentApplicationsOnBeforeValidateApplyRequirements
OnPostPaymentApplicationsOnAccountTypeCaseElse(var AppliedPaymentEntry: Record "Applied Payment Entry"; var GenJournalLine: Record "Gen. Journal Line")(integration): Event raised for account type case handling not covered by standard customer, vendor, or employee types.OnPostAfterFilterBankAccRecLines(var BankAccReconLines: Record "Bank Acc. Reconciliation Line"; BankAccRecon: Record "Bank Acc. Reconciliation")(integration): Event raised after filtering bank account reconciliation lines during posting.OnTransferToBankStmtOnBeforeBankAccStmtLineInsert(var BankAccStmtLine: Record "Bank Account Statement Line"; BankAccReconLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised before inserting bank account statement line when transferring to bank statement.OnBeforeUpdateBank(var BankAccRecon: Record "Bank Acc. Reconciliation"; var BankAccount: Record "Bank Account"; var IsHandled: Boolean; Amt: Decimal; PostedStamentNo: Code[20])+ BC24 (integration): Event raised before updating the bank account during reconciliation posting.OnTransferToPostPmtApplnOnBeforePostedPmtReconLineInsert(var PostedPmtReconLine: Record "Posted Payment Recon. Line"; BankAccReconLine: Record "Bank Acc. Reconciliation Line")(integration): Event raised before inserting posted payment reconciliation line when transferring to posted payment application.OnBeforeApplyCustLedgEntry(var CustLedgerEntry: Record "Cust. Ledger Entry"; AppliedPaymentEntry: Record "Applied Payment Entry"; var BankAccount: Record "Bank Account"; AppliesToID: Code[50]; PostingDate: Date; PmtDiscDueDate: Date; PmtDiscToleranceDate: Date; RemPmtDiscPossible: Decimal; var IsHandled: Boolean)(integration): Event raised before applying a customer ledger entry during bank reconciliation posting.OnBeforeApplyVendLedgEntry(var VendLedgerEntry: Record "Vendor Ledger Entry"; AppliedPaymentEntry: Record "Applied Payment Entry"; var BankAccount: Record "Bank Account"; AppliesToID: Code[50]; PostingDate: Date; PmtDiscDueDate: Date; PmtDiscToleranceDate: Date; RemPmtDiscPossible: Decimal; var ApplyVendLedgEntryHandled: Boolean)+ BC29 (integration): Event raised before applying a vendor ledger entry during bank reconciliation posting.
Event subscriptions
- OnRunPreview subscribes to Codeunit “Bank. Acc. Recon. Post Preview” OnRunPreview
Procedures
RunPreview(var BankAccReconciliation: Record "Bank Acc. Reconciliation"): Boolean: Runs the posting process in preview mode to validate transactions before final posting. Enables users to review the impact of posting without committing changes to the database, providing validation of applied amounts, account assignments, and posting calculations.ApplyCustLedgEntry(AppliedPmtEntry: Record "Applied Payment Entry"; AppliesToID: Code[50]; PostingDate: Date; PmtDiscDueDate: Date; PmtDiscToleranceDate: Date; RemPmtDiscPossible: Decimal): Applies a payment entry to a customer ledger entry during bank reconciliation posting. Updates the customer ledger entry with payment application details including discount dates, tolerance calculations, and application amounts. Handles currency exchange rate calculations for foreign currency transa…ApplyVendLedgEntry(AppliedPmtEntry: Record "Applied Payment Entry"; AppliesToID: Code[50]; PostingDate: Date; PmtDiscDueDate: Date; PmtDiscToleranceDate: Date; RemPmtDiscPossible: Decimal): Applies a payment entry to a vendor ledger entry during bank reconciliation posting. Updates the vendor ledger entry with payment application details including discount dates, tolerance calculations, and application amounts. Handles currency exchange rate calculations for foreign currency transactio…ApplyEmployeeLedgEntry(AppliedPmtEntry: Record "Applied Payment Entry"; AppliesToID: Code[50]; PostingDate: Date; PmtDiscDueDate: Date; PmtDiscToleranceDate: Date; RemPmtDiscPossible: Decimal)Preview(var BankAccReconciliationSource: Record "Bank Acc. Reconciliation")
Plus 23 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 380 “Bank Acc. Recon. Test” (5 calls:
StoreFieldsPrePosting → GetGLAccountBalanceLCY,StoreFieldsPrePosting → TotalNegativeDifference,StoreFieldsPrePosting → TotalOutstandingBankTransactions, …) - Codeunit 103 “Cust. Entry-Edit” (2 calls:
ApplyCustLedgEntry → (object),CustEntryEditNoCommit → (object)) - Codeunit 113 “Vend. Entry-Edit” (2 calls:
ApplyVendLedgEntry → (object),VendEntryEditNoCommit → (object)) - Codeunit 114 “Empl. Entry-Edit” (2 calls:
ApplyEmployeeLedgEntry → (object),EmplEntryEditNoCommit → (object)) - Codeunit 8703 “Feature Telemetry” (2 calls:
Post → LogUptake,Post → LogUsage) - Codeunit 10 “Type Helper” (1 call:
TransferToPostPmtAppln → GetFieldLength) - Codeunit 12 “Gen. Jnl.-Post Line” (1 call:
PostPaymentApplications → RunWithCheck) - Codeunit 27 “Confirm Management” (1 call:
PostPaymentApplications → GetResponseOrDefault) - Codeunit 373 “Bank. Acc. Recon. Post Preview” (1 call:
Preview → Preview) - Codeunit 408 “DimensionManagement” (1 call:
PostPaymentApplications → UpdateGlobalDimFromDimSetID) - Codeunit 410 “Update Analysis View” (1 call:
FinalizePost → UpdateAll) - Page 417 “Post Pmts and Rec. Bank Acc.” (1 call:
InitPost → (object))
Called by
- Table 1293 “Payment Application Proposal” (2 calls:
UpdateLedgEntryDisc → ApplyCustLedgEntry,UpdateLedgEntryDisc → ApplyVendLedgEntry) - Codeunit 371 “Bank Acc. Recon. Post (Yes/No)” (1 call:
BankAccReconPostYesNo → (object)) - Codeunit 372 “Bank Acc. Recon. Post+Print” (1 call:
OnRun → (object)) - Page 7250 “Bank Acc. Rec. AI Proposal” (1 call:
OnQueryClosePage → (object)) - Page 7252 “Trans. To GL Acc. AI Proposal” (1 call:
OnQueryClosePage → (object)) - Table 273 “Bank Acc. Reconciliation” (1 call:
ProcessStatement → (object))
Recent changes
- 2026-07-29 #9673 Bug 643235: Payment Reconciliation Journal does not round imported bank fee amounts (main, BC30, fix)
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: "codeunit", object_name: "Bank Acc. Reconciliation Post"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.