General Ledger > Setup > GL Structure Definition

GL Structure Definition

You use this program to configure a template that you can use to structure your General Ledger codes.

The program enables you to:

  • construct a template for your ledger codes in terms of sections
  • define the list of valid items for each section
  • define section relationships

Enabling section analysis, budget analysis and purchase commitment analysis allow you to use the GL Structure Query program to query the balances according to the defined sections.

General Ledger Structure Definition

Field Description
Structure options  
G/L structure required Enables the General Ledger structure definition system and allows you to define the structure you require for your General Ledger codes.
Edit structure

Select this to change the General Ledger code structure.

This option only applies once you have defined a structure.

It is not advisable to change a structure once it has been defined.

Number of sections required

Indicate the number of sections you want to define for your General Ledger code.

For example, if you want to structure your GL code to consist of a branch section, a department section and a ledger account number (code) section, then you enter 3 in this field.

Analysis options If you select any of these options, you must use the Rebuild Analysis function to build/rebuild the data in the analysis files.
OptionDescription
Section analysis requiredAllows you to query General Ledger account balances by section using the GL Structure Query program.
Budget analysis required

Allows you to query General Ledger budget balances by section using the GL Structure Query program.

You can only select this if you selected the option Section analysis required.

Purchase commitment required

Allows you to view the commitments at each level in the structure. The option: Commitment Accounting required must be enabled (General Ledger Setup).

You can only select this if you selected the option: Section analysis required.

Structure definition

Allows you to describe how the General Ledger account code is constructed.

Structured General Ledger codes can have up to 9 sections.

[Note]

The sequence in which the sections are defined determines the hierarchy for the ledger code.

At least one section must be defined as the actual General Ledger account number (or code).

Once defined, the structure should not be changed.

Section

This indicates the section number.

The number of sections enabled depend on the value entered in the Number of sections required field.

Each enabled section must be defined before you can save the entire structure.

Description Enter the description for the section number.
Position

This is automatically updated by the system.

Section 1 always commences in position 1. Thereafter, the start position for Section 2 is determined by the Length defined for Section 1 plus the Separator character, if defined.

Length

Indicate the number of characters that make up the section.

This value cannot be zero.

Characters allowed Indicate the type of characters allowed in the section.
OptionDescription
AnySelect this if the section can consist of any characters. This includes numeric, alphabetic, special characters and lower and upper case characters.
UpperSelect this if the section can consist of upper case characters only. (i.e. Any character except the lower case alphabetic characters a to z).
LowerSelect this if the section can consist of lower case characters only. (i.e. Any character except the upper case alphabetic characters A to Z).
NumericSelect this if the section can consist of numeric characters only.
Separator required

Select this to define a character to separate this section from the next section in the ledger code construct.

Each separator takes up one character position in the account structure.

Separator

Indicate the separator character for the section. Any character can be used.

To define the separator as a space, select the Separator required option and then leave this field blank.

This field is only enabled if you indicated that a separator is required.

G/L code section

Select this to set this section as the General Ledger account number portion of the full ledger code.

Only one section can be defined as being the GL code section.

Maintain Enables you to define the permissible values for the section.
Relationships

Enables you to define the valid sub-sections within each section.

No relationships can be defined against the lowest section (the last section number defined) as it has no sub-sections.

Access Select this to use the GL Structure Access program to define the access rights for operators to post to and/or query the ledger codes.
Rebuild Analysis

Rebuilds your General Ledger analysis history tables/files based on your existing General Ledger history and budget tables/files.

This only applies if you selected the option Section analysis required.

Save Select this to save the information you entered.
Close Select this to exit the program.

Maintain Sections

You use this function to define the permissible values for each section.

For example:

If your company has three locations (i.e. JNB, LON, and NY) then you could define a section called Location. When you maintain the Location section, you add the values JNB, LON and NY. These are then the only permissible values for the Location section of the account code.

When you select this function, a listview displays the permissible values already defined for the section.

One screen is displayed for sections not defined as the GL code section and a different screen is displayed to maintain the section defined as the GL code section.

Maintain Non GL code Sections

This is displayed when you select the Maintain function for a section not defined as the GL code section.

Field Description
Section This indicates the section description for which you are maintaining the permissible values.
Change Select this to change the ledger code template for the highlighted entry.
Section description (user-defined)

The description for this field is the description you defined for the section.

This indicates a valid value for the section.

Description Enter the full description for the value displayed in the previous field.
Ledger code tag

Enables you to automatically build the description for the ledger code (General Ledger Codes).

When a General Ledger code is created, the description for the ledger code is made up of the descriptions for the valid values of the sections.

Save Select this to save the information you entered.
Cancel Select this to ignore the information entered for the current value and return to the previous screen.
Add Select this to add the values allowed for this section.
Section description (user-defined)

The description for this field is the description you defined for the section.

Enter a valid value for the section.

Description Enter the description for the value entered in the previous field.
Ledger code tag The ledger code tag enables you to automatically build the description for the ledger code (General Ledger Codes).
Save & Close Save the information entered and returns to the previous screen.
Save Saves the information entered without returning to the previous screen.
Cancel Ignores the information entered for the current value and returns to the previous screen.
Delete

Immediately deletes a permissible value assigned to a section.

You cannot delete a section if a ledger code containing the section is already defined (General Ledger Codes).

Create Sections

Creates new section codes from your existing ledger codes.

The program reads your current General Ledger codes and creates the required sections, together with their separators according to the structure you defined.

[Warning]

If you want to create a General Ledger code structure from your existing account code structure, then the section types, lengths and separators must be defined in exactly the same format as the existing account code structure

In addition, your existing account codes must all have exactly the same structure. You cannot process transactions to any existing General Ledger accounts that do not conform to the structure.

You can use the GL Code Conversion program to restructure your existing account codes to all have the same structure/format.

For example:

Your current General Ledger accounts are manually defined (structured) as:

- Revenue and expense accounts: Account number plus Cost center code (e.g. 5000-10)

- Balance sheet accounts: Account code only (e.g. 1000)

Using the GL Structure Definition program, you define the structure as: Account number (4 characters), a separator "-" (1 character) and a cost center code (2 characters).

When you select the Create Sections function, the sections for the revenue and expense accounts are correctly created and these account codes are therefore defined as valid.

The balance sheet accounts, however, have a different structure (no cost center), and their structure is not defined. This means that you will be unable to process any transactions to your current balance sheet accounts.

If you did not use the GL Code Conversion program to restructure your balance sheet accounts, then you need to manually create new balance sheet accounts with a cost centre code attached (e.g. 1000-00).

Close Returns to the previous screen. The changes you made are automatically saved.

Maintain GL Code Section

This is displayed when you select the Maintain function for the section defined as the GL code section.

Field Description
Section Indicates the ledger code and description for which you are maintaining the permissible values.
Change Select this to change the ledger code template for the highlighted entry.
Add Select this to add account codes.
Delete Use this to immediately delete the template for an account code.
Create Sections

Select this to create new section codes from your existing ledger codes (i.e. the ledger codes previously defined using the General Ledger Codes program).

The program reads your current General Ledger codes and creates the required sections, together with their separators according to the structure you defined.

[Warning]

If you want to create a General Ledger code structure from your existing account code structure, then the section types, lengths and separators must be defined in exactly the same format as the existing account code structure

In addition, your existing account codes must all have exactly the same structure. You cannot process transactions to any existing General Ledger accounts that do not conform to the structure.

You can use the GL Code Conversion program to restructure your existing account codes to all have the same structure/format.

For example:

Your current General Ledger accounts are manually defined (structured) as:

- Revenue and expense accounts: Account number plus Cost center code (e.g. 5000-10)

- Balance sheet accounts: Account code only (e.g. 1000)

Using the GL Structure Definition program, you define the structure as: Account number (4 characters), a separator "-" (1 character) and a cost center code (2 characters).

When you select the Create Sections function, the sections for the revenue and expense accounts are correctly created and these account codes are therefore defined as valid.

The balance sheet accounts, however, have a different structure (no cost center), and their structure is not defined. This means that you will be unable to process any transactions to your current balance sheet accounts.

If you did not use the GL Code Conversion program to restructure your balance sheet accounts, then you need to manually create new balance sheet accounts with a cost centre code attached (e.g. 1000-00).

Close Returns you to the previous screen. The changes made are automatically saved.

Ledger Code Template

This is displayed when you select the Add or the Change functions.

Field Description
Account code This is the description you defined for the account code section.
Description

Indicates the description for the Account code. This is displayed throughout the SYSPRO system whenever the ledger code is entered.

Only ledger codes created after the description is changed will indicate the new description. Existing ledger code descriptions are not changed.

Group

Assign the ledger account to a specific ledger group.

This provides you with an alternative method of grouping your accounts (other than by account type). It can also be used as a selection and sequencing tool for viewing and printing your ledger accounts.

General Ledger Group codes are defined using the GL Groups program.

Tax code

This entry determines the default tax code assigned to each distribution entry posted from either the AP Invoice Posting program, or the withdrawal function of the Cash Book Deposits & Withdrawals program.

If left blank, then the Cash Book Deposits & Withdrawals program uses the Default tax codes defined in the General Ledger Integration program.

The Descriptive tax code must be used if defined (Descriptive Tax Code Browse/Maintenance).

In the AP Invoice Posting program, the tax code you entered when processing the Transaction Details is used when the tax code against the ledger code is blank. If the tax code against the ledger code is blank, then the Default tax code defined in the Accounts Payable Setup program is used.

QST code

This entry determines the default second tier tax code assigned to each distribution entry posted from the AP Invoice Posting program.

This applies if the Second tier taxrequired option is enabled (Accounts Payable Setup).

The tax code can be left blank. If left blank, then the tax code entered when capturing the Transaction Details is used. If that tax code is also blank, then the Default tax code defined in the Accounts Payable Setup program is used.

Revaluation category

This relates to alternate currency ledgers only.

Indicate a revaluation category for the ledger code.

Revaluation categories determine how the transactions in the ledger code must be revalued when you select the GL Alternate Currency Valuation program.

Account type

Classify your ledger codes, providing for balancing controls and flexible reporting.

See Coding considerations in Notes and warnings

Asset

Select this to define this account code as an asset account.

Asset account types are balance sheet accounts and their balances are therefore not transferred to the Retained Earnings account when a Year end is performed (GL Period End).

Capital

Select this to define this account code as a capital account.

Capital account types are balance sheet accounts and their balances are therefore not transferred to the Retained Earnings account when a Year end is performed (GL Period End).

Liability

Select this to define this account code as a liability account.

Liability account types are balance sheet accounts and their balances are therefore not transferred to the Retained Earnings account when a Year end is performed (GL Period End).

Revenue

Select this to define this account code as a revenue account.

Revenue account types are Income Statement (Profit and Loss) accounts. When a year end is performed, (GL Period End) you can select the option Set expense and revenue accounts to zero, to automatically transfer the balances in these account types to the Retained earnings account defined against the company (General Ledger Integration).

Expense

Select this to define this account code as an expense account.

Expense account types are Income Statement (Profit and Loss) accounts. When a year end is performed, (GL Period End) you can select the option "Set expense and revenue accounts to zero", to automatically transfer the balances in these account types to the Retained earnings account defined against the company (General Ledger Integration).

Statistical

Select this to define this account code as a statistical account.

Statistical accounts are used for the analysis of non-financial information within the General Ledger. They do not affect any normal financial accounting processes.

Statistical accounts are automatically defined as control accounts by the system to prevent transactions being processed to them from other modules. i.e. Statistical accounts can only be updated from within the General Ledger module.

An existing General Ledger account code cannot be re-defined as a statistical account type if:

  • the account balance is non-zero
  • the opening balance for the account for the current year is non-zero
  • history exists against the account for the current year
Current asset/liability

You use this to define whether the account is a current or non-current asset or liability. This only applies to an Asset or Liability. Account type.

It is important to define these correctly, as the ratio analysis calculations are based on account types.

If the ledger code is an Asset account type, then you can select this option to indicate that it is a current asset account. If you do not select this option, then by default, the account is assumed to be a non-current asset.

If the ledger code is a Liability account type, then you can select this option to indicate that it is a current liability account. If you do not select this option, then the account is assumed to be a non-current liability by default.

Expense type

An entry can only be made here if you set the Account type to Expense.

The Expense type is used by the Accounts Payable module (if integrated to General Ledger) to determine the category into which purchases are accumulated during expense distribution (refer to AP Invoice Posting).

Merchandise Select this if the account is used to record merchandise purchases.
Freight Select this if the account is used to record freight expenses.
Other Select this if the account is any expense account not related to merchandise or freight.
Options  
Control account

Select this to set the account as a control account.

Control accounts represent the transactions that have taken place in the sub ledgers.

These accounts are updated by the sub ledgers (Accounts Payable, Accounts Receivable, Cash Book, Inventory, Work in Progress and Fixed Assets), when these sub ledgers are integrated to the General Ledger (General Ledger Integration).

This option is automatically enabled for Statistical account types and cannot be changed.

Gain/Loss account

Select this to set the account as a Gain/Loss account.

Gain/Loss accounts relate to the revaluation of alternate currency ledgers.

The GL Alternate Currency Valuation program posts variances in revaluation to the Gain/Loss accounts defined in the Revaluation categories (see GL Revaluation Categories).

GL Analysis required

Select this if you want this ledger code to be subject to account analysis.

If you select this option, then analysis information must be entered when processing journals or distribution entries from a sub-ledger to this ledger code. Note that this does not apply when the ledger code is defined in GL integration.

You cannot select this option if you selected the Control account option.

When you select this option, you must specify an Analysis category.

[Note]
  • When you select this option and you want to process analysis entries from sub modules, then the General Ledger integration method for the sub module(s) must be set to detail either at company level (General Ledger Integration) or against the individual General Ledger account code(s).

    Failure to do this results in analysis entries not being posted.

  • Care must be taken when enabling account analysis for a ledger code, as the Capture GL Analysis Entries program is automatically loaded each time you process a transaction to an account requiring analysis.

    You may, for example, not want to select GL analysis for accounts defined in integration programs such as Browse on Banks, Browse on Tax Codes, Browse on AR Branches, AR Sales Ledger Interface, AR Payments Ledger Interface, Assets Ledger Interface, etc.

  • Transactions which use the GL control accounts defined in the General Ledger integration setup programs do not cause the Capture GL Analysis Entries program to be loaded. This is irrespective of whether GL analysis is required against these accounts.

If you no longer require GL analysis for a ledger code, then this option must be disabled against that GL code. If you no longer require GL analysis at all, then this option must be disabled against all GL codes.

Analysis category

Specify the analysis category to use when processing transactions to this ledger code. This is only enabled if you selected the GL Analysis required option.

Statistical This is only enabled for Statistical account types.
Unit of measure

This descriptive field indicates the unit of measure in which the statistical data must be measured.

It must be defined for all Statistical account types.

Password

This enables you to prevent the unauthorized manual posting of detail ledger distributions to this account code.

This is only available when the Individual ledger accounts passwords option is enabled (General Ledger Setup).

Defining a password against an account prevents:

  • manually posting a journal entry to the account without first entering the password
  • querying the account without first entering the password

The GL Entries Import program ignores any passwords defined against ledger codes.

Enter new password Enter up to 4 characters as the password for the account.
Re-enter new password Enter the same characters entered in the Enter new password field to verify the password.
Clear Password Removes the password previously assigned to the ledger code.
OK

Select this to accept your changes and return to the previous screen.

[Note]

This does not save the password against the account. You need to select the Save function from the General Ledger Codes screen to save the information you entered.

Cancel Ignores any changes made and returns to the previous screen.
Integration

Indicate the method of integration required for this particular ledger code.

This is only available if the option: Integration from sub-ledger is enabled (General Ledger Setup). Additionally, the sub-ledger must be linked to General Ledger in detail or summary (General Ledger Integration).

Integration of the sub-ledgers is defined at sub-ledger level using the General Ledger Integration program, however, you can use this Integration function to define a different integration level for this specific account code only. The integration level you define against an account takes precedence over the integration level defined at sub-ledger level.

Defining integration at ledger code level can be useful when the sub-ledger is linked to the General Ledger in detail, but for specific ledger accounts against which postings are made, you only want summary information passed through to the General Ledger (and vice versa).

Typically, you would not want to integrate to a control account in detail because of the volume of entries that would be created in the control account.

Sub-ledger integration method
Option Description
Company set-up

Select this to post transaction details from the sub-ledgers against the ledger code according to the method of integration assigned at sub-ledger level (General Ledger Integration).

This is the default integration method for the account.

Detail transactions Select this to post transaction details from the sub-ledgers against the ledger code in detail (i.e. each detail printed on the distribution report is posted to the ledger entries file).
Summary transactions Select this to post transaction details from the sub-ledgers against this ledger code in summary (i.e. details printed on the distribution report are summarized by ledger code before being posted to the ledger entries file).
OK

Accepts the integration level you selected and returns to the previous screen.

[Note]

This does not save the integration level you indicated. You must select the Save function from the General Ledger Codes screen to save the information entered.

Cancel Leave the integration method unchanged and returns to the previous screen.
Business Processes

Indicate the valid business processes for the account code.

By default, transactions relating to all business processes are enabled for a General Ledger account.

By defining the business processes against a ledger code, you can ensure that the code is only used for appropriate transactions.

When you process a transaction and browse on the ledger code, only the ledger codes enabled for the business process related to the transaction you are processing are displayed.

Refer to Customize business process properties for information on how to customize business process properties.

Business process

This lists the business processes for which the account code can be enabled.

You can select up to 10 business processes for the ledger code.

Enable business processes for this ledger code

Select this to define the business processes you want to enable for the account code.

If you select this option, then you must define at least one business process for the ledger code.

[Note]

Business processes attached to ledger codes are ignored by the GL Journal Entry program when posting sub-module journals.

Close Returns to the previous screen.
Clear fields after each save Clears the fields you entered when adding a new General Ledger code.
Save & Close

Save the information entered for the current account code and returns to the previous screen.

This is only available when you select the Add function.

Save Saves the information entered without returning to the previous screen.
Cancel Ignores the information entered for the current value and returns to the previous screen.

Relationship Settings

This enables you to define the sub-sections within each section.

For example, although you may have 5 branches and 10 departments, it is possible that not all departments exist in all 5 branches. You therefore need to indicate which departments exist in which branch.

The lowest section (the last section number defined) has no sub-sections and you can therefore not define any relationships for this section.

When you select the Relationships function, a treeview indicates the hierarchy of the all sections that you defined.

The top level of the treeview indicates the first section that you defined (i.e. Section 1). Each subsequent section defined becomes the child of the previous section and the parent of the next section.

Within each sub-section you can selectively indicate the relationships between the parent and child items by highlighting the section you want to maintain and selecting the Relationship Settings option from the File menu.

By default, all child items are allowed in all sections. For example, if you have three locations (defined as section 1) and within those three locations you have 4 cost centers (defined as section 2), then all cost centers are automatically defined as permissible within each location.

If you select the option: View Disallowed Items from the View menu, then a "no entry" sign is displayed next to a child item to indicate that the child item is not permissible within that parent section.

[Note]

The relationship you define between a child and its immediate parent is automatically set throughout the system. Therefore, if a parent-child relationship is allowed under one grandparent section, it is allowed for all other grandparent sections.

You cannot, for example, define the following:

  • Grandparent 1

    • Parent A

      • Child 1 is Allowed
      • Child 2 is Allowed
  • Grandparent 2

    • Parent A

      • Child 1 is Allowed
      • Child 2 is Disallowed

If you define the relationship between Parent A and Child 1 and Child 2 as Allowed, then this relationship cannot be changed by changing the Grandparents (i.e. Child 1 and Child 2 will always be Allowed for Parent A, regardless of the Grandparents to which the parent is attached).

Field Description
All child items are allowed

This is selected by default and indicates that all child items are allowed for the selected section.

While this option is selected, no other options are available, except the OK and Cancel functions.

Deselect this to indicate which child items are allowed within the current section.

Child items This displays all child items defined under the section.
Section description (user-defined)

The description for this field is the description you defined for the section.

If the option: Selected items are allowed is selected, then a tick against an item in this list indicates that this child is valid for the parent selected. The parent section code and description are displayed in the title bar of the window.

If the option: Selected items are disallowed is selected, then a tick against an item in this list indicates that this child is not valid for the parent selected. The parent section code and description are displayed in the title bar of the window.

Description Indicates the full description for the child item (sub-section).
Selected items are  
Allowed Select this to set all the items you ticked to represent the sub-sections allowed for this section.
Disallowed Select set all the items you ticked to represent the sub-sections not allowed for this section.
Select All Marks all items in the list as valid for the section.
Unselect All Marks all items in the list as invalid for the section.
Date last modified Displays the date on which the section relationships were last changed.
By Displays the code and name of the operator who last modified the section relationships.
OK Accepts the relationship definitions selected.
Cancel Returns to the previous screen without saving any changes made to the relationships for the section.

Rebuild Analysis History

This enables you to rebuild your General Ledger analysis history tables/files based on your existing General Ledger history and budget tables/files.

Field Description
Number of years to rebuild from history table

Indicates the number of years for which you want to rebuild the analysis history.

It defaults to the number of years to retain Summary of history balances (General Ledger Setup) but you can select to rebuild analysis history for fewer years.

Rebuild Rebuilds the history for the number of years you indicated.
Cancel Returns to the previous screen without rebuilding the history.

Notes and warnings

Coding considerations

  • When you attempt to post to, or use, a GL code which has not yet been created (General Ledger Codes) the ledger code is automatically created based on the template defined providing:

    • a valid template (or account code structure) is defined
    • you are allowed to create a ledger code from the structure.

      See Activity considerations in Notes and warnings.

    This applies in any module of the system.

    [Note]

    If a GL code is valid according to the defined structure, it is immediately created in the General Ledger when it is entered in the applicable General Ledger code field. The GL code is created irrespective of whether or not the screen details are saved.

  • Account type

    • Do not change Balance Sheet account types (Asset, Capital and Liability) to Income Statement account types (Revenue, Expense) as this causes data corruption.

      If you change a Balance Sheet account type to another Balance Sheet account type, or a Revenue account to an Expense account or vice versa, then you must run the Balance function of the GL Period End program for each year for which you are retaining General Ledger history (General Ledger Setup).

    • You can only change the account type if the ledger code has a zero account balance and a zero opening balance for the current year and a zero history record for the current year.

    • It is important to define your account types correctly, as these account types are used in the ratio analysis calculations. Therefore, if your account types are incorrectly defined, your ratios will be incorrect.

Relationship deletion

  • Relationships determine which sections of the structure is valid. No validation is performed when deleting or changing relationships, because the actual GL structure access and the relationships are separate entities.

    This means that when you remove a relationship between sections of a GL code and transactions exist against that GL code, an Invalid relationship error is displayed when you attempt to post to, or query that GL code.

eSignature considerations

Electronic Signatures provide security access, transaction logging and event triggering. This enables you to increase control over your system changes.

Access to the following eSignature transactions within this program can be restricted at Operator, Group, Role or Company level. You configure this using the eSignature Setup program.

eSignature Transaction Description
GL Section added

Controls access to the addition of sections in the GL Structure Definition program.

GL Section changed

Controls access to the maintenance of sections in the GL Structure Definition program.

GL Section deleted

Controls access to the deletion of sections in the GL Structure Definition program.

GL Ledger code template added

Controls access to the addition of general ledger code templates in the GL Structure Definition program.

GL Ledger code template changed

Controls access to the maintenance of general ledger code templates in the GL Structure Definition program.

GL Ledger code template deleted

Controls access to the deletion of general ledger code templates in the GL Structure Definition program.

GL Relationship allow

Controls access to the relationships allowed for a section in the GL Structure Definition program.

GL Relationship disallow

Controls access to the relationships not allowed for a section in the GL Structure Definition program.

Activity considerations

Operator access to the following activities within this program can be restricted. You configure this using the Operators program.

Activity Description
GL Create ledger code from structure

Controls whether an operator can automatically create a ledger code from the structure when using the Structured General Ledger definition system (see GL Structure Definition).

If this activity is allowed and the operator enters a ledger code which does not exist, but is valid according to the defined structure, it is automatically created in the General Ledger.

When the activity is not allowed and the operator enters a ledger code which does not exist a 'Ledger code not found' error is displayed and the account is not created.

This activity only applies when the General Ledger Structure definition system is enabled.