---
id: object/codeunit/1248
type: object
title: Codeunit 1248 "Process Bank Acc. Rec Lines"
summary: Codeunit 1248 "Process Bank Acc. Rec Lines" in Base Application (Microsoft.Bank.Reconciliation). 6 public procedures, 3 events, 2 event subscribers. Present since at least BC23, still in BC30, changed in BC25.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "25"
  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: 3fb42e2fc96e6c54771911f38081afef1528233ce6f2fe95608554d4398416b0
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/Reconciliation/ProcessBankAccRecLines.Codeunit.al
    title: src/Layers/W1/BaseApp/Bank/Reconciliation/ProcessBankAccRecLines.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: 1248
name: Process Bank Acc. Rec Lines
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:
  - "25"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 15
  events: 3
  subscribers: 2
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 1
  implements: 0
---

# Codeunit 1248 "Process Bank Acc. Rec Lines"

> Codeunit 1248 "Process Bank Acc. Rec Lines" in Base Application (Microsoft.Bank.Reconciliation). 6 public procedures, 3 events, 2 event subscribers. Present since at least BC23, still in BC30, changed in BC25.

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

## Properties

| Property | Value |
|---|---|
| TableNo | Bank Acc. Reconciliation Line |
| Permissions | TableData "Data Exch." = rimd |

## Events published

- `OnLogTelemetryAfterImportBankStatement(var BankAccReconciliation: Record "Bank Acc. Reconciliation"; NumberOfLinesImported: Integer)` (integration)
- `OnAfterImportBankStatement(BankAccReconciliationLine: Record "Bank Acc. Reconciliation Line"; DataExch: Record "Data Exch.")` (integration)
- `OnBeforePrepareDataExch(BankAccRecon: Record "Bank Acc. Reconciliation"; var DataExch: Record "Data Exch."; var DataExchDef: Record "Data Exch. Def"; var IsHandled: Boolean)` (integration)

## Event subscriptions

- HandleOnInvalidHeaderSetErrorMessage subscribes to XmlPort "Data Exch. Import - CSV" OnInvalidHeaderSetErrorMessage
- HandleOnNoLinesFoundSetErrorMessage subscribes to XmlPort "Data Exch. Import - CSV" OnNoLinesFoundSetErrorMessage

## Procedures

- `ImportBankStatement(BankAccRecon: Record "Bank Acc. Reconciliation"; DataExch: Record "Data Exch."): Boolean`: Imports bank statement data into a bank account reconciliation document. Processes imported data through the data exchange framework, creating reconciliation lines with proper field mapping and validation. Handles both bank reconciliation and payment application statement types with progress trackin...
- `CreateBankAccRecLineTemplate(var BankAccReconLine: Record "Bank Acc. Reconciliation Line"; BankAccRecon: Record "Bank Acc. Reconciliation"; DataExch: Record "Data Exch.")`
- `InsertNonReconciledOrImportedLines(var TempBankAccReconLine: Record "Bank Acc. Reconciliation Line" temporary; StatementLineNoOffset: Integer)`
- `InsertNonReconciledOrImportedLines(var TempBankAccReconLine: Record "Bank Acc. Reconciliation Line" temporary; StatementLineNoOffset: Integer; var NumberOfLinesImported: Integer)`
- `GetLastStatementLineNo(BankAccRecon: Record "Bank Acc. Reconciliation"): Integer`
- `SetBankAccountNo(NewValue: Code[20])` (internal)

Plus 4 local procedures.

## Triggers

OnRun

## Relations

- runs on [Table 274 "Bank Acc. Reconciliation Line"](../table/274.md)

## 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 1201 "Process Data Exch."](../codeunit/1201.md) (1 call: `OnRun → ProcessAllLinesColumnMapping`)
- [Codeunit 8703 "Feature Telemetry"](../codeunit/8703.md) (1 call: `ImportBankStatement → LogUptake`)

## Called by

- [Table 273 "Bank Acc. Reconciliation"](../table/273.md) (3 calls: `ImportBankStatement → ImportBankStatement`, `ImportBankStatement → SetBankAccountNo`, `ImportStatement → ImportBankStatement`)

## Across versions

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

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: "Process Bank Acc. Rec Lines")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
