---
id: object/table/11401-nl
type: object
title: Table 11401 "CBG Statement Line" (NL)
summary: Table 11401 "CBG Statement Line" (NL) in the NL country layer (Microsoft.Bank.Statement). 38 fields, 27 public procedures, 35 events. Introduced in BC28, still in BC30.
tier: official
language: en
tags:
  - table
  - nl layer
versions:
  introduced: "28"
  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: 9bede352252ecace3661cbc255bdd6ab01ec1dd686546c5c61382fe2dae62db0
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/NL/BaseApp/Local/Bank/Statement/CBGStatementLine.Table.al
    title: src/Layers/NL/BaseApp/Local/Bank/Statement/CBGStatementLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/nl
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 11401
name: CBG Statement Line
namespace: Microsoft.Bank.Statement
app: Base Application
extends: null
first_version: "28"
last_version: "30"
present_in:
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
country: NL
counts:
  fields: 38
  procedures: 80
  events: 35
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
---

# Table 11401 "CBG Statement Line" (NL)

> Table 11401 "CBG Statement Line" (NL) in the NL country layer (Microsoft.Bank.Statement). 38 fields, 27 public procedures, 35 events. Introduced in BC28, still in BC30.

NL country layer · Microsoft.Bank.Statement · BC28-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/NL/BaseApp/Local/Bank/Statement/CBGStatementLine.Table.al) · facts from BC29

An object of the [NL localization](../../localizations/nl.md), not part of W1.

## Properties

| Property | Value |
|---|---|
| Caption | CBG Statement Line |
| DataClassification | CustomerContent |
| Permissions | TableData "Cust. Ledger Entry" = rm, TableData "Vendor Ledger Entry" = rm, TableData "Employee Ledger Entry" = rimd, TableData "Data Exch. Field" = rimd |

## 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 | Journal Template Name | Code[10] | — | TableRelation "Gen. Journal Template".Name |
| 2 | No. | Integer | — | TableRelation "CBG Statement"."No." where("Journal Template Name" = field("Journal Template Name")); NotBlank |
| 3 | Line No. | Integer | — |  |
| 6 | Document No. | Code[20] | — |  |
| 7 | No. Series | Code[20] | — |  |
| 8 | Statement Type | Option | — | OptionCaption: G/L Account,Bank Account; not editable |
| 9 | Statement No. | Code[20] | — | TableRelation if ("Statement Type" = const("G/L Account")) "G/L Account"."No." else if ("Statement Type" = const("Bank Account")) "Bank Account"."No."; not editable |
| 10 | Date | Date | — |  |
| 12 | Account Type | Enum "CBG Statement Line Account Type" | — | enum CBG Statement Line Account Type |
| 13 | Account No. | Code[20] | — | TableRelation if ("Account Type" = const("G/L Account")) "G/L Account"."No." where("Account Type" = const(Posting), Blocked = const(false), "Direct Posting" = const(true)) else if ("Account Type" = const(Customer)) Customer."No." else if ("Account Type" = const(Vendor)) Vendor."No." else if ("Account Type" = cons... |
| 14 | Description | Text[100] | — |  |
| 15 | Debit | Decimal | — |  |
| 16 | Credit | Decimal | — |  |
| 17 | Applies-to Doc. Type | Enum "Gen. Journal Document Type" | — | enum [Enum 6 "Gen. Journal Document Type"](../enum/6.md) |
| 18 | Applies-to Doc. No. | Code[20] | — |  |
| 19 | Correction | Boolean | — |  |
| 20 | Amount | Decimal | — |  |
| 21 | Applies-to ID | Code[50] | — |  |
| 26 | Salespers./Purch. Code | Code[20] | — | TableRelation Salesperson/Purchaser |
| 30 | Amount incl. VAT | Boolean | — |  |
| 31 | VAT Bus. Posting Group | Code[20] | — | TableRelation VAT Business Posting Group |
| 32 | VAT Prod. Posting Group | Code[20] | — | TableRelation VAT Product Posting Group |
| 33 | VAT % | Decimal | — | not editable |
| 35 | VAT Type | Option | — | OptionCaption: ,Purchase,Sale |
| 36 | Debit Incl. VAT | Decimal | — | not editable |
| 37 | Credit Incl. VAT | Decimal | — |  |
| 38 | Debit VAT | Decimal | — |  |
| 39 | Credit VAT | Decimal | — |  |
| 40 | Shortcut Dimension 1 Code | Code[20] | — | TableRelation "Dimension Value".Code where("Global Dimension No." = const(1)) |
| 42 | Job No. | Code[20] | — | TableRelation Job; not editable |
| 50 | Shortcut Dimension 2 Code | Code[20] | — | TableRelation "Dimension Value".Code where("Global Dimension No." = const(2)) |
| 480 | Dimension Set ID | Integer | — | TableRelation Dimension Set Entry; not editable |
| 5050 | Campaign No. | Code[20] | — | TableRelation Campaign |
| 11400 | Amount Settled | Decimal | — |  |
| 11401 | Data Exch. Entry No. | Integer | — | TableRelation Data Exch.; not editable |
| 11402 | Data Exch. Line No. | Integer | — | not editable |
| 11000000 | Identification | Code[80] | — |  |
| 11000001 | Reconciliation Status | Option | — | OptionCaption: Unknown,Changed,Applied; not editable |

## Keys

- Key1: Journal Template Name, No., Line No. (clustered)
- Key2: Statement Type, Statement No., Identification
- Key3: Journal Template Name, No., Applies-to ID

## Events published

- `OnAfterGetVATPostingSetup(var VATPostingSetup: Record "VAT Posting Setup"; CBGStatementLine: Record "CBG Statement Line"; var Result: Boolean)` (integration)
- `OnAfterInitDefaultDimensionSources(var CBGStatementLine: Record "CBG Statement Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)` (integration)
- `OnAfterCreateGenJournalLine(var GenJnlLine: Record "Gen. Journal Line"; CBGStatementLine: Record "CBG Statement Line")` (integration)
- `OnAfterReadGenJournalLine(var CBGStatementLine: Record "CBG Statement Line"; GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnAfterSetAccountTypeAndDocumentType(var CBGStatementLine: Record "CBG Statement Line"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnAfterSetGenPostingTypeAndDocumentType(CBGStatementLine: Record "CBG Statement Line"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnBeforeAppliesToIDOnValidate(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckAccountNo(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeInitRecord(var CBGStatementLine: Record "CBG Statement Line"; var CBGStatementLineLast: Record "CBG Statement Line"; CBGStatement: Record "CBG Statement")` (integration)
- `OnBeforeLookupAppliesToDocNo(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeOpenAccountEntries(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeReadGenJournalLine(var CBGStatementLine: Record "CBG Statement Line"; var GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeSetApplyCVLedgerEntries(var CBGStatementLine: Record "CBG Statement Line"; PaymentHistLine: Record "Payment History Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateCustomerApplyRequirements(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateEmployeeApplyRequirements(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateVendorApplyRequirements(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateVATAmountOnLine(var CBGStatementLine: Record "CBG Statement Line"; var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCalculateVAT(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCreateDim(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration)
- `OnCreateGenJournalLineOnAfterSetDocumentTypeForCorrection(CBGStatementLine: Record "CBG Statement Line"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnDeleteAppliesToIDOnAfterSetCustomerLedgerEntryFilters(var CBGStatementLine: Record "CBG Statement Line"; var CustLedgEntry: Record "Cust. Ledger Entry")` (integration)
- `OnDeleteAppliesToIDOnAfterSetEmployeeLedgerEntryFilters(var CBGStatementLine: Record "CBG Statement Line"; var EmployeeLedgEntry: Record "Employee Ledger Entry")` (integration)
- `OnDeleteAppliesToIDOnAfterSetVendorLedgerEntryFilters(var CBGStatementLine: Record "CBG Statement Line"; var VendorLedgEntry: Record "Vendor Ledger Entry")` (integration)
- `OnBeforeGenerateDocumentNo(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforePmtTolCBGJnl(var CBGStatementLine: Record "CBG Statement Line"; var xCBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeAccountNoOnValidate(var CBGStatementLine: Record "CBG Statement Line"; var xCBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnReadGenJournalLineOnAfterCalcShouldSetAmount(var CBGStatementLine: Record "CBG Statement Line"; GenJournalLine: Record "Gen. Journal Line"; var ShouldSetAmount: Boolean)` (integration)
- `OnValidateIdentificationOnBeforeCheck(var CBGStatementLine: Record "CBG Statement Line"; var IsHandled: Boolean)` (integration)
- `OnValidateIdentificationOnBeforeCheckCurrency(var CBGStatementLine: Record "CBG Statement Line"; ParentCBGStatementLine: Record "CBG Statement Line"; PaymentHistLine: Record "Payment History Line"; CBGStatement: Record "CBG Statement"; var IsHandled: Boolean)` (integration)
- `OnLookupAppliesToDocNoOnAfterSetCustAppliesToDocNo(var CustLedgerEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnLookupAppliesToDocNoOnAfterSetVendorAppliesToDocNo(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnLookupAppliesToDocAnAfterSetCustLedgerEntryFilters(var CustLedgerEntry: Record "Cust. Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnLookupAppliesToDocAnAfterSetVendorLedgerEntryFilters(var VendorLedgerEntry: Record "Vendor Ledger Entry"; var GenJournalLine: Record "Gen. Journal Line")` (integration)
- `OnAfterOpenAccountCard(CBGStatementLine: Record "CBG Statement Line")` (integration)
- `OnAfterGetAccountName(CBGStatementLine: Record "CBG Statement Line"; var AccountName: Text[100])` (integration)

## Procedures

- `InitRecord(LastRecord: Record "CBG Statement Line")`
- `UpdateLineBalance()`
- `TotalNetChange(DCNC: Code[10]): Decimal`
- `GetAccountName(): Text[100]`
- `CreateGenJournalLine(var GenJnlLine: Record "Gen. Journal Line")`
- `LookupAppliesToDocNo(var GenJnlLine: Record "Gen. Journal Line")`
- `ReadGenJournalLine(var GenJnlLine: Record "Gen. Journal Line")`
- `OpenAccountCard()`
- `OpenAccountEntries()`
- `AssistEdit(OldCBGStatementLine: Record "CBG Statement Line"): Boolean`
- `GenerateDocumentNo()`
- `GetCBGStatementHeader()`
- `IdentificationLookup()`
- `CalculateVAT()`
- `New Applies-to ID(): Code[20]`
- `DeleteAppliesToID(var CBGStatementlineRec: Record "CBG Statement Line")` (protected)
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `ValidateShortcutDimCode(FieldNo: Integer; var ShortcutDimCode: Code[20])`
- `LookupShortcutDimCode(FieldNo: Integer; var ShortcutDimCode: Code[20])`
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`
- `ShowDimensions()`
- `GetDate(String: Text; Position: Integer; Length: Integer; ExpectedFormat: Text): Date`
- `GetText(String: Text[1024]; Position: Integer; Length: Integer): Text[1024]`
- `GetDecimal(String: Text[1024]; Position: Integer; Length: Integer; DecimalSeparator: Code[1]): Decimal`
- `SetApplyCVLedgerEntries(PaymentHistLine: Record "Payment History Line")` (protected)
- `ValidateApplyRequirements(CBGStatementLine: Record "CBG Statement Line")`
- `CreateDimFromDefaultDim(FieldNo: Integer)`

Plus 18 local procedures.

## Triggers

OnDelete, OnInsert

## Across versions

- Present in: BC28-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). 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: "CBG Statement Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.

A NL country object, not part of W1: the default corpus does not have it; `bcatlas_list_countries` shows which countries the atlas has.
