Table of Contents

Table "General Ledger Setup"

ID 98
Namespace: Microsoft.Finance.GeneralLedger.Setup

Core financial system configuration table controlling posting permissions, currency settings, VAT handling, and dimension management. Manages global financial parameters including rounding precision, job queue integration, and additional reporting currency setup.

Remarks

Singleton table providing system-wide GL configuration. Key integrations: Currency, VAT, Dimensions, Job Queue. Extensibility: OnAfterAdjustAddReportingCurrency, OnAfterValidateShortcutDimCode events available. Critical setup affecting all financial transactions and reporting throughout Business Central.

Properties

Name Value
Caption General Ledger Setup
DataClassification CustomerContent

Fields

Name Type Description
"Primary Key" Code[10]

Primary key field for the singleton General Ledger Setup record.

"Allow Posting From" Date

Earliest date allowed for posting transactions to the general ledger.

"Allow Posting To" Date

Latest date allowed for posting transactions to the general ledger.

"Register Time" Boolean

Records posting time in addition to posting date for audit trail and transaction tracking.

"Allow Deferral Posting From" Date

Earliest date allowed for posting deferral transactions to the general ledger.

"Allow Deferral Posting To" Date

Latest date allowed for posting deferral transactions to the general ledger.

"VAT Reporting Date" Enum Microsoft.Finance.VAT.Setup."VAT Reporting Date"

Default VAT reporting date calculation method used when posting transactions with VAT.

"VAT Reporting Date Usage" Enum Microsoft.Finance.VAT.Setup."VAT Reporting Date Usage"

Controls whether VAT reporting date is enabled, disabled, or controlled by posting date.

"Pmt. Disc. Excl. VAT" Boolean

Calculates payment discounts excluding VAT amounts to reduce VAT-related rounding differences.

"Date Filter" Date

Flow filter field for date-based filtering in related tables and reports.

"Global Dimension 1 Filter" Code[20]

Flow filter field for filtering by the first global dimension.

"Global Dimension 2 Filter" Code[20]

Flow filter field for filtering by the second global dimension.

"Cust. Balances Due" Decimal

Flow field calculating total customer balances due filtered by dimensions and date.

"Vendor Balances Due" Decimal

Flow field calculating total vendor balances due filtered by dimensions and date.

"Unrealized VAT" Boolean

Enables unrealized VAT functionality for accounting systems using cash-based VAT reporting.

"Adjust for Payment Disc." Boolean

Automatically adjusts VAT amounts when payment discounts are applied to maintain accurate VAT calculations.

"Post with Job Queue" Boolean

Enables background posting of documents using the job queue system for improved user experience.

"Job Queue Category Code" Code[10]

Job queue category code used for organizing posting-related job queue entries.

"Job Queue Priority for Post" Integer

Priority level for posting job queue entries to control processing order.

"Post & Print with Job Queue" Boolean

Enables background posting and printing of documents using the job queue system.

"Job Q. Prio. for Post & Print" Integer

Priority level for post and print job queue entries to control processing order.

"Notify On Success" Boolean

Shows notification messages when background posting operations complete successfully.

"Mark Cr. Memos as Corrections" Boolean

Marks credit memos as corrections for proper VAT and financial reporting compliance.

"Local Address Format" Option

Format used for displaying local addresses on documents and reports.

"Inv. Rounding Precision (LCY)" Decimal

Precision used for invoice rounding calculations in local currency.

"Inv. Rounding Type (LCY)" Option

Method used for invoice rounding calculations in local currency.

"Local Cont. Addr. Format" Option

Position of contact address information on documents and communications.

"Report Output Type" Enum Microsoft.Foundation.Enums."Setup Report Output Type"

Default output type for generated reports and documents.

"Bank Account Nos." Code[20]

Number series used for assigning bank account numbers during bank account creation.

"Spend Request No. Series" Code[20]

Number series used for assigning spend request numbers during spend request creation.

"Summarize G/L Entries" Boolean

Combines G/L entries with identical account, posting date, and dimensions into summary entries.

"Amount Decimal Places" Text[5]

Decimal places specification for amount fields display and input formatting.

"Unit-Amount Decimal Places" Text[5]

Decimal places specification for unit amount fields display and input formatting.

"Additional Reporting Currency" Code[10]

Currency code for additional reporting currency used for parallel accounting and reporting.

"VAT Tolerance %" Decimal

Tolerance percentage for VAT amount differences to allow minor variances in VAT calculations.

"EMU Currency" Boolean

Indicates whether the local currency participates in European Monetary Union currency system.

"LCY Code" Code[10]

Local Currency Code identifying the company's functional currency for accounting and reporting.

"VAT Exchange Rate Adjustment" Enum Microsoft.Finance.Currency."Exch. Rate Adjustment Type"

Method for adjusting VAT amounts during currency exchange rate adjustments.

"Amount Rounding Precision" Decimal

Precision used for rounding monetary amounts in local currency calculations.

"Unit-Amount Rounding Precision" Decimal

Precision used for rounding unit amounts in calculations and display.

"Appln. Rounding Precision" Decimal

Rounding precision used for payment applications to prevent minor differences from blocking applications.

"Global Dimension 1 Code" Code[20]

Primary global dimension code used throughout the system for analysis and reporting.

"Global Dimension 2 Code" Code[20]

Secondary global dimension code used throughout the system for analysis and reporting.

"Shortcut Dimension 1 Code" Code[20]

First shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 2 Code" Code[20]

Second shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 3 Code" Code[20]

Third shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 4 Code" Code[20]

Fourth shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 5 Code" Code[20]

Fifth shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 6 Code" Code[20]

Sixth shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 7 Code" Code[20]

Seventh shortcut dimension code for quick access to dimension values in data entry forms.

"Shortcut Dimension 8 Code" Code[20]

Eighth shortcut dimension code for quick access to dimension values in data entry forms.

"Max. VAT Difference Allowed" Decimal

Maximum allowed VAT difference amount in local currency for VAT entries and adjustments.

"VAT Rounding Type" Option

Rounding method applied to VAT amounts during calculation and posting.

"Pmt. Disc. Tolerance Posting" Option

Specifies which accounts to use when posting payment discount tolerance amounts.

"Payment Discount Grace Period" DateFormula

Grace period allowed after payment discount due date for payment discount eligibility.

"Payment Tolerance %" Decimal

Payment tolerance percentage allowed for customer and vendor payment applications.

"Max. Payment Tolerance Amount" Decimal

Maximum payment tolerance amount allowed for customer and vendor payment applications.

"Allow G/L Acc. Deletion Before" Date

Date before which G/L account deletion checks are performed to prevent accidental deletion.

"Check G/L Account Usage" Boolean

Enables checking G/L account usage before allowing deletion to prevent loss of transaction history.

"Payment Tolerance Posting" Option

Specifies how payment tolerance amounts are posted to the general ledger when payment tolerances are applied.

"Pmt. Disc. Tolerance Warning" Boolean

Controls whether warning messages are displayed when payment discount tolerance limits are exceeded during payment processing.

"Payment Tolerance Warning" Boolean

Controls whether warning messages are displayed when payment tolerance limits are exceeded during payment processing.

"Last IC Transaction No." Integer

Tracks the last transaction number used for intercompany transactions to ensure unique numbering.

"Bill-to/Sell-to VAT Calc." Enum Microsoft.Finance.GeneralLedger.Setup."G/L Setup VAT Calculation"

Specifies whether VAT calculation is based on bill-to/sell-to customer address or ship-to address for determining tax jurisdiction.

"Block Deletion of G/L Accounts" Boolean

Prevents deletion of G/L accounts that are referenced in setup tables or have transaction history when enabled.

"Acc. Sched. for Balance Sheet" Code[10]

Obsolete: Account schedule name for balance sheet financial reporting.

"Acc. Sched. for Income Stmt." Code[10]

Obsolete: Account schedule name for income statement financial reporting.

"Acc. Sched. for Cash Flow Stmt" Code[10]

Obsolete: Account schedule name for cash flow statement financial reporting.

"Acc. Sched. for Retained Earn." Code[10]

Obsolete: Account schedule name for retained earnings financial reporting.

"Fin. Rep. for Balance Sheet" Code[10]

Default financial report used for generating balance sheet statements and analysis.

"Fin. Rep. for Income Stmt." Code[10]

Default financial report used for generating income statement reports and profit/loss analysis.

"Fin. Rep. for Cash Flow Stmt" Code[10]

Default financial report used for generating cash flow statement reports and liquidity analysis.

"Fin. Rep. for Retained Earn." Code[10]

Default financial report used for generating retained earnings statements and equity analysis.

"Tax Invoice Renaming Threshold" Decimal

Threshold amount for tax invoice renaming in local currency when processing tax-related transactions.

"Req.Country/Reg. Code in Addr." Boolean

Requires country/region code to be specified in customer and vendor addresses for regulatory compliance.

"Print VAT specification in LCY" Boolean

Controls whether VAT amounts are printed in local currency on reports and documents when foreign currency transactions are involved.

"Prepayment Unrealized VAT" Boolean

Enables unrealized VAT processing for prepayment transactions when prepayments are subject to VAT.

"Payroll Trans. Import Format" Code[20]

Data exchange definition used for importing payroll transaction data from external payroll systems.

"Local Currency Symbol" Text[10]

Symbol used to represent the local currency in reports and user interface displays.

"Local Currency Description" Text[60]

Descriptive name for the local currency used in reports and system displays.

"Show Amounts" Option

Controls how amounts are displayed in G/L entries and reports: amount only, debit/credit only, or all amounts.

"Posting Preview Type" Enum Microsoft.Finance.GeneralLedger.Preview."Posting Preview Type"

Determines the type of posting preview shown to users before finalizing transactions.

"SEPA Non-Euro Export" Boolean

Allows SEPA payment export for currencies other than Euro when enabled.

"SEPA Export w/o Bank Acc. Data" Boolean

Enables SEPA payment export without requiring complete bank account data when enabled.

"Journal Templ. Name Mandatory" Boolean

Requires journal template name to be specified when creating general journal lines for better control and validation.

"Hide Payment Method Code" Boolean

Hides payment method code field in journals and documents when enabled for simplified data entry.

"Enable Data Check" Boolean

Enables additional data validation checks during posting to ensure data integrity and compliance.

"Document Retention Period" Enum Microsoft.Finance.GeneralLedger.Setup."Docs - Retention Period Def."

Default retention period applied to financial documents for automatic cleanup and compliance management.

"Apply Jnl. Template Name" Code[10]

Default general journal template used for customer and vendor payment application processes.

"Apply Jnl. Batch Name" Code[10]

Default general journal batch used for customer and vendor payment application processes.

"Job WIP Jnl. Template Name" Code[10]

Default general journal template used for posting job work-in-process entries during job completion processes.

"Job WIP Jnl. Batch Name" Code[10]

Default general journal batch used for posting job work-in-process entries during job completion processes.

"Adjust ARC Jnl. Template Name" Code[10]

Default general journal template used for additional reporting currency adjustments during currency rate changes.

"Adjust ARC Jnl. Batch Name" Code[10]

Default general journal batch used for additional reporting currency adjustments during currency rate changes.

"Bank Acc. Recon. Template Name" Code[10]

Default general journal template used for bank account reconciliation adjustment entries.

"Bank Acc. Recon. Batch Name" Code[10]

Default general journal batch used for bank account reconciliation adjustment entries.

"Control VAT Period" Enum Microsoft.Finance.VAT.Calculation."VAT Period Control"

Controls VAT period validation and posting restrictions to ensure compliance with tax reporting periods.

"Allow Query From Consolid." Boolean

Enables this company to be queried from consolidation processes when used as a subsidiary company.

"Acc. Receivables Category" Integer

G/L account category used for classifying accounts receivable accounts in financial reporting.

"App. Dimension Posting" Enum Microsoft.Finance.Currency."Exch. Rate Adjmt. Dimensions"

Controls which dimension information is posted during exchange rate adjustment processes.

"Hide Company Bank Account" Boolean

Hides company bank account information in certain displays and reports for security purposes.

"Check Source Curr. Consistency" Boolean

Specifies whether Business Central validates the total of general ledger entries source currency amount during posting.

"Acc. Payables Category" Integer
"Fin. Rep. Period Type" Enum Microsoft.Foundation.Enums."Analysis Period Type"

Specifies by which period amounts are displayed on financial report by default.

"Fin. Rep. Neg. Amount Format" Enum Microsoft.Foundation.Enums."Analysis Negative Format"

Specifies how negative amounts are displayed on the financial report by default.

"Fin. Rep. Company Logo Pos." Enum Microsoft.Finance.FinancialReports."Fin. Report Logo Position"

Specifies how your company logo is displayed on the financial report by default.

"Fin. Rep. Bal. Sheet Row" Code[10]

Specifies the name of the Balance Sheet row on Financial Reports.

"Fin. Rep. Income Stmt. Row" Code[10]

Specifies the name of the Income Statement row on Financial Reports.

"Fin. Rep. Cash Flow Stmt. Row" Code[10]

Specifies the name of the Cash Flow Statement row on Financial Reports.

"Fin. Rep. Retained Earn. Row" Code[10]

Specifies the name of the Retained Earnings row on Financial Reports.

"Fin. Rep. Bal. Sheet Column" Code[10]

Specifies the name of the Balance Sheet column on Financial Reports.

"Fin. Rep. Net Change Column" Code[10]

Specifies the name of the Net Change column on Financial Reports.

DefaultFinancialReportStatus Code[10]

Specifies the name of the Default Financial Report Status on Financial Reports.

"Allow Posting From DateFormula" DateFormula
"Allow Posting To DateFormula" DateFormula
"Use Concurrent Posting" Boolean

Specifies whether to use concurrent posting when posting journals. Concurrent posting can reduce the time it takes to post journals by allowing multiple batches to be posted at the same time. Enabling this option requires additional configuration and setup, such as setting up a batch job to run the concurrent posting process and ensuring that your system has the necessary resources to support concurrent processing.

SystemId Guid
SystemCreatedAt DateTime
SystemCreatedBy Guid
SystemModifiedAt DateTime
SystemModifiedBy Guid
SystemCreatedByUserName Text[50]
SystemCreatedByFullName Text[80]
SystemModifiedByUserName Text[50]
SystemModifiedByFullName Text[80]
SystemRowVersion BigInteger

Methods

CheckDecimalPlacesFormat

Validates and corrects the format of decimal places configuration for currency and amount display.

procedure CheckDecimalPlacesFormat(var DecimalPlaces: Text[5])

Parameters

Name Type Description
DecimalPlaces Text[5]

Decimal places format string to validate and potentially correct

GetCurrencyCode

Returns the appropriate currency code for display, converting between LCY code and empty string as needed.

procedure GetCurrencyCode(CurrencyCode: Code[10]): Code[10]

Parameters

Name Type Description
CurrencyCode Code[10]

Input currency code to convert

Returns

Type Description
Code[10]

Converted currency code: LCY code becomes empty, empty becomes LCY code, others remain unchanged

GetCurrencySymbol

Retrieves the local currency symbol for display in user interface and reports.

procedure GetCurrencySymbol(): Text[10]

Returns

Type Description
Text[10]

Local currency symbol or LCY code if symbol is not defined

GetRecordOnce

Ensures the General Ledger Setup record is read from the database only once per session for performance optimization.

procedure GetRecordOnce()

UpdateVATDate

Updates VAT date based on VAT reporting date configuration and the specified date type.

procedure UpdateVATDate(NewDate: Date; VATDateType: Enum "VAT Reporting Date"; var VATDate: Date)

Parameters

Name Type Description
NewDate Date

New date value to potentially assign

VATDateType Enum Microsoft.Finance.VAT.Setup."VAT Reporting Date"

Type of VAT reporting date being processed

VATDate Date

VAT date variable to update if date type matches configuration

GetVATDate

Determines the appropriate VAT date based on posting date, document date, and VAT reporting date configuration.

procedure GetVATDate(PostingDate: Date; DocumentDate: Date): Date

Parameters

Name Type Description
PostingDate Date

Transaction posting date

DocumentDate Date

Document date from source document

Returns

Type Description
Date

VAT date based on configuration: posting date, document date, or posting date if document date is zero

CheckRoundingError

Validates that rounding precision changes are allowed by checking for existing ledger entries across all modules.

procedure CheckRoundingError(NameOfField: Text[100])

Parameters

Name Type Description
NameOfField Text[100]

Name of the field being validated for rounding precision changes

IsPostingAllowed

Determines whether posting is allowed for the specified date based on setup configuration and extensibility events.

procedure IsPostingAllowed(PostingDate: Date): Boolean

Parameters

Name Type Description
PostingDate Date

Date to validate for posting allowance

Returns

Type Description
Boolean

True if posting is allowed for the specified date, false otherwise

JobQueueActive

Checks whether background job queue processing is currently active for the general ledger setup.

procedure JobQueueActive(): Boolean

Returns

Type Description
Boolean

True if job queue is active, false otherwise

FirstAllowedPostingDate

Determines the earliest date allowed for posting based on setup configuration and inventory periods.

procedure FirstAllowedPostingDate(): Date

Returns

Type Description
Date

First allowed posting date considering setup and inventory period restrictions

UpdateDimValueGlobalDimNo

Updates global dimension number assignments for dimension values when changing global dimension configuration.

procedure UpdateDimValueGlobalDimNo(xDimCode: Code[20]; DimCode: Code[20]; ShortcutDimNo: Integer)

Parameters

Name Type Description
xDimCode Code[20]

Previous dimension code being replaced

DimCode Code[20]

New dimension code being assigned

ShortcutDimNo Integer

Global dimension number (1-8) being updated

UseConcurrentPosting

procedure UseConcurrentPosting(): Boolean

Returns

Type Description
Boolean

UseVat

Determines if VAT is enabled in the system based on current VAT posting setup configuration.

procedure UseVat(): Boolean

Returns

Type Description
Boolean

True if VAT posting setup exists and VAT is active, false otherwise

CheckAllowedPostingDates

Validates that posting dates fall within allowed posting periods defined in general ledger setup.

procedure CheckAllowedPostingDates(NotificationType: Option)

Parameters

Name Type Description
NotificationType Option

Type of notification to show (Error or Notification) when validation fails

CheckAllowedDeferralPostingDates

Validates that deferral posting dates fall within allowed deferral posting periods.

procedure CheckAllowedDeferralPostingDates(NotificationType: Option)

Parameters

Name Type Description
NotificationType Option

Type of notification to show (Error or Notification) when validation fails

GetPmtToleranceVisible

Determines if payment tolerance fields should be visible in the user interface.

procedure GetPmtToleranceVisible(): Boolean

Returns

Type Description
Boolean

True if payment tolerance percentage or maximum amount is configured

Events

OnBeforeCheckRoundingError

Integration event raised before validating rounding error configuration. Enables custom error message handling and validation logic for rounding tolerances.

[IntegrationEvent(True,False)]
local procedure OnBeforeCheckRoundingError(var ErrorMessage: Boolean)

Parameters

Name Type Description
ErrorMessage Boolean

Set to true to suppress standard error message display

OnAfterIsPostingAllowed

Integration event raised after determining if posting is allowed for a given date. Enables custom posting date validation logic and period override capabilities.

[IntegrationEvent(True,False)]
local procedure OnAfterIsPostingAllowed(GeneralLedgerSetup: Record "General Ledger Setup"; PostingDate: Date; var Result: Boolean)

Parameters

Name Type Description
GeneralLedgerSetup Table Microsoft.Finance.GeneralLedger.Setup."General Ledger Setup"

General Ledger Setup record with posting date configuration

PostingDate Date

Date being validated for posting allowance

Result Boolean

Validation result indicating if posting is allowed for the date

OnBeforeFirstAllowedPostingDate

Integration event raised before calculating the first allowed posting date. Enables custom logic for determining earliest allowable posting date based on setup and user permissions.

[IntegrationEvent(False,False)]
local procedure OnBeforeFirstAllowedPostingDate(GeneralLedgerSetup: Record "General Ledger Setup"; var AllowedPostingDate: Date; var IsHandled: Boolean)

Parameters

Name Type Description
GeneralLedgerSetup Table Microsoft.Finance.GeneralLedger.Setup."General Ledger Setup"

General Ledger Setup record with posting period configuration

AllowedPostingDate Date

Calculated first allowed posting date, can be modified by subscribers

IsHandled Boolean

Set to true to bypass standard calculation logic

OnAfterUpdateDimValueGlobalDimNo

Integration event raised after updating global dimension assignments for dimension values. Enables custom processing and validation when global dimensions are reconfigured.

[IntegrationEvent(False,False)]
local procedure OnAfterUpdateDimValueGlobalDimNo(ShortCutDimNo: Integer; OldDimensionCode: Code[20]; NewDimensionCode: Code[20])

Parameters

Name Type Description
ShortCutDimNo Integer

Global dimension number (1-8) that was updated

OldDimensionCode Code[20]

Previous dimension code that was replaced

NewDimensionCode Code[20]

New dimension code that was assigned

OnBeforeValidateAdditionalReportingCurrency

Integration event raised before validating the Additional Reporting Currency field. Enables custom validation logic and the ability to bypass the standard adjustment and analysis view processing.

[IntegrationEvent(False,False)]
local procedure OnBeforeValidateAdditionalReportingCurrency(var AdditionalReportingCurrency: Code[10]; xRecAdditionalReportingCurrency: Code[10]; var IsHandled: Boolean)

Parameters

Name Type Description
AdditionalReportingCurrency Code[10]

New additional reporting currency code being validated, can be modified by subscribers

xRecAdditionalReportingCurrency Code[10]

Previous additional reporting currency code before the change

IsHandled Boolean

Set to true to bypass standard validation logic

See also