---
id: object/table/271
type: object
title: Table 271 "Bank Account Ledger Entry"
summary: Table 271 "Bank Account Ledger Entry" in Base Application (Microsoft.Bank.Ledger). 47 fields, 9 public procedures, 3 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: e53097a33cc95df8dc1d647eb47bcf144ecf7a1cc7681c1e275a27671d85c854
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/Ledger/BankAccountLedgerEntry.Table.al
    title: src/Layers/W1/BaseApp/Bank/Ledger/BankAccountLedgerEntry.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/bank-manage-bank-accounts
    - https://learn.microsoft.com/dynamics365/business-central/bank-how-setup-bank-accounts
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/reconcile-bank-accounts
    - topic/business-central/business-functionality/general-business-functionality/exchange-data-electronically/collect-payments-with-sepa-direct-debit
    - topic/business-central/business-functionality/set-up-business-central/set-up-banking
  localizations:
    - localization/au
    - localization/ca
    - localization/es
    - localization/fr
    - localization/mx
    - localization/nz
    - localization/ru
    - localization/us
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 271
name: Bank Account Ledger Entry
namespace: Microsoft.Bank.Ledger
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - au
  - ca
  - es
  - fr
  - mx
  - nz
  - ru
  - us
ms_search_form_ids: []
counts:
  fields: 47
  procedures: 14
  events: 3
  subscribers: 0
relations:
  out: 28
  referenced_by: 22
  pages: 4
  extended_by: 0
  event_subscribers: 2
  calls: 1
  called_by: 0
  implements: 0
---

# Table 271 "Bank Account Ledger Entry"

> Table 271 "Bank Account Ledger Entry" in Base Application (Microsoft.Bank.Ledger). 47 fields, 9 public procedures, 3 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.

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

Learn documents this table through its pages: [Page 165 "Bank Acc. Ledg. Entr. Preview"](../page/165.md) (1 Learn page), [Page 372 "Bank Account Ledger Entries"](../page/372.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Bank Account Ledger Entry |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Entry No. | Integer | Specifies the number of the entry, as assigned from the specified number series when the entry was created. |  |
| 3 | Bank Account No. | Code[20] | Specifies the number of the bank account used for the entry. | TableRelation [Table 270 "Bank Account"](../table/270.md) (Bank Account) |
| 4 | Posting Date | Date | Specifies the posting date for the entry. |  |
| 5 | Document Type | Enum "Gen. Journal Document Type" | Specifies the document type on the bank account entry. The document type will be Payment, Refund, or the field will be blank. | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 6 | Document No. | Code[20] | Specifies the document number on the bank account entry. |  |
| 7 | Description | Text[100] | Specifies the description of the bank account entry. |  |
| 11 | Currency Code | Code[10] | Specifies the currency that is used on the entry. | TableRelation [Table 4 "Currency"](../table/4.md) |
| 13 | Amount | Decimal | Specifies the amount of the entry denominated in the applicable foreign currency. |  |
| 14 | Remaining Amount | Decimal | Specifies the amount that remains to be applied to. The amount is denominated in the applicable foreign currency. |  |
| 17 | Amount (LCY) | Decimal | Specifies the amount of the entry in LCY. <small>via [Page 165 "Bank Acc. Ledg. Entr. Preview"](../page/165.md)</small> |  |
| 22 | Bank Acc. Posting Group | Code[20] | — | TableRelation [Table 277 "Bank Account Posting Group"](../table/277.md) (Bank Account Posting Group) |
| 23 | Global Dimension 1 Code | Code[20] | Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company's most important activities, are available on all cards, documents, reports, and lists. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1))) |
| 24 | Global Dimension 2 Code | Code[20] | Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company's most important activities, are available on all cards, documents, reports, and lists. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2))) |
| 25 | Our Contact Code | Code[20] | Specifies the code for the employee who is responsible for the bank account. | TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md) (Salesperson/Purchaser) |
| 27 | User ID | Code[50] | Specifies the ID of the user who posted the entry, to be used, for example, in the change log. | TableRelation User."User Name"; DataClassification EndUserIdentifiableInformation |
| 28 | Source Code | Code[10] | Specifies the source code that specifies where the entry was created. | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code) |
| 36 | Open | Boolean | Specifies whether the amount on the bank account entry has been fully applied to, or if there is a remaining amount that must be applied to. |  |
| 43 | Positive | Boolean | Specifies if the bank ledger entry is positive. |  |
| 44 | Closed by Entry No. | Integer | — | TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md) (Bank Account Ledger Entry) |
| 45 | Closed at Date | Date | — |  |
| 48 | Journal Templ. Name | Code[10] | Journal Template Name <small>caption</small> |  |
| 49 | Journal Batch Name | Code[10] | — |  |
| 50 | Reason Code | Code[10] | Specifies the reason code, a supplementary source code that enables you to trace the entry. | TableRelation [Table 231 "Reason Code"](../table/231.md) (Reason Code) |
| 51 | Bal. Account Type | Enum "Gen. Journal Account Type" | Specifies the type of account that a balancing entry is posted to, such as BANK for a cash account. | enum [Enum 81 "Gen. Journal Account Type"](../enum/81.md) |
| 52 | Bal. Account No. | Code[20] | Specifies the number of the general ledger, customer, vendor, or bank account that the balancing entry is posted to, such as a cash account for cash purchases. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 18 "Customer"](../table/18.md), [Table 23 "Vendor"](../table/23.md) (if ("Bal. Account Type" = const("G/L Account")) "G/L Account" else if ("Bal. Account Type" = const(Customer)) Customer else if ("Bal. Account Type" = const(Vendor)) Vendor else if ("Bal. Account Type" = const("Bank Account")) "Bank Account" else if ("Bal. Account Type" = const("Fixed Asset")) "Fixed...) |
| 53 | Transaction No. | Integer | — |  |
| 55 | Statement Status | Option | Specifies the statement status of the bank account ledger entry. | OptionCaption: Open,Bank Acc. Entry Applied,Check Entry Applied,Closed |
| 56 | Statement No. | Code[20] | Specifies the bank account statement that the ledger entry has been applied to, if the Statement Status is Bank Account Ledger Applied. | TableRelation [Table 274 "Bank Acc. Reconciliation Line"](../table/274.md) ("Bank Acc. Reconciliation Line"."Statement No." where("Bank Account No." = field("Bank Account No."))) |
| 57 | Statement Line No. | Integer | Specifies the number of the statement line that has been applied to by this ledger entry line. | TableRelation [Table 274 "Bank Acc. Reconciliation Line"](../table/274.md) ("Bank Acc. Reconciliation Line"."Statement Line No." where("Bank Account No." = field("Bank Account No."), "Statement No." = field("Statement No."))) |
| 58 | Debit Amount | Decimal | Specifies the total of the ledger entries that represent debits. |  |
| 59 | Credit Amount | Decimal | Specifies the total of the ledger entries that represent credits. |  |
| 60 | Debit Amount (LCY) | Decimal | Specifies the total of the ledger entries that represent debits, expressed in LCY. <small>via [Page 165 "Bank Acc. Ledg. Entr. Preview"](../page/165.md)</small> |  |
| 61 | Credit Amount (LCY) | Decimal | Specifies the total of the ledger entries that represent credits, expressed in LCY. <small>via [Page 165 "Bank Acc. Ledg. Entr. Preview"](../page/165.md)</small> |  |
| 62 | Document Date | Date | — |  |
| 63 | External Document No. | Code[35] | Specifies a document number that refers to the customer's or vendor's numbering system. |  |
| 64 | Reversed | Boolean | Specifies if the entry has been part of a reverse transaction. |  |
| 65 | Reversed by Entry No. | Integer | Specifies the number of the correcting entry that replaced the original entry in the reverse transaction. | TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md) (Bank Account Ledger Entry) |
| 66 | Reversed Entry No. | Integer | Specifies the number of the original entry that was undone by the reverse transaction. | TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md) (Bank Account Ledger Entry) |
| 67 | Statement Date | Date | — | FlowField: lookup("Bank Acc. Reconciliation"."Statement Date" where("Statement No." = field("Statement No."), "Bank Account No." = field("Bank Account No."))) |
| 70 | Check Ledger Entries | Integer | Specifies the check ledger entries that are associated with the bank account ledger entry. | FlowField: count("Check Ledger Entry" where("Bank Account Ledger Entry No." = field("Entry No."))) |
| 480 | Dimension Set ID | Integer | Specifies a reference to a combination of dimension values. The actual values are stored in the Dimension Set Entry table. | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 481 | Shortcut Dimension 3 Code | Code[20] | Specifies the code for Shortcut Dimension 3, which is one of dimension codes that you set up in the General Ledger Setup window. | FlowField: lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(3))); not editable |
| 482 | Shortcut Dimension 4 Code | Code[20] | Specifies the code for Shortcut Dimension 4, which is one of dimension codes that you set up in the General Ledger Setup window. | FlowField: lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(4))); not editable |
| 483 | Shortcut Dimension 5 Code | Code[20] | Specifies the code for Shortcut Dimension 5, which is one of dimension codes that you set up in the General Ledger Setup window. | FlowField: lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(5))); not editable |
| 484 | Shortcut Dimension 6 Code | Code[20] | Specifies the code for Shortcut Dimension 6, which is one of dimension codes that you set up in the General Ledger Setup window. | FlowField: lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(6))); not editable |
| 485 | Shortcut Dimension 7 Code | Code[20] | Specifies the code for Shortcut Dimension 7, which is one of dimension codes that you set up in the General Ledger Setup window. | FlowField: lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(7))); not editable |
| 486 | Shortcut Dimension 8 Code | Code[20] | Specifies the code for Shortcut Dimension 8, which is one of dimension codes that you set up in the General Ledger Setup window. | FlowField: lookup("Dimension Set Entry"."Dimension Value Code" where("Dimension Set ID" = field("Dimension Set ID"), "Global Dimension No." = const(8))); not editable |

## Keys

- Key1: Entry No. (clustered)
- Key2: Bank Account No., Posting Date
- Key3: Bank Account No., Open, Posting Date, Statement No., Statement Status, Statement Line No.
- Key4: Document Type, Bank Account No., Posting Date
- Key5: Document No., Posting Date
- Key6: Transaction No.
- Key7: Bank Account No., Global Dimension 1 Code, Global Dimension 2 Code, Posting Date
- key8: Statement No., Statement Line No.
- Key13: Bank Account No., Posting Date, Statement No., Closed at Date, Statement Status, Reversed, Open

## Events published

- `OnAfterCopyFromGenJnlLine(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; GenJournalLine: Record "Gen. Journal Line")` (integration): Integration event raised after copying field values from a general journal line. Allows subscribers to customize or extend the field transfer process.
- `OnAfterUpdateDebitCredit(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; Correction: Boolean)` (integration): Integration event raised after updating debit and credit amount fields. Allows subscribers to customize debit/credit calculation logic or add additional processing.
- `OnAfterSetBankReconciliationCandidatesFilter(var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")` (integration): Integration event raised after setting filters for bank reconciliation candidates. Allows subscribers to modify or extend the filtering criteria for reconciliation matching.

## Trigger event subscribers

- OnAfterInsertEvent: [Codeunit 20 "Posting Preview Event Handler"](../codeunit/20.md) OnInsertBankAccountLedgerEntry
- OnAfterModifyEvent: [Codeunit 20 "Posting Preview Event Handler"](../codeunit/20.md) OnModifyBankAccountLedgerEntry

## Procedures

- `ShowDimensions()`: Opens the dimension management page to display dimensions associated with this entry.
- `CopyFromGenJnlLine(GenJnlLine: Record "Gen. Journal Line")`: Copies field values from a general journal line to populate this bank account ledger entry. Transfers standard fields and dimensions, then raises integration event for customization.
- `UpdateDebitCredit(Correction: Boolean)`: Updates the debit and credit amount fields based on the transaction amount and correction flag. Positive amounts become debits, negative amounts become credits, with correction logic applied.
- `GetAppliedStatementNo(): Code[20]`: Retrieves the statement number associated with this entry if it has been applied to a bank statement. Checks for applied check entries or direct bank account entry application status.
- `IsApplied(): Boolean`: Determines whether this bank account ledger entry has been applied to a bank statement.
- `SetStyle(): Text`: Determines the visual style to apply to this entry in list displays. Applied entries receive favorable styling to indicate their reconciled status.
- `SetFilterBankAccNoOpen(BankAccNo: Code[20])`: Applies filters to show only open entries for a specific bank account. Resets all existing filters and sets up optimized key and filtering for open entry retrieval.
- `CopyFromBankAccLedgerEntry(BankAccountLedgerEntry: Record "Bank Account Ledger Entry"; StatementNo: Code[20])`: Creates a new bank account ledger entry by copying key fields from an existing entry. Used for creating related entries with specific statement association during reconciliation processes.
- `SetBankReconciliationCandidatesFilter(BankAccReconciliation: Record "Bank Acc. Reconciliation")`: Sets filters on the record to find potential candidates for bank reconciliation matching. Filters for open, non-reversed entries with remaining amounts within the reconciliation date range.

Plus 2 local procedures.

## Triggers

OnInsert

## Relations

- drill-down page [Page 372 "Bank Account Ledger Entries"](../page/372.md)
- lookup page [Page 372 "Bank Account Ledger Entries"](../page/372.md)
- Our Contact Code: TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md)
- Bal. Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- Bal. Account No.: TableRelation [Table 18 "Customer"](../table/18.md) (conditional)
- Bal. Account No.: TableRelation [Table 23 "Vendor"](../table/23.md) (conditional)
- Source Code: TableRelation [Table 230 "Source Code"](../table/230.md)
- Reason Code: TableRelation [Table 231 "Reason Code"](../table/231.md)
- Bal. Account No.: TableRelation [Table 270 "Bank Account"](../table/270.md) (conditional)
- Bank Account No.: TableRelation [Table 270 "Bank Account"](../table/270.md)
- Closed by Entry No.: TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md)
- Reversed by Entry No.: TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md)
- Reversed Entry No.: TableRelation [Table 271 "Bank Account Ledger Entry"](../table/271.md)
- Check Ledger Entries: CalcFormula [Table 272 "Check Ledger Entry"](../table/272.md)
- Statement Date: CalcFormula [Table 273 "Bank Acc. Reconciliation"](../table/273.md)
- Statement Line No.: TableRelation [Table 274 "Bank Acc. Reconciliation Line"](../table/274.md)
- Statement No.: TableRelation [Table 274 "Bank Acc. Reconciliation Line"](../table/274.md)
- Bank Acc. Posting Group: TableRelation [Table 277 "Bank Account Posting Group"](../table/277.md)
- Global Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Global Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Shortcut Dimension 3 Code: CalcFormula [Table 480 "Dimension Set Entry"](../table/480.md)
- Shortcut Dimension 4 Code: CalcFormula [Table 480 "Dimension Set Entry"](../table/480.md)
- Shortcut Dimension 5 Code: CalcFormula [Table 480 "Dimension Set Entry"](../table/480.md)
- Shortcut Dimension 6 Code: CalcFormula [Table 480 "Dimension Set Entry"](../table/480.md)
- Shortcut Dimension 7 Code: CalcFormula [Table 480 "Dimension Set Entry"](../table/480.md)
- Shortcut Dimension 8 Code: CalcFormula [Table 480 "Dimension Set Entry"](../table/480.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)

## Referenced by

22 fields in 7 objects relate to this table (TableRelation or CalcFormula).

- [Table 270 "Bank Account"](../table/270.md): Balance, Balance (LCY), Balance at Date, Balance at Date (LCY), Credit Amount, Credit Amount (LCY), Debit Amount, Debit Amount (LCY), Net Change, Net Change (LCY)
- [Table 273 "Bank Acc. Reconciliation"](../table/273.md): Bank Account Balance (LCY), Total Balance on Bank Account, Total Outstd Bank Transactions, Total Outstd Payments
- [Table 271 "Bank Account Ledger Entry"](../table/271.md): Closed by Entry No., Reversed by Entry No., Reversed Entry No.
- [Table 1692 "Posted Bank Deposit Line"](../table/1692.md): Bank Account Ledger Entry No., Entry No.
- [Table 179 "Reversal Entry"](../table/179.md): Entry No.
- [Table 272 "Check Ledger Entry"](../table/272.md): Bank Account Ledger Entry No.
- [Table 7250 "Bank Acc. Rec. AI Proposal"](../table/7250.md): Bank Account Ledger Entry No.

## Pages and codeunits on this table

- [Page 165 "Bank Acc. Ledg. Entr. Preview"](../page/165.md) (source table)
- [Page 372 "Bank Account Ledger Entries"](../page/372.md) (source table)
- [Page 381 "Apply Bank Acc. Ledger Entries"](../page/381.md) (source table)
- [Page 413 "Applied Bank Acc. Ledger Entry"](../page/413.md) (source table)

## 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 408 "DimensionManagement"](../codeunit/408.md) (1 call: `ShowDimensions → ShowDimensionSet`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26-28

## Countries that replace it

[AU](../../localizations/au.md), [CA](../../localizations/ca.md), [ES](../../localizations/es.md), [FR](../../localizations/fr.md), [MX](../../localizations/mx.md), [NZ](../../localizations/nz.md), [RU](../../localizations/ru.md), [US](../../localizations/us.md)

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: "table", object_name: "Bank Account Ledger Entry")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
