Files
tradon/notes/accounting/excel_api/GL_Accounts_Functions_Documentation.md
2026-05-29 08:07:09 +02:00

3.5 KiB

GL Accounts Excel Functions

This document lists the Excel functions currently implemented in the GL Accounts proof of concept.

Common Parameters

All functions use the same four parameters:

  • companyKey: company party code or company party name, for example ICT TRADING.
  • accountCode: general ledger account code, for example 20011.
  • currencyIso: transaction currency filter. In the current database this may be the currency id, code, name, symbol, or numeric code, for example 1, USD, or EUR.
  • valueDate: accounting cutoff date. Only posted moves up to this date are included.

Example parameter shape:

=GetAccountAmount("ICT TRADING","20011","USD",DATE(2026,5,13))

Implemented Functions

GetAccountBaseAmount

=GetAccountBaseAmount(companyKey, accountCode, currencyIso, valueDate)

Returns the account balance converted to the company base currency using the currency rate at valueDate.

GetAccountRealBaseAmount

=GetAccountRealBaseAmount(companyKey, accountCode, currencyIso, valueDate)

Returns the posted balance already stored in company base currency.

GetAccountAmount

=GetAccountAmount(companyKey, accountCode, currencyIso, valueDate)

Returns the posted balance in transaction currency for the selected currency filter.

GetAccountAbbr

=GetAccountAbbr(companyKey, accountCode, currencyIso, valueDate)

Returns the account abbreviation. In this POC it returns the account code because no separate GL abbreviation field is available.

GetAccountName

=GetAccountName(companyKey, accountCode, currencyIso, valueDate)

Returns the general ledger account name.

GetAccountContact

=GetAccountContact(companyKey, accountCode, currencyIso, valueDate)

Backward-compatible contact formula. It returns contact codes when available, otherwise contact names.

GetAccountContactCode

=GetAccountContactCode(companyKey, accountCode, currencyIso, valueDate)

Returns a comma-separated list of contact party codes found on posted GL lines. If a party has no code, its name is used as fallback.

GetAccountContactName

=GetAccountContactName(companyKey, accountCode, currencyIso, valueDate)

Returns a comma-separated list of contact party names found on posted GL lines. If a party has no name, its code is used as fallback.

Operational Notes

  • Only posted account moves are included.
  • The currency parameter is currently a transaction-currency filter, not an output currency selector.
  • The VBA module caches results. Use ClearGLApiCache after changing database data or SQL functions.
  • Database calls are disabled after importing the module and after each refresh. Formula cells return #GLAPI_OFF outside RefreshGLApi.
  • Use InstallGLApiFormulas on the Functions sheet to install formulas from formula text into result cells as inert placeholders. Do not remove leading apostrophes manually in Excel's formula bar.
  • Use ClearGLApiFormulas if a previous workbook version already contains live GetAccount... worksheet formulas.
  • Use CloseGLApiConnection to force Excel to reopen the ODBC connection.
  • Use RefreshGLApi to enable database calls only during that refresh, clear the cache, evaluate formula text, and write plain values.
  • Use DisableGLApi before editing/copying large formula areas if Excel should not contact the database.
  • GetAccountContact remains available so existing workbook formulas keep working.