---
id: object/table/589
type: object
title: Table 589 "G/L Account Source Currency"
summary: Table 589 "G/L Account Source Currency" in Base Application (Microsoft.Finance.GeneralLedger.Account). 9 fields, 2 public procedures. Introduced in BC24, still in BC30, changed in BC28-29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: "24"
  last_changed: "29"
  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: 432b70882d6838c52071c74c5ef36f196d8237fb2264a809993a7481c9def4b0
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Account/GLAccountSourceCurrency.Table.al
    title: src/Layers/W1/BaseApp/Finance/GeneralLedger/Account/GLAccountSourceCurrency.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 589
name: G/L Account Source Currency
namespace: Microsoft.Finance.GeneralLedger.Account
app: Base Application
extends: null
first_version: "24"
last_version: "30"
present_in:
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 9
  procedures: 2
  events: 0
  subscribers: 0
relations:
  out: 10
  referenced_by: 0
  pages: 2
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 589 "G/L Account Source Currency"

> Table 589 "G/L Account Source Currency" in Base Application (Microsoft.Finance.GeneralLedger.Account). 9 fields, 2 public procedures. Introduced in BC24, still in BC30, changed in BC28-29.

Base Application · Microsoft.Finance.GeneralLedger.Account · BC24-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Account/GLAccountSourceCurrency.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | G/L Account Source Currency |
| DataClassification | CustomerContent |
| DrillDownPageId | Exchange Rate Adjmt. Register |

## 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 | G/L Account No. | Code[20] | — | TableRelation [Table 15 "G/L Account"](../table/15.md) (G/L Account) |
| 2 | Currency Code | Code[10] | Specifies the source currency code. | TableRelation [Table 4 "Currency"](../table/4.md) |
| 28 | Date Filter | Date | — | FlowFilter |
| 29 | Global Dimension 1 Filter | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1))); FlowFilter |
| 30 | Global Dimension 2 Filter | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2))); FlowFilter |
| 31 | Balance at Date | Decimal | Specifies the account balance in local currency. | FlowField: sum("G/L Entry".Amount where("G/L Account No." = field("G/L Account No."), "Source Currency Code" = field("Currency Code"), "Global Dimension 1 Code" = field("Global Dimension 1 Filter"), "Global Dimension 2 Code" = field("Global Dimension 2 Filter"), "Posting Date" = field(upperlimit("Date Filter")...; not editable |
| 75 | Source Currency Net Change | Decimal | — | FlowField: sum("G/L Entry"."Source Currency Amount" where("G/L Account No." = field("G/L Account No."), "Source Currency Code" = field("Currency Code"), "Global Dimension 1 Code" = field("Global Dimension 1 Filter"), "Global Dimension 2 Code" = field("Global Dimension 2 Filter"), "Posting Date" = field("Date F...; not editable |
| 76 | Source Curr. Balance at Date | Decimal | Specifies the account balance in source currency. | FlowField: sum("G/L Entry"."Source Currency Amount" where("G/L Account No." = field("G/L Account No."), "Source Currency Code" = field("Currency Code"), "Global Dimension 1 Code" = field("Global Dimension 1 Filter"), "Global Dimension 2 Code" = field("Global Dimension 2 Filter"), "Posting Date" = field(upperli...; not editable |
| 77 | Entries Exists | Boolean | Specifies if general ledger entries with this source currency code exists. | FlowField: exist("G/L Entry" where("G/L Account No." = field("G/L Account No."), "Source Currency Code" = field("Currency Code"))); not editable |

## Keys

- Key1: G/L Account No., Currency Code (clustered)

## Procedures

- `BuildCurrencyList()`: Builds a complete list of source currency records for a general ledger account based on existing entries. Scans all general ledger entries for the filtered account and creates source currency records as needed.
- `InsertRecord(GLAccountNo: Code[20]; CurrencyCode: Code[10])`: Creates a new source currency record for the specified general ledger account and currency combination. Initializes the record with proper validation for account and currency relationships.

## Triggers

OnDelete, OnInsert, OnRename

## Relations

- drill-down page [Page 106 "Exchange Rate Adjmt. Register"](../page/106.md)
- lookup page [Page 106 "Exchange Rate Adjmt. Register"](../page/106.md)
- G/L Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Balance at Date: CalcFormula [Table 17 "G/L Entry"](../table/17.md)
- Entries Exists: CalcFormula [Table 17 "G/L Entry"](../table/17.md)
- Source Curr. Balance at Date: CalcFormula [Table 17 "G/L Entry"](../table/17.md)
- Source Currency Net Change: CalcFormula [Table 17 "G/L Entry"](../table/17.md)
- Global Dimension 1 Filter: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Global Dimension 2 Filter: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)

## Pages and codeunits on this table

- [Page 589 "G/L Account Source Currencies"](../page/589.md) (source table)
- [Page 590 "G/L Account Currency FactBox"](../page/590.md) (source table)

## Across versions

- Present in: BC24-30
- Changed (declaration) in: BC28-29

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: "G/L Account Source Currency")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
