---
id: object/codeunit/375
type: object
title: Codeunit 375 "Bank Acc. Entry Set Recon.-No."
summary: Codeunit 375 "Bank Acc. Entry Set Recon.-No." in Base Application (Microsoft.Bank.Reconciliation). 7 public procedures, 7 events. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: bc3ce0c5a03403e9a3555489d2e2471a2465e7c8c98bbd5855f04edbd757bdc5
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/Reconciliation/BankAccEntrySetReconNo.Codeunit.al
    title: src/Layers/W1/BaseApp/Bank/Reconciliation/BankAccEntrySetReconNo.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 375
name: Bank Acc. Entry Set Recon.-No.
namespace: Microsoft.Bank.Reconciliation
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 18
  events: 7
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 3
  implements: 0
---

# Codeunit 375 "Bank Acc. Entry Set Recon.-No."

> Codeunit 375 "Bank Acc. Entry Set Recon.-No." in Base Application (Microsoft.Bank.Reconciliation). 7 public procedures, 7 events. Present since at least BC23, still in BC30.

Base Application · Microsoft.Bank.Reconciliation · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/Reconciliation/BankAccEntrySetReconNo.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Permissions | TableData "Bank Account Ledger Entry" = rm, TableData "Check Ledger Entry" = rm |

## Events published

- `OnBeforeApplyEntries(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; var Relation: Option "One-to-One","One-to-Many")` (integration): Integration event raised before applying bank reconciliation entries to ledger entries. Allows subscribers to perform custom validation or modifications before the application process begins.
- `OnAfterApplyEntries(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; var Relation: Option "One-to-One","One-to-Many")` (integration): Integration event raised after successfully applying bank reconciliation entries to ledger entries. Allows subscribers to perform post-application processing, logging, or additional updates.
- `OnBeforeModifyBankAccReconLine(var BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line")` (integration): Integration event raised before modifying a bank reconciliation line. Allows subscribers to perform custom validation or field updates before the line is saved.
- `OnBeforeRemoveApplication(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised before removing an application from a bank account ledger entry. Allows subscribers to perform custom validation or pre-processing before application removal.
- `OnAfterRemoveApplication(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised after successfully removing an application from a bank account ledger entry. Allows subscribers to perform post-removal processing, cleanup, or additional updates.
- `OnAfterSetReconNo(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised after successfully setting a reconciliation number on a bank account ledger entry. Allows subscribers to perform post-assignment processing, notifications, or additional updates.
- `OnAfterRemoveReconNo(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; Test: Boolean)` (integration): Integration event raised after successfully removing a reconciliation number from a bank account ledger entry. Allows subscribers to perform post-removal processing, auditing, or cleanup operations.

## Procedures

- `ApplyEntries(var BankAccReconLine: Record "Bank Acc. Reconciliation Line"; var BankAccLedgEntry: Record "Bank Account Ledger Entry"; Relation: Option "One-to-One","One-to-Many","Many-to-One"): Boolean`: Applies bank reconciliation lines to bank account ledger entries with the specified relationship type. Manages the matching process for different reconciliation scenarios including one-to-one, one-to-many, and many-to-one relationships. Updates applied amounts, reconciliation numbers, and maintains ...
- `SetLineCount(NewLineCount: Integer)`: Sets the line count for tracking purposes during the reconciliation process. Used internally to maintain counters for multi-line reconciliation operations.
- `SetLineNumber(NewLineNumber: Integer)` (internal): Sets the line number for internal tracking during reconciliation operations. Used to maintain state information for complex matching scenarios.
- `SetAppliedAmount(NewAppliedAmount: Integer)` (internal): Sets the applied amount for tracking during reconciliation operations. Maintains running totals of amounts applied in multi-entry matching scenarios.
- `RemoveApplication(var BankAccLedgEntry: Record "Bank Account Ledger Entry")`: Removes applications for bank account ledger entries that participate in many-to-one matching relationships. Handles the cleanup of multiple bank reconciliation lines that were matched to a single ledger entry, updating applied amounts, entry counts, and removing associated payment matching details.
- `SetReconNo(var BankAccLedgEntry: Record "Bank Account Ledger Entry"; var BankAccReconLine: Record "Bank Acc. Reconciliation Line")`: Assigns reconciliation statement numbers to bank account and check ledger entries. Validates entry states, handles corrupt statement statuses, and updates both bank account and associated check ledger entries with statement information for proper reconciliation tracking.
- `RemoveReconNo(var BankAccLedgEntry: Record "Bank Account Ledger Entry"; var BankAccReconLine: Record "Bank Acc. Reconciliation Line"; Test: Boolean)`: Removes reconciliation statement numbers from bank account and check ledger entries. Clears statement status, statement numbers, and line numbers from both bank account and associated check ledger entries to revert them to an open, unreconciled state.

Plus 4 local procedures.

## Triggers

OnRun

## Called by

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 1252 "Match Bank Rec. Lines"](../codeunit/1252.md) (11 calls: `PerformManyToOneMatch → ApplyEntries`, `PerformManyToOneMatch → RemoveApplication`, `PerformManyToOneMatch → SetLineCount`, …)
- [Report 1496 "Suggest Bank Acc. Recon. Lines"](../report/1496.md) (1 call: `MatchBLEToBankAccReconciliationLine → SetReconNo`)
- [Table 274 "Bank Acc. Reconciliation Line"](../table/274.md) (1 call: `RemoveApplication → RemoveReconNo`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

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. Entry Set Recon.-No.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
