GM-X ERP for Blockchain - The GENERAL LEDGER subsystem

By Nelson Nones

28th September 2018
Amended: 30th March 2024

Introduction
1. Organisational Structure
CHART_OF_ACCOUNTS
EXCHANGE_RATE_TYPE
GL_EXCHANGE_RATE
GL_ACCOUNT
FISCAL_CALENDAR_HEADER
FISCAL_CALENDAR_PERIOD
FUNCTIONAL_UNIT
2. Journal Entries and Account Balances
GL_ACCOUNT_OPENING_BALANCE
JOURNAL_ENTRY_HEADER
JOURNAL_ENTRY_ITEM
JOURNAL_ENTRY_STATUS_TYPE
JOURNAL_ENTRY_STATUS_HIST
GL_ACCOUNT_PERIOD_BALANCE table
Journal Entry Posting logic
Opening and closing fiscal periods
3. Recurring Journal Entries
RECURRING_JE_HEADER
RECURRING_JE_ITEM
4. Standing Journal Entries
STANDING_JE_HEADER
STANDING_JE_ITEM
5. Default Overrides for General Ledger Accounts
FUNC_UNIT_PRICE_COMPONENT
FUNC_UNIT_PROD_CAT
FUNC_UNIT_FEATURE_CAT
FUNC_UNIT_INV_VAR_REASON
FUNC_UNIT_WRK_EFF_PURPOSE
6. Constructing Journal Entries Originating from Subsystems
SUBSYSTEM_JE_TEMPLATE_HEADER
SUBSYSTEM_JE_TEMPLATE_ITEM
7. Subsystem Posting to the General Ledger
Subsystem Journal Entry Templates
is_batch_post Property
is_summary_journal Property
is_approval_required Property
uom_id_statistic Property
8. Invoice Revaluations
Constructing the Account Distribution for Invoice Revaluations
Overview
Traversing the SUBSYSTEM_JE_TEMPLATE table
Determine the account_id from an account_usage value
Debits and Credits for First Side and Contra Side Entries
Accounts Receivable processing
Accounts Payable processing
Constructing journal entries
Construct JOURNAL_ENTRY_HEADER
Construct JOURNAL_ENTRY_ITEM
9. Control Data
Amendment History

Introduction

A general ledger represents the formal ledger for an organisation's financial statements with debit and credit account records validated by a trial balance. The ledger provides a complete record of financial transactions over the life of the organisation. It holds account information that is needed to prepare financial statements and includes accounts for assets, liabilities, owners' equity, revenues and expenses.

General ledgers are used by business entities and other organisations that employ the double-entry bookkeeping method, which means that each financial transaction affects at least two general ledger accounts and each entry has a debit and a credit transaction. Double-entry transactions are posted in two columns, with debit postings on the left and credit entries on the right, and the total of all debit and credit entries must balance.

The balance sheet includes cash and accounts receivable as assets in the balance sheet accounts. The accounting equation or balance sheet formula is stated as Assets - Liabilities = Equity.

After journal entry transactions are posted to the general ledger accounts, a trial balance report listing all the accounts and each account's balance is prepared at least once every year and reviewed by management. In addition, an accountant may perform an independent audit. These examinations may reveal the need to amend the trial balance by posting additional adjusting journal entries. The adjusted trial balance is used to prepare the organisation's financial statements.


Organisational Structure

The PARTY and ORGANISATION tables contain entries for every organisation which is required to be known to the GM-X application. At least one of these organisations is the "client" and it is the one for which the application is being run. This organisation is known as the "functional unit" and can be identified by adding it to the PARTY and ORGANISATION tables using a single party_id. This data provides the following:

It is also possible for a GM-X installation to handle the business for a group of organisations which do business under separate names, possibly using different functional currencies. Those organisations can be added as functional units to the PARTY and ORGANISATION tables. Each of them is identified in those tables by its own party_id.

The GM-X application can maintain separate general ledgers for these organisations. In this case each of those organisations must be added to the FUNCTIONAL_UNIT table using its party_id, in addition to the PARTY and ORGANISATION tables.

A chart of accounts (COA) is an accounting tool that provides a complete list of accounts in a general ledger. An account is a unique record for each type of asset, liability, equity, revenue and expense. The COA lists the identification codes, names and brief descriptions of accounts that an organisation has identified and made available for recording transactions in its general ledger. These establish the level of detail tracked in the general ledger.

A fiscal year (FY) is the time interval that an organisation uses for preparing annual budgets and financial statements. This interval may or may not coincide with a calendar year. The fiscal year may be divided into 12 calendar months ending on the last day of each month or may be divided into 12 periods of four or five weeks each comprising a 52- to 53-week fiscal year, where each period ends on the same day of the week.

The GM-X application allows charts of accounts, fiscal years and periods to be defined separately for each general ledger. Alternatively, when general ledgers are maintained for related functional units, it is often beneficial for each of the related Functional Units to adopt a standard chart of accounts and fiscal calendar. Standardisation makes it possible to compare and consolidate financial statements.

Figure 1 - Functional Unit, Chart of Accounts and Fiscal Calendar

finance_gl-01 (2K)

CHART_OF_ACCOUNTS table

This holds the identifier, name and description for each chart of accounts utilised by the various functional units for which a general ledger is maintained in the GM-X application.

It also identifies the accounts, which are held within the GL_ACCOUNT table, where currency translation gains or losses as well as rounding differences are posted when translating financial statements from functional to reporting currency.

Currency translation is the process of converting a foreign entity's functional currency financial statements to the reporting entity's financial statements. The foreign entity's financial statements in the functional currency should use the following exchange rates for translation:

Foreign currency translation gains and losses are a component of accumulated other comprehensive income.

FieldTypeDescription
chart_id number Identity number which is generated by the system.
chart_name string Short name.
chart_desc string Optional. Long description.
account_id_translation string Optional. This identifies the general ledger liability and equity, income or expense account affected by currency translation gains or losses (comprehensive income). Links to the GL_ACCOUNT table, and must have an account_type of 'LI' (liability and equity), 'IC' (income) or 'EX' (expense). Required if currency translation is performed.
account_id_trans_rounding string Optional. This identifies the general ledger liability and equity, income or expense account affected by currency translation rounding gains or losses. Links to the GL_ACCOUNT table, and must have an account_type of 'LI' (liability and equity), 'IC' (income) or 'EX' (expense). Required if currency translation is performed.

EXCHANGE_RATE_TYPE table

This identifies the various types of exchange rates utilised when translating an entity's results from functional currency to reporting currency.

FieldTypeDescription
exchange_rate_type_id string Unique identity.
exchange_rate_type_name string Short name.
exchange_rate_type_desc string Optional. Long description.
exchange_rate_usage string This identifies the usage of this exchange rate type for currency translation purposes. Allowable values are:
  • 'AVG' (weighted average) - the exchange rate type to be used when calculating period activity in reporting currency for asset, liability and equity, income and expense accounts. Only one such exchange rate type may exist.
  • 'END' - (month end) - the exchange rate type to be used when calculating ending balances in reporting currency at spot exchange rates for asset, liability and equity accounts. Only one such exchange rate type may exist.
  • 'HST' - (historical) - an exchange rate type to be used when calculating ending balances in reporting currency at historical exchange rates for asset, liability and equity accounts. One or more such exchange rate types may exist.

Here are some examples:

Id Description Usage
AVERAGE Weighted average AVG
MONTHEND Month end END
HST1 Historical paid in capital HST
HST2 Historical factory acquisition HST

GL_EXCHANGE_RATE table

This holds the exchange rates between functional and reporting currencies that are utilised for currency translation processing.

FieldTypeDescription
currency_from string This identifies the functional currency. Links to the CURRENCY_CODE table.
currency_to string This identifies the reporting currency. Links to the CURRENCY_CODE table.
exchange_rate_type_id string This identifies the exchange rate type. Links to the EXCHANGE_RATE_TYPE table.
seq_no number A unique number which is assigned by the system. Each pair of currencies will have its own numbering sequence, starting at 1.
exchange_rate number This is the rate which, when divided by an amount denominated in functional currency, yields an amount denominated in reporting currency.
start_date date This is the earliest date when the exchange rate first became, or will become, effective.
end_date date This is the latest date when the exchange rate was, or will be, effective. Blank signifies an unspecified date in the future.

GL_ACCOUNT table

This holds the list of accounts for each chart of accounts.

Accounts may be grouped on financial statements. For example when each bank account has its own general ledger account, those accounts can be grouped into a 'cash in banks' category which, together with petty cash, cash in banks, funds in transit, marketable securities, commercial paper, Treasury bills and short-term government bonds can be further grouped into the 'cash and cash equivalents' ('CCE') category. In this case there will be two categories, one called 'cash and cash equivalents' and another called 'cash in banks'. By defining the 'cash and cash equivalents' category as the parent of the 'cash in banks' category you are creating a hierarchy of categories. When you create a general ledger account representing a specific bank account you should identify 'cash in banks' as its parent. In this relationship 'cash in banks' is called the senior or parent and each bank account is called the junior or child. You may create categories of your choosing and define hierarchies of your choosing. The categories are known as 'summary accounts' and may contain other summary accounts as well as detail accounts.

If you have defined a hierarchy then you can only post to detail accounts at the bottom of the hierarchy. Using the example above you may post financial transactions to any of the general ledger accounts representing specific bank accounts, but not to the 'cash in banks' or 'cash and cash equivalents' accounts for which only subtotals or totals are displayed on financial statements.

Account numbers often have multiple dimensions which allow assets, liabilities, equity, revenue and expense transactions to be tracked from different perspectives or identifiers within the general ledger. For example they may contain a four-digit account number, three-digit division code and two-digit department code separated by a delimiter. In this case the account number '100104110' can be formatted like '100.10.4110'. When formatted account numbers are specified, to save data entry time the GM-X application allows either formatted or unformatted account numbers to be entered.

FieldTypeDescription
chart_id number This identifies the chart of accounts. Links to an entry on the CHART_OF_ACCOUNTS table.
account_id string Account number which is defined manually.
account_id_formatted string The formatted account number. The default formatted account number is the same as the account_id. Formatting characters which can be inserted into the account_id as separators are '.' (dot), '-' (hyphen) or ' ' (space).
account_name string Short name.
account_desc string Optional. Long description.
account_type string This identifies how the account affects the trial balance. Allowable values are:
  • 'AS' - asset
  • 'LI' - liability and equity
  • 'IC' - income
  • 'EX' - expense
account_id_snr string Optional. This identifies the account number in which this account number is grouped for reporting purposes. Links to an entry on the GL_ACCOUNT table, and must have the same account type as this account.
is_posting_allowed boolean A YES/NO switch with an initial value of YES. It indicates if journal entries can be posted to this account or not. If this account is a grouping of other account numbers then the initial value is NO and cannot be changed.
exchange_rate_type_id string Optional. This identifies the month-end or historical exchange rate type to be utilised when translating balances for this account from functional to reporting currency. Links to an entry on the EXCHANGE_RATE_TYPE table. Required only for 'AS' (asset) and 'LI' (liabilities and equity) accounts if currency translation is performed.
is_elimination_account boolean A YES/NO switch with an initial value of NO. If YES, it denotes an intercompany asset, liability, income or expense account having balances which must be eliminated when preparing consolidated financial statements.
uom_id_statistic string Optional. The unit of measure for the statistical balances accumulated in the GL_ACCOUNT_OPENING_BALANCE and GL_ACCOUNT_PERIOD_BALANCE tables. Links to an entry on the UNIT_OF_MEASURE table.

FISCAL_CALENDAR_HEADER table

This holds information about each fiscal calendar system, including settings which determine the beginning and ending dates for fiscal years and periods at any time in the past or future.

FieldTypeDescription
fiscal_calendar_id number Identity number which is generated by the system.
fiscal_calendar_name string Short name.
fiscal_calendar_desc string Optional. Long description.
fiscal_calendar_type string This identifies how the fiscal periods for this calendar are set up. Allowable values are:
  • 'CY' (calendar year) - a fiscal year defined by the 12 months beginning 1st January and ending 31st December
  • 'FY' - (fiscal year) - a fiscal year defined by the 12 consecutive months ending on the last day of a month other than December
  • 'FW' - (fiscal weeks) - a fiscal year defined by dividing a year into four quarters of 13 weeks grouped into two 4-week fiscal periods and one 5-week fiscal period, each ending on the same day of the week
fiscal_year_end_month number Optional. Only required if fiscal_calendar_type is 'FY' (fiscal year) or is 'FW' (fiscal week). Identifies the month when each fiscal year ends. Allowable values are 1 (January) through to 12 (December).
ending_day_of_week number Optional. Only required if fiscal_calendar_type is 'FW' (fiscal weeks). Identifies the day of the week when each fiscal period always ends. Allowable values are 1 (for Monday) through 7 (for Sunday) which is the ISO-8610 standard numeric representation of the day of the week.
end_date_method string Optional. Only required if fiscal_calendar_type is 'FW' (fiscal weeks). Identifies the method for determining the ending date of each fiscal year, when each fiscal period always ends on the same day of the week. Allowable values are:
  • 'LAST' - the last day of the week in the fiscal year end month (for example, 'Last Saturday of August')
  • 'NEAR' - the day of the week that falls closest to the last day of the fiscal year end month (for example, 'the Saturday nearest the last day of August')
end_date_periods number Optional. Only required if fiscal_calendar_type is 'FW' (fiscal weeks). Identifies the method for determining the ending date of each fiscal period, when each fiscal period always ends on the same day of the week. Allowable values are:
  • '445' - a quarter of 13 weeks commencing with two 4-week periods followed by one 5-week period
  • '544' - a quarter of 13 weeks commencing with one 5-week period followed by two 4-week periods
  • '454' - a quarter of 13 weeks commencing with one 4-week period, followed by one 5-week period and then one 4-week period

FISCAL_CALENDAR_PERIOD table

This identifies every fiscal period with each fiscal year within a particular fiscal calendar.

FieldTypeDescription
fiscal_calendar_id number This identifies the fiscal calendar. Links to an entry on the FISCAL_CALENDAR_HEADER table.
fiscal_year number The Gregorian year when the end of the fiscal year occurs. Allowable values are 1 through 9999.
fiscal_period number The identity of the fiscal period. Allowable values are 1 through 13. Periods 1 through 12 correspond to months of the fiscal year. Period 13 is the audit period.
start_date date The start date for this fiscal period. For periods 1 and 13, this must be the first day following the ending date of the previous fiscal year (if any). For periods 2 through 12, this must be the first day following the ending date of the previous fiscal period.
end_date date The end date for this fiscal period. For periods 1 through 12, this is determined by the fiscal calendar type, ending day of the week (if applicable), method for determining the ending date of each fiscal year (if applicable) and method for determining the ending date of each fiscal period (if applicable) for the FISCAL_CALENDAR_HEADER to which this period is linked. For period 13, this is the last day of the fiscal year determined by the fiscal calendar type, ending day of the week (if applicable) and method for determining the ending date of each fiscal year (if applicable).

FUNCTIONAL_UNIT table

This holds the identifier, reporting currency, chart of accounts, fiscal calendar and last closed fiscal period for each general ledger maintained within the GM-X application. It also identifies various accounts that the GM-X application utilises by default or to automate specific accounting functions.

Each of the organisations for which a general ledger is kept is also known as a Business Entity.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the ORGANISATION table.
currency_code_reporting string Optional. Links to an entry on the CURRENCY_CODE table. Only required if financial reports need to be produced in a currency that is different from the currency in which the organisation operates.
chart_id number This identifies the chart of accounts. Links to an entry on the CHART_OF_ACCOUNTS table. Cannot be changed if any entries for this organisation exist in the FUNC_UNIT_PRICE_COMPONENT, GL_ACCOUNT_OPENING_BALANCE, GL_ACCOUNT_PERIOD_BALANCE, JOURNAL_ENTRY_ITEM, RECURRING_JE_ITEM or STANDING_JE_ITEM tables.
fiscal_calendar_id number This identifies the fiscal calendar used by this Business Entity. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
last_closed_fiscal_period_year number Optional. This is the organisation's last closed fiscal year (if any). Required if two or more of the organisation's fiscal years have been closed using this GM-X system. If this is the case, only two years can be chosen: the current last_closed_fiscal_period_year, and the year preceding it. Selecting the earlier of those two years will automatically re-open the last closed fiscal year. But if only one fiscal year has been closed, that year and a blank year can be chosen. Selecting the blank year will automatically re-open the earliest fiscal year during which any journal entries have been posted to this organisation's general ledger.

Re-opening any of these fiscal years will automatically re-open the audit period for that year and reset the last_closed_fiscal_period to 12 (the last regular fiscal period).

Links to 13 related entries on the FISCAL_CALENDAR_PERIOD table.

last_closed_fiscal_period number Optional. This is the month number of the last closed regular fiscal period of the current fiscal year (if any). If it is blank, then none of the current fiscal year's regular fiscal periods have been closed yet. The current fiscal year is the year following the last_closed_fiscal_period_year. If the last_closed_fiscal_period_year is blank (i.e. the organisation has never closed a fiscal year on this system yet), the current fiscal year is the earliest fiscal year during which any journal entries have been posted to this organisation's general ledger.

Links to an entry on the FISCAL_CALENDAR_PERIOD table.

is_audit_period_closed boolean A YES/NO switch with an initial value of NO. It indicates if the audit period for the current fiscal year is closed, or not. The value cannot be changed to YES until the last_closed_fiscal_period is 12 (i.e. the last period of the current fiscal year is closed). Changing the value to YES will automatically close the current fiscal year by changing the last_closed_fiscal_period_year to the current fiscal year, and resetting the last_closed_fiscal_period to blank.
account_id_cash_in_bank string This identifies the general ledger asset account affected by deposits to, or withdrawals from, the bank account(s) into which cash received from customers is deposited and from which cash paid to vendors is withdrawn by this organisation. Links to an entry on the GL_ACCOUNT table.
account_id_trade_receivables string This identifies the default general ledger asset account account in which open trade receivables belonging to this organisation are held. Links to an entry on the GL_ACCOUNT table.
account_id_vendor_deposit string Optional. This identifies the general ledger asset account affected by this organisation's accrual of vendor deposits. Links to an entry on the GL_ACCOUNT table. Required if the organisation pre-pays expenses to vendors.
account_id_ffe string Optional. This identifies the general ledger asset account in which the acquisition value of depreciable property belonging to this organisation is held. Links to an entry on the GL_ACCOUNT table. Required for capitalising fixed assets belonging to this organisation.
account_id_accum_depreciation string Optional. This identifies the general ledger asset account in which the accumulated depreciation of depreciable property belonging to this organisation is held. Links to an entry on the GL_ACCOUNT table. Required for depreciating fixed assets belonging to this organisation.
account_id_inventory string Optional. This identifies the default general ledger asset account in which the value of inventory belonging to this organisation is held. Links to an entry on the GL_ACCOUNT table. Required if the organisation holds any inventories.
account_id_wip string This identifies the default general ledger asset account in which the value of unbilled work-in-process (WIP) belonging to this organisation is held. Links to an entry on the GL_ACCOUNT table.
account_id_trade_payables string This identifies the default general ledger liability account in which open trade payables owed by this organisation are held. Links to an entry on the GL_ACCOUNT table.
account_id_sales_tax_payable string Optional. This identifies the default general ledger liability account in which sales or value-added taxes owed to tax authorities by this organisation are held. Links to an entry on the GL_ACCOUNT table. Required if the organisation collects sales or value-added taxes from customers.
account_id_tax_wh_payable string Optional. This identifies the default general ledger liability account in which withheld corporate or personal income taxes payable to a tax authority are held. Links to an entry on the GL_ACCOUNT table. Required if supplier payments made by the organisation are subject to corporate or personal income tax withholding (tax deducted at source).
account_id_customer_deposit string Optional. This identifies the general ledger liability account affected by this organisation's accrual of customer deposits. Links to an entry on the GL_ACCOUNT table. Required if the organisation invoices and accepts customer deposits.
account_id_commission_payable string Optional. This identifies the default general ledger liability account affected by sales commissions payable. Links to an entry on the GL_ACCOUNT table. Required if the organisation pays commissions on sales.
account_id_pension_payable string Optional. This identifies the general ledger liability account affected by pensions payable. Links to an entry on the GL_ACCOUNT table. Required if the organisation withholds pension contributions from employee pay, or matches employee pension contributions.
account_id_commission_liability string Optional. This identifies the default general ledger liability account affected by this organisation's accrual of sales commission liabilities. Links to an entry on the GL_ACCOUNT table. Required if the organisation pays commissions on sales.
account_id_sales_tax_liability string Optional. This identifies the default general ledger liability account affected by this organisation's accrual of sales or value added taxes collected from customers and paid to tax authorities. Links to an entry on the GL_ACCOUNT table. Required if the organisation collects sales or value added taxes from customers.
account_id_accrued_expense string This identifies the general ledger liability account in which accrued trade payables owed by this organisation but not yet invoiced by suppliers are held. Links to an entry on the GL_ACCOUNT table.
account_id_retained_earnings string This identifies the general ledger equity account affected by the year-end close and rollover of net income or (loss) to the following fiscal year. Links to an entry on the GL_ACCOUNT table.
account_id_sales_supply string Optional. This identifies the default general ledger income account affected by the accrual of revenue derived from goods supplied by this organisation to customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from the supply of goods to customers.
account_id_sales_use string Optional. This identifies the default general ledger income account affected by the accrual of revenue derived from customer use (rental, lease or licensure) of property belonging to this organisation. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from customer use of the organisation's property.
account_id_sales_service string Optional. This identifies the default general ledger income account affected by the accrual of revenue derived from services supplied by this organisation to customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from the supply of services to customers.
account_id_exp_recovery string Optional. This identifies the default general ledger income account affected by the accrual of revenue derived by this organisation from recovery of nontax expenses from customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from customer expense reimbursements.
account_id_tax_recovery string Optional. This identifies the default general ledger income account affected by the accrual of revenue derived by this organisation from recovery of sales, use and output value-added taxes from customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation can pass through sales, use or output VAT to its customers.
account_id_cogs string Optional. This identifies the default general ledger income or expense account affected by the direct cost of goods sold to this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from the supply of goods to customers.
account_id_ppv string Optional. This identifies the default general ledger income or expense account affected by purchase price variances. Links to an entry on the GL_ACCOUNT table. Required if the organisation values inventories and cost of goods sold at standard or frozen standard cost.
party_id_commission number Optional. This identifies the default party (person or organisation) which earns sales commissions. Links to an entry on the PARTY table. Required if the system will calculate sales commissions or bonuses automatically.
commission_percent number Optional. This is the default sales commission percentage. Required if the system will calculate sales commissions or bonuses automatically.
account_id_commission_expense string Optional. This identifies the default general ledger income or expense account affected by this organisation's accrual of sales commission expenses. Links to an entry on the GL_ACCOUNT table. Required if the organisation pays commissions on sales.
account_id_direct_labour string Optional. This identifies the default general ledger income or expense account affected by the direct cost of labour required to provide services to this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from the supply of services to customers.
account_id_staff_direct_reimb string Optional. This identifies the default general ledger income or expense account affected by the accrual of nontax expenses incurred by the organisation that are recoverable from this organisation's customers and reimbursable to this organisation's direct staff. Links to an entry on the GL_ACCOUNT table. Required when this organisation's direct staff may claim expenses that are recoverable from this organisation's customers.
account_id_staff_direct_mileage string Optional. This identifies the general ledger income or expense account affected by the accrual of mileage expenses incurred by the organisation that are reimbursable to this organisation's direct staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's direct staff may claim out-of-pocket expenses for business use of their personal automobiles.
account_id_staff_direct_air string Optional. This identifies the general ledger income or expense account affected by the accrual of air transportation expenses incurred by the organisation that are reimbursable to this organisation's direct staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's direct staff may claim air transportation expenses.
account_id_staff_direct_hotel string Optional. This identifies the general ledger income or expense account affected by the accrual of accommodation expenses incurred by the organisation that are reimbursable to this organisation's direct staff but are not recoverable from this organisation's customers. Links to the GL_ACCOUNT table. Required when this organisation's direct staff may claim accommodation expenses.
account_id_staff_direct_meal_own string Optional. This identifies the general ledger income or expense account affected by the accrual of meal and incidental expenses incurred by the organisation that are reimbursable to this organisation's direct staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's direct staff may claim meal and incidental expenses on either a per-diem or actual cost basis.
account_id_staff_direct_entertain string Optional. This identifies the general ledger income or expense account affected by the accrual of entertainment expenses incurred by the organisation that are reimbursable to this organisation's direct staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's direct staff may claim entertainment expenses.
account_id_staff_direct_other string Optional. This identifies the general ledger income or expense account affected by the accrual of other expenses incurred by the organisation that are reimbursable to this organisation's direct staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's direct staff may claim such expenses.
pension_percent number Optional. This is the percentage of gross employee compensation to be withheld as the employee's pension contribution, or matched by the employer. Required if the organisation withholds pension contributions from employee pay, or matches employee pension contributions.
account_id_pension_expense string Optional. This identifies the general ledger expense account affected by this organisation's employee pension contributions. Links to an entry on the GL_ACCOUNT table. Required if the organisation matches employee pension contributions.
account_id_staff_indirect_reimb string Optional. This identifies the default general ledger income or expense account affected by the accrual of nontax expenses incurred by the organisation that are recoverable from this organisation's customers and reimbursable to this organisation's management or indirect staff. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim expenses that are recoverable from this organisation's customers.
account_id_staff_indirect_mileage string Optional. This identifies the general ledger expense account affected by the accrual of mileage expenses incurred by the organisation that are reimbursable to this organisation's management or indirect staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim out-of-pocket expenses for business use of their personal automobiles.
account_id_staff_indirect_air string Optional. This identifies the general ledger expense account affected by the accrual of air transportation expenses incurred by the organisation that are reimbursable to this organisation's management or indirect staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim air transportation expenses.
account_id_staff_indirect_hotel string Optional. This identifies the general ledger expense account affected by the accrual of accommodation expenses incurred by the organisation that are reimbursable to this organisation's management or indirect staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim accommodation expenses.
account_id_staff_indirect_meal_own string Optional. This identifies the general ledger expense account affected by the accrual of meal and incidental expenses incurred by the organisation that are reimbursable to this organisation's management or indirect staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim meal and incidental expenses on either a per-diem or actual cost basis.
account_id_staff_indirect_entertain string Optional. This identifies the general ledger expense account affected by the accrual of entertainment expenses incurred by the organisation that are reimbursable to this organisation's management or indirect staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim entertainment expenses.
account_id_staff_indirect_other string Optional. This identifies the general ledger expense account affected by the accrual of other expenses incurred by the organisation that are reimbursable to this organisation's management or indirect staff but are not recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required when this organisation's management or indirect staff may claim such expenses.
account_id_depreciation string Optional. This identifies the general ledger expense account affected by the accrual of depreciation expense for depreciable property belonging to this organisation. Links to an entry on the GL_ACCOUNT table. Required for depreciating fixed assets belonging to this organisation.
account_id_debtor_fin_dsc_offered string This identifies the default general ledger income or expense account in which debtor financial discounts offered are accumulated. Links to an entry on the GL_ACCOUNT table.
account_id_creditor_fin_dsc_taken string This identifies the default general ledger income or expense account in which creditor financial discounts taken are accumulated. Links to an entry on the GL_ACCOUNT table.
account_id_book_gain_loss string Optional. This identifies the general ledger income or expense account affected by revaluation of open accounts receivable and payable denominated in a currency other than the organisation's functional currency. Links to an entry on the GL_ACCOUNT table. Required for revaluation processing of open accounts receivable and payable.
account_id_crystallised_gain_loss string Optional. This identifies the general ledger income or expense account affected by settlement of open accounts receivable and payable denominated in a currency other than the organisation's functional currency. Links to an entry on the GL_ACCOUNT table. Required when customer and vendor invoices may be denominated and settled in a currency other than the organisation's functional currency.
account_id_tax_reimb string Optional. This identifies the default general ledger income or expense account affected by the accrual of taxation expenses incurred by the organisation that are recoverable from this organisation's customers. Links to an entry on the GL_ACCOUNT table. Required if the organisation can pass through sales, use or output VAT to its customers.
account_id_tax_wh_prepaid string Optional. This identifies the default general ledger asset account in which withheld corporate or personal income taxes belonging to this organisation are held. Links to an entry on the GL_ACCOUNT table. Required if customer payments made to the organisation are subject to corporate or personal income tax withholding (tax deducted at source) and the amount deducted is not a final tax assessment.
account_id_tax_wh_final string Optional. This identifies the default general ledger expense account affected by final withholding tax. Links to an entry on the GL_ACCOUNT table. Required if customer payments made to the organisation are subject to corporate or personal income tax withholding (tax deducted at source) and the amount deducted is a final tax assessment.
account_id_commissions_fees string Optional. This identifies the general ledger expense account affected by financial intermediary charges such as currency exchange fees, bank service fees and collection agency fees. Links to an entry on the GL_ACCOUNT table. Required if financial intermediaries can collect those fees by automatically debiting the organisation's financial accounts upon receipt or disbursement of funds, and an appropriate expense account having account_usage = 'commissions_fees' is not specified for each SUBSYSTEM_JE_TEMPLATE_HEADER entry which is utilised for such receipts or disbursements.
account_id_auc string Optional. This identifies the general ledger asset account to be debited when value is added to an asset under construction (AUC) belonging to this general asset account. Links to an entry on the GL_ACCOUNT table.
account_id_expense string Optional. This identifies the general ledger expense account to be debited when an asset belonging to this general asset account is expensed instead of depreciated or amortised. Links to an entry on the GL_ACCOUNT table.
account_id_impairment string Optional. This identifies the general ledger expense account to be debited when an asset belonging to this general asset account is impaired. Links to an entry on the GL_ACCOUNT table.
account_id_disposal string Optional. This identifies the general ledger income or expense account to be credited when an asset belonging to this general asset account is disposed of. Links to an entry on the GL_ACCOUNT table.
account_id_reserve string Optional. This identifies the default general ledger asset account affected by yield loss variances and/or inventory item variances. Links to an entry on the GL_ACCOUNT table. Required if the organisation accounts for inventory reserves arising from yield loss variances and/or inventory item variances separately from the inventory account.
account_id_ylv string Optional. This identifies the default general ledger income or expense account affected by yield loss variances. Links to an entry on the GL_ACCOUNT table. Required if the organisation records conversions.
account_id_variance string Optional. This identifies the default general ledger income or expense account affected by inventory item variances. Links to an entry on the GL_ACCOUNT table. Required if the organisation records inventory item variances arising from stock checks or other reasons.

Journal Entries and Account Balances

A journal entry ('JE'), sometimes called a 'journal voucher', is a transaction that is recorded in a functional unit's general journal and consists of the following:

Following the double-entry accounting method, if the journal entry affects at least two accounts, and the amounts to be debited and credited balance, these journalised amounts (which will appear in the journal in order by date) are then posted to the accounts in the general ledger.

Each journal entry has at least two states, pending and posted. After a journal entry is posted, its amounts and accounts must not be changed. Instead, if corrections are needed, two new journal entries should be entered and posted, one to reverse the original journal entry and the other consisting of the corrected amounts and accounts.

It is also possible for journal entries to have additional states. For example, journal entries may require approval before they are posted.

Figure 2a - Opening Balances, Journal Entries and Period Balances

finance_gl-02a (2K)

Figure 2b - Relationships with other database tables

finance_gl-02b (5K)

GL_ACCOUNT_OPENING_BALANCE table

This holds the opening balances and budgets for each functional unit and account. Opening balances reflect the effects of journal entries that were already posted before the GM-X application was placed into service. This means that organisations which commenced operations after the GM-X application was placed into service will not have any opening balances.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
chart_id string This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table.
account_id string This identifies the general ledger account. Links to an entry on the GL_ACCOUNT table.
debit_functional number Optional. The opening debit balance in the functional currency. Never negative.
credit_functional number Optional. The opening credit balance in the functional currency. Never negative.
debit_reporting number Optional. The system calculates this value during currency translation processing when the debit_functional value is greater than the credit_functional value for this organisation and account. In this case it is the opening balance in the reporting currency. Blank if currency translation is not performed. Always blank for 'IC' (income) and 'EX' (expense) accounts.
credit_reporting number Optional. The system calculates this value during currency translation processing when the credit_functional value is greater than the debit_functional value for this organisation and account. In this case it is the opening balance in the reporting currency. Blank if currency translation is not performed. Always blank for 'IC' (income) and 'EX' (expense) accounts.
debit_budget number Optional. The opening debit budget in functional currency. Never negative.
credit_budget number Optional. The opening credit budget in functional currency. Never negative.
statistic number Optional. The sum of all statistics posted to this organisation, account and fiscal period, in the unit of measure specified for the account_id. May be positive or negative.

JOURNAL_ENTRY_HEADER table

This holds information about journal entries.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
fiscal_calendar_id number This identifies the fiscal calendar. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
fiscal_year number This identifies the Gregorian year when the end of the fiscal year occurs. Automatically calculated by the system based on the posting_date. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
fiscal_period number This identifies the fiscal period. Automatically calculated by the system based on the posting_date. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
journal_number number This is the journal entry number which is generated by the system. Each functional unit and fiscal year will have its own numbering sequence.
posting_date date This is the date which determines the fiscal period to which this journal entry was (or will be) posted. Today's date by default.
transaction_date date This is the date when the transaction underlying this journal entry occurred. Today's date by default.
journal_desc string Long description of the journal entry. This is also the default description for each of this journal entry's items.
uom_id_statistic string Optional. The unit of measure for the journal line item statistic, if any. Links to an entry on the UNIT_OF_MEASURE table. This is the default statistics unit of measure for each of this journal entry's items.
recurring_je_number number Optional. This is the recurring journal entry number which was used to create this journal entry. Links to an entry on the RECURRING_JE_HEADER table.
processing_seq number Optional. This identifies the sequence in which this recurring journal entry was processed.
repeat_count number Optional. The repeat_count value from RECURRING_JE_HEADER when this occurrence was created.
je_status_type_id string This is the current journal entry status, which always starts off as 'Pending'. Links to an entry on the JOURNAL_ENTRY_STATUS_TYPE table.
is_posted boolean A YES/NO switch with an initial value of NO. Indicates if the journal entry has been posted to the general ledger, or not.
subsys_id string This identifies a GM-X subsystem. Links to an entry on the MNU_SUBSYSTEM table.

JOURNAL_ENTRY_ITEM table

This holds accounts and amounts for each journal entry item.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the JOURNAL_ENTRY_HEADER table.
fiscal_calendar_id number This identifies the fiscal calendar. Links to an entry on the JOURNAL_ENTRY_HEADER table.
fiscal_year number This identifies the Gregorian year when the end of the fiscal year occurs. Links to an entry on the JOURNAL_ENTRY_HEADER table.
fiscal_period number This identifies the fiscal period. Links to an entry on the JOURNAL_ENTRY_HEADER table.
journal_number number This is the journal entry number. Each functional unit and fiscal year will have its own numbering sequence. Links to an entry on the JOURNAL_ENTRY_HEADER table.
journal_line_item number This is the journal entry line item number which is generated by the system. Journal entry line item numbers start at 1 for the first line item entered, and are incremented by 1 for each subsequent line item.
journal_item_desc string Optional. Long description. If blank then journal_desc from the JOURNAL_ENTRY_HEADER table is displayed instead.
party_id_transacting number Optional. This identifies the party (person or organisation) which is a customer, vendor, contractor or employee. Links to an entry on the PARTY table.
document_reference string Optional. This is a reference to a document (such as an invoice number, cheque number or payment reference number) or engagement (such as a project number).
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id string This identifies the general ledger account. Links to the GL_ACCOUNT table.
debit_functional number Optional. The journal line item debit amount in the functional currency. Never negative. Must be blank if the journal entry line item credit is greater than zero.
credit_functional number Optional. The journal line item credit amount in the functional currency. Never negative. Must be blank if the journal entry line item debit is greater than zero.
statistic number Optional. The journal line item statistic amount in the uom_id_statistic.
uom_id_statistic string Optional. The unit of measure for the journal line item statistic, if any. Links to an entry on the UNIT_OF_MEASURE table. If blank then the default unit of measure from the journal entry header is used instead.
invoice_type string Optional. Links to an entry on the INVOICE_HEADER table.
invoice_id number Optional. Links to an entry on the INVOICE_HEADER table.
invoice_adjustment_seq_no number Optional. Links to an entry on the INVOICE_ADJUSTMENT table.
invoice_item_seq_no number Optional. Links to an entry on the INVOICE_ITEM table.
invoice_item_prod_feature_id number Optional. Links to an entry on the INVOICE_ITEM_FEATURE table.
invoice_item_adjustment_seq_no string Optional. Links to an entry on the INVOICE_ITEM_ADJUSTMENT table.
VendorTxCode string Optional. Links to an entry on the ORDER_PAYMENT table.
payment_id string Optional. Links to an entry on the PAYMENT_HEADER table.
payment_line_no number Optional. Links to an entry on the PAYMENT_ITEM_SETTLED table.
payment_applied_line_no number Optional. Links to an entry on the PAYMENT_ITEM_APPLIED table.

receipt_id number Optional. Links to an entry on the SETTLEMENT_HEADER table.
receipt_line_no number Optional. Links to an entry on the SETTLEMENT_ITEM table.
receipt_applied_line_no number Optional. Links to an entry on the SETTLEMENT_ITEM_APPLIED table.
order_type string Optional. Links to an entry on the ORDER_HEADER table.
order_id number Optional. Links to an entry on the ORDER_HEADER table.
order_adjustment_seq_no number Optional. Links to an entry on the ORDER_ADJUSTMENT table.
order_item_seq_no number Optional. Links to an entry on the ORDER_ITEM table.
order_item_prod_feature_id number Optional. Links to an entry on the ORDER_ITEM_FEATURE table.
order_item_adjustment_seq_no number Optional. Links to an entry on the ORDER_ITEM_ADJUSTMENT table.
rma_id number Optional. Links to an entry on the RETURN_MATL_AUTH_HDR table.
rma_seq_no number Optional. Links to an entry on the RETURN_MATL_AUTH_ITEM table.
item_issuance_id number Optional. Links to an entry on the ITEM_ISSUANCE table.
item_receipt_id number Optional. Links to an entry on the ITEM_RECEIPT table.
variance_product_id string Optional. Links to an entry on the INVENTORY_ITEM_VARIANCE table.
variance_inventory_item_id number Optional. Links to an entry on the INVENTORY_ITEM_VARIANCE table.
variance_seq_no number Optional. Links to an entry on the INVENTORY_ITEM_VARIANCE table.
movement_product_id string Optional. Links to an entry on the INVENTORY_ITEM_MOVEMENT table.
movement_inventory_item_id number Optional. Links to an entry on the INVENTORY_ITEM_MOVEMENT table.
movement_seq_no number Optional. Links to an entry on the INVENTORY_ITEM_MOVEMENT table.
container_id number Optional. Links to an entry on the CONTAINER_MOVEMENT table.
container_movement_seq_no number Optional. Links to an entry on the CONTAINER_MOVEMENT table.
schedule_id number Optional. Links to an entry on the PM_SCHEDULE_HDR table.
activity_seq_no number Optional. Links to an entry on the PM_SCHEDULE table.
timesheet_id number Optional. Links to an entry on the TIMESHEET_ENTRY table.
timesheet_entry_seq_no number Optional. Links to an entry on the TIMESHEET_ENTRY table.
work_effort_id number Optional. Links to an entry on the TIMESHEET_ENTRY table.
day_no number Optional. Links to an entry on the TIMESHEET_ENTRY table.
event_id number Optional. Links to an entry on the EVENT table.
expense_id number Optional. Links to an entry on the EXPENSE_ITEM table.
asset_id number Optional. Links to an entry on the ASSET_OWNER table.
asset_seq_no number Optional. Links to an entry on the ASSET_BOOK_EVENT table.
facility_id number Optional. The facility associated with this JOURNAL_ENTRY_ITEM. Links to an entry on the FACILITY table. Required for the purpose of including the statistic value (for e.g., quantity of electrical energy consumption) in the estimate of Scope 2 greenhouse gas (GHG) emissions attributable to that facility.

JOURNAL_ENTRY_STATUS_TYPE table

This holds user-definable journal status values. Values used by the software are defined in a system file and cannot be altered.

FieldTypeDescription
je_status_type_id string Unique identity.
je_status_type_name string Short Name
je_status_type_desc string Optional. Long description.
sort_seq number Optional. Used for sorting entries in the dropdown list.

Here are the values used by the system which cannot be altered:

Id Sort Seq Description
PEND 1 Pending completion of data entry
COMP 2 Data entry complete and balanced
APPR 3 Approved for posting
POST 4 Posted without errors
ERROR 5 Error(s) found during attempt to post

JOURNAL_ENTRY_STATUS_HIST table

This holds the status history for each journal entry.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the JOURNAL_ENTRY_HEADER table.
fiscal_calendar_id number This identifies the fiscal calendar. Links to an entry on the JOURNAL_ENTRY_HEADER table.
fiscal_year number This identifies the Gregorian year when the end of the fiscal year occurs. Links to an entry on the JOURNAL_ENTRY_HEADER table.
fiscal_period number This identifies the fiscal period. Links to an entry on the JOURNAL_ENTRY_HEADER table.
journal_number number This is the journal entry number. Each functional unit and fiscal year will have its own numbering sequence. Links to an entry on the JOURNAL_ENTRY_HEADER table.
seq_no number Sequence number which is generated by the system.
je_status_type_id string Links to an entry on the JOURNAL_ENTRY_STATUS_TYPE table.
status_date date The date on which this change was made.

GL_ACCOUNT_PERIOD_BALANCE table

This holds the current balances and budgets for each functional unit, account and fiscal period.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept. Links to an entry on the FUNCTIONAL_UNIT table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table.
account_id string This identifies the general ledger account. Links to an entry on the GL_ACCOUNT table.
fiscal_calendar_id number This identifies the fiscal calendar. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
fiscal_year number This identifies the Gregorian year when the end of the fiscal year occurs. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
fiscal_period number This identifies the fiscal period. Links to an entry on the FISCAL_CALENDAR_PERIOD table.
debit_functional number Optional. The sum of all journal entry debits posted to this organisation, account and fiscal period, in the functional currency. Never negative.
credit_functional number Optional. The sum of all journal entry credits posted to this organisation, account and fiscal period, in the functional currency. Never negative.
period_activity number Optional. This is the net total of all journal entry debits less journal entry credits posted to this organisation, account and fiscal period, in the reporting currency. Blank if currency translation is not performed.
ending_balance number Optional. This is the closing balance (positive for debit balances, or negative for credit balances) for this organisation and account as at the end of this fiscal period, in the reporting currency. Blank if currency translation is not performed. Always blank for 'IC' (income) and 'EX' (expense) accounts.
debit_reporting number Optional. The system calculates this value during currency translation processing when the debit_functional value is greater than the credit_functional value for this organisation, account and fiscal period. In this case:
  • The value calculated for 'AS' (asset) and 'LI' (liability and equity) accounts is period_activity + (ending_balance - previous ending_balance - period_activity). If the result is less than zero then it is stored as the credit_reporting value.
  • The value calculated for 'IC' (income) and 'EX' (expense) accounts is period_activity.
credit_reporting number Optional. The system calculates this value during currency translation processing when the credit_functional value is greater than the debit_functional value for this organisation, account and fiscal period. In this case:
  • The value calculated for 'AS' (asset) and 'LI' (liability and equity) accounts is period_activity + (ending_balance - previous ending_balance - period_activity). If the result is greater than zero then it is stored as the debit_reporting value.
  • The value calculated for 'IC' (income) and 'EX' (expense) accounts is period_activity.
debit_budget number Optional. The sum of all budget debits posted to this organisation, account and fiscal period, in the functional currency. Never negative.
credit_budget number Optional. The sum of all budget credits posted to this organisation, account and fiscal period, in the functional currency. Never negative.
Statistic number Optional. The sum of all statistics posted to this organisation, account and fiscal period, in the unit of measure specified for the account_id. May be positive or negative.

Journal Entry Posting logic

Every Journal Entry starts off with a 'Pending' status and is not eligible for posting into the GL_ACCOUNT_PERIOD_BALANCE table until its status is changed to 'Complete'. This is not possible unless the following conditions are satisfied:

Depending on the organisation's policy journals may need to be approved before they can be posted. Posting may be done either online by selecting a journal and pressing the navigation button labelled 'Post', or by a scheduled batch job which will process all eligible journals. Once a journal has been posted it cannot be amended.

The steps taken by the journal posting process are as follows:

  1. Determine the earliest period which will accept postings. The will either be the period which immediately follows the last closed period, or, if no periods have been closed yet, it will be the period of the earliest posting. If no postings have been made yet then any period is valid.
  2. Examine all records on the JOURNAL_ENTRY_HEADER table which satisfy the following conditions:
  3. Each journal's items will the be revalidated using the rules identified previously. If the line items fail this validation in any way then the journal's status will be changed to 'Errors found when attempting to post' and it will be excluded from the posting process. The journal will have to be corrected before it will be eligible for posting. If the validation passes then the journal's is_posted flag will be set to 'Y' and its status will be changed to 'Posted'.
  4. For each valid journal item ensure that a corresponding entry exists on the GL_ACCOUNT_PERIOD_BALANCE table for that combination of party_id_functional, chart_id, account_id, fiscal_calendar_id, fiscal_year and fiscal_period. If one does not exist then it will be created, otherwise the existing record will be updated.
  5. Instead of updating the totals on the GL_ACCOUNT_PERIOD_BALANCE table with amounts from each individual line item being processed in the current run the software will instead perform a SUM operation on all the values from all relevant journals which have their is_posted flag set to 'Y'. This will ensure that the total is always calculated as the sum of its parts.

Opening and closing fiscal periods

The idea of closing a fiscal period is to prevent any more journals from being posted into that period. Journal Entries can only be posted into the current open period or future periods. Whenever a Journal Entry is created the posting_date is used to obtain the fiscal_period which covers this date from the FISCAL_CALENDAR_PERIOD table.


Recurring Journal Entries

A recurring journal entry is a journal entry that is recorded in every accounting period. For example, a company might record monthly rent by debiting Rental Expense for $3,000 and crediting Accounts Payable for $3,000 each and every month.

Recurring journal entries can also have identical accounts but amounts which vary by month. For example, the journal entry to record property insurance expense might involve Insurance Expense and Prepaid Insurance every month, but the amounts will change when the amount of the prepaid insurance premiums change. Other recurring entries will involve the identical accounts, but the amounts will be different in each accounting period. An example is the payroll entry. Each payroll entry will have the same accounts but different amounts due to the number of hours worked. Other examples of recurring entries with amounts that differ each period include sales, interest earned, interest expense, bank service charges, and so on.

The GM-X application also performs allocation processing using recurring journal entries created specifically for this purpose.

Figure 3a - Recurring Journal Entries

finance_gl-03a (2K)

Figure 3b - Relationships with other database tables

finance_gl-03b (3K)

RECURRING_JE_HEADER table

This holds information about recurring journal entries.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
recurring_je_number number This is the recurring journal entry number which is generated by the system. Each functional unit will have its own numbering sequence.
processing_seq number This identifies the sequence in which this recurring journal entry is processed. Each recurring journal entry will have its own processing sequence, starting at 1.

For recurring journal entries representing allocations, this setting supports "waterfall" allocations by controlling the sequence in which allocations are performed.

uom_id_statistic string Optional. The unit of measure for the recurring journal line item statistics, if any. Links to an entry on the UNIT_OF_MEASURE table. Required for recurring journal entries representing allocations.
effective_on date This is the date when the recurring journal entry first became, or will become, effective.
discontinue_on date Optional. This is the date when the recurring journal entry was, or will be, discontinued. Blank signifies an unspecified date in the future.
journal_desc string Long description of the journal entry. This is also the default description for each of this journal entry's items.
delay_period number Optional. This is used with delay_unit in order to specify the time delay before the next journal entry of this recurring series is created. It also requires that repeat_count is specified.

The repeat_count_max specifies that this recurring journal entry will be repeated this number of times.

Note that delay_period and delay_unit must be used in unison - both must be either blank or both must be non-blank.

delay_unit string Optional. This defines the units for delay_period and must be one of the following:
  • Days
  • Weeks
  • Months
  • Years

Note that delay_period and delay_unit must be used in unison - both must be either blank or both must be non-blank.

repeat_count_max number Optional. This identifies the number of times that this recurring journal entry must be repeated after a delay of delay_period.
repeat_count number Optional. The number of times that this recurring journal entry has been repeated. If this value is less than repeat_count_max then another will be scheduled by adding the delay_period to the current date.

RECURRING_JE_ITEM table

This holds accounts, amounts and instructions for each recurring journal entry.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the RECURRING_JE_HEADER table.
recurring_je_number number This is the recurring journal entry number. Links to an entry on the RECURRING_JE_HEADER table.
journal_line_item number This is the journal entry line item number which is generated by the system. Journal entry line item numbers start at 1 for the first line item entered, and are incremented by 1 for each subsequent line item.
journal_item_desc string Optional. Long description. If blank then journal_desc from the RECURRING_JE_HEADER table is displayed instead.
party_id_transacting number Optional. This identifies the party (person or organisation) which is a customer, vendor, contractor or employee. Links to an entry on the PARTY table.
document_reference string Optional. This is a reference to a document (such as an invoice number, cheque number or payment reference number) or engagement (such as a project number).
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id string This identifies the general ledger account. Links to the GL_ACCOUNT table.
debit_functional number Optional. The journal line item debit amount in the functional currency. Never negative.
credit_functional number Optional. The journal line item credit amount in the functional currency. Never negative.
debit_statistic number Optional. The journal line item statistic amount in the uom_id_statistic of the row in the RECURRING_JE_HEADER table to which this journal line item is linked. Never negative. Must be blank if debit_functional or credit_functional contain values.

When one of the line items of the recurring journal entry is designated as the cost pool, if neither a debit nor credit statistic exists for that line item then the current statistical balance (if any) of the account_id will be used as the denominator when calculating the pro-rata amounts to be allocated to the other line items belonging to this recurring journal entry. For the other line items, if neither a debit nor credit statistic exists then the current statistical balance (if any) of the account_id will be used as the numerator when calculating the pro-rata amounts.

credit_statistic number Optional. The journal line item statistic amount in the uom_id_statistic of the row in the RECURRING_JE_HEADER table to which this journal line item is linked. Never negative. Must be blank if debit_functional or credit_functional contain values.

When one of the line items of the recurring journal entry is designated as the cost pool, if neither a debit nor credit statistic exists for that line item then the current statistical balance (if any) of the account_id will be used as the denominator when calculating the pro-rata amounts to be allocated to the other line items belonging to this recurring journal entry. For the other line items, if neither a debit nor credit statistic exists then the current statistical balance (if any) of the account_id will be used as the numerator when calculating the pro-rata amounts.

is_cost_pool boolean A YES/NO switch with an initial value of NO. It indicates if the current balance of the account_id for this line item is to be re-allocated to other line items belonging to this recurring journal entry, or not. Only one line item of each recurring journal entry can be designated as the cost pool (YES).

When a line item is designated as the cost pool, its statistic (credit or debit) is the denominator when calculating the pro-rata amounts to be allocated to the other line items belonging to this recurring journal entry. Otherwise, its statistic is the numerator when calculating the pro-rata amount to be allocated to this recurring journal entry line item.

is_rounding_receiver boolean A YES/NO switch with an initial value of NO. Cannot be changed to YES when the recurring journal entry line item is designated as the cost pool. Otherwise, indicates if the recurring journal entry line item receives the allocation rounding error (if any), or not. Only one recurring journal entry line item can be designated to receive the allocation rounding error.
invoice_type string Optional. Links to an entry on the INVOICE_HEADER table.
invoice_id number Optional. Links to an entry on the INVOICE_HEADER table.
invoice_adjustment_seq_no number Optional. Links to an entry on the INVOICE_ADJUSTMENT table.
invoice_item_seq_no number Optional. Links to an entry on the INVOICE_ITEM table.
invoice_item_prod_feature_id number Optional. Links to an entry on the INVOICE_ITEM_FEATURE table.
invoice_item_adjustment_seq_no string Optional. Links to an entry on the INVOICE_ITEM_ADJUSTMENT table.
order_type string Optional. Links to an entry on the ORDER_HEADER table.
order_id number Optional. Links to an entry on the ORDER_HEADER table.
order_adjustment_seq_no number Optional. Links to an entry on the ORDER_ADJUSTMENT table.
order_item_seq_no number Optional. Links to an entry on the ORDER_ITEM table.
order_item_prod_feature_id number Optional. Links to an entry on the ORDER_ITEM_FEATURE table.
order_item_adjustment_seq_no number Optional. Links to an entry on the ORDER_ITEM_ADJUSTMENT table.
rma_id number Optional. Links to an entry on the RETURN_MATL_AUTH_HDR table.
rma_seq_no number Optional. Links to an entry on the RETURN_MATL_AUTH_ITEM table.
schedule_id number Optional. Links to an entry on the SCHEDULE table.
activity_seq_no number Optional. Links to an entry on the SCHEDULE table.

Standing Journal Entries

Standing Journals are saved journal entries that you use frequently and can be recalled to make manual journal entries faster.

Figure 4a - Standing Journal Entries

finance_gl-04a (2K)

Figure 4b - Relationships with other database tables

finance_gl-04b (3K)

STANDING_JE_HEADER table

This holds information about standing journal entries.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
standing_je_number number This is the standing journal entry number which is generated by the system. Each functional unit will have its own numbering sequence.
effective_on date This is the date when the recurring journal entry first became, or will become, effective.
discontinue_on date Optional. This is the date when the recurring journal entry was, or will be, discontinued. Blank signifies an unspecified date in the future.
journal_desc string Long description of the journal entry. This is also the default description for each of this journal entry's items.
uom_id_statistic string Optional. The unit of measure for the standing journal line item statistic, if any. Links to an entry on the UNIT_OF_MEASURE table. This is the default statistics unit of measure for each of this standing journal entry's items.

STANDING_JE_ITEM table

This holds information for each standing journal entry item.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the STANDING_JE_HEADER table.
standing_je_number number This is the recurring journal entry number. Links to an entry on the STANDING_JE_HEADER table.
journal_line_item number This is the journal entry line item number which is generated by the system. Journal entry line item numbers start at 1 for the first line item entered, and are incremented by 1 for each subsequent line item.
journal_item_desc string Optional. Long description. If blank then journal_desc from the STANDING_JE_HEADER table is displayed instead.
party_id_transacting number Optional. This identifies the party (person or organisation) which is a customer, vendor, contractor or employee. Links to an entry on the PARTY table.
document_reference string Optional. This is a reference to a document (such as an invoice number, cheque number or payment reference number) or engagement (such as a project number).
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id string This identifies the general ledger account. Links to the GL_ACCOUNT table.
debit_functional number Optional. The journal line item debit amount in the functional currency. Never negative. Must be blank if the journal entry line item credit is greater than zero.
credit_functional number Optional. The journal line item credit amount in the functional currency. Never negative. Must be blank if the journal entry line item debit is greater than zero.
statistic number Optional. The journal line item statistic amount in the uom_id_statistic.
uom_id_statistic string Optional. The unit of measure for the journal line item statistic, if any. Links to an entry on the UNIT_OF_MEASURE table. If blank then the default unit of measure from the standing journal entry header is used instead.
invoice_type string Optional. Links to an entry on the INVOICE_HEADER table.
invoice_id number Optional. Links to an entry on the INVOICE_HEADER table.
invoice_adjustment_seq_no number Optional. Links to an entry on the INVOICE_ADJUSTMENT table.
invoice_item_seq_no number Optional. Links to an entry on the INVOICE_ITEM table.
invoice_item_prod_feature_id number Optional. Links to an entry on the INVOICE_ITEM_FEATURE table.
invoice_item_adjustment_seq_no string Optional. Links to an entry on the INVOICE_ITEM_ADJUSTMENT table.
order_type string Optional. Links to an entry on the ORDER_HEADER table.
order_id number Optional. Links to an entry on the ORDER_HEADER table.
order_adjustment_seq_no number Optional. Links to an entry on the ORDER_ADJUSTMENT table.
order_item_seq_no number Optional. Links to an entry on the ORDER_ITEM table.
order_item_prod_feature_id number Optional. Links to an entry on the ORDER_ITEM_FEATURE table.
order_item_adjustment_seq_no number Optional. Links to an entry on the ORDER_ITEM_ADJUSTMENT table.
rma_id number Optional. Links to an entry on the RETURN_MATL_AUTH_HDR table.
rma_seq_no number Optional. Links to an entry on the RETURN_MATL_AUTH_ITEM table.
schedule_id number Optional. Links to an entry on the SCHEDULE table.
activity_seq_no number Optional. Links to an entry on the SCHEDULE table.

Default Overrides for General Ledger Accounts

The default accounts for a business entity are defined on the FUNCTIONAL_UNIT table, but there may be situations where the default account needs to be overridden. These tables provide that ability.

Figure 5 - Default Overrides for General Ledger Accounts

finance_gl-05 (2K)

FUNC_UNIT_PRICE_COMPONENT table

This identifies various accounts that the GM-X application utilises for specific price components, if different from the default accounts utilised by the entire organisation which are held in the FUNCTIONAL_UNIT table.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
price_component_id number This identifies a price component which affects the general ledger for one or more functional units. Links to an entry on the PRICE_COMPONENT table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id_sales_tax_payable string Optional. This identifies the general ledger liability account in which amounts currently owed by this organisation to the tax authority for this sales or value added tax are held, if different from the account_id_sales_tax_payable for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_tax_wh_payable string Optional. This identifies the general ledger liability account in which withheld corporate or personal income taxes payable to a tax authority are held for this tax rate, if different from the account_id_tax_wh_payable for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_sales_tax_liability string Optional. This identifies the general ledger liability account in which amounts not currently owed by this organisation to the tax authority for this sales or value added tax are held, if different from the account_id_sales_tax_liability for the entire organisation. Links to an entry on the GL_ACCOUNT table
account_id_sales_supply string Optional. This identifies the general ledger income or expense account affected by the accrual of this discount or surcharge in connection with goods supplied to customers, if different from the account_id_sales_supply for the entire organisation or for any applicable product category. Links to an entry on the GL_ACCOUNT table.
account_id_sales_service string Optional. This identifies the general ledger income or expense account affected by the accrual of this discount or surcharge in connection with services supplied to customers, or property used by (rented to, leased to or licensed by) customers, if different from the account_id_sales_service for the entire organisation or for any applicable product category. Links to an entry on the GL_ACCOUNT table.
account_id_exp_recovery string Optional. This identifies the general ledger income account affected by the accrual of surcharges derived from recovery of this nontax expense from customers, if different from the account_id_exp_recovery for the entire organisation or for any applicable product category. Links to an entry on the GL_ACCOUNT table.
account_id_tax_recovery string Optional. This identifies the general ledger income account affected by the accrual of surcharges derived by this organisation from recovery of this sales, use or output value-added tax rate from customers, if different from the account_id_tax_recovery for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_tax_reimb string Optional. This identifies the general ledger income or expense account affected by the accrual of taxation expenses for this sales, use or output value-added tax rate that are incurred by the organisation and are recoverable from this organisation's customers, if different from the account_id_tax_reimb for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_tax_wh_prepaid string Optional. This identifies the general ledger asset account in which withheld corporate or personal income taxes belonging to this organisation are held for this withholding tax rate, if different from the account_id_tax_wh_prepaid for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_tax_wh_final string Optional. This identifies the general ledger expense account affected by this final withholding tax rate, if different from the account_id_tax_wh_final for the entire organisation. Links to an entry on the GL_ACCOUNT table.

FUNC_UNIT_INV_VAR_REASON table

This table identifies the income or expense account that the GM-X application utilises for each inventory variance reason, if different from the default accounts utilised by the entire organisation which are held in the FUNCTIONAL_UNIT table.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
inv_var_reason_id number Links to an entry on the INVENTORY_VARIANCE_REASON table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id_reserve string Optional. This identifies the general ledger asset account affected by inventory item variance transactions linked to this reason. Links to an entry on the GL_ACCOUNT table.
account_id_variance string Optional. This identifies the general ledger income or expense account affected by inventory item variance transactions linked to this reason. Links to an entry on the GL_ACCOUNT table.

FUNC_UNIT_PROD_CAT table

This identifies various accounts that the GM-X application utilises for specific product categories, if different from the default accounts utilised by the entire organisation which are held in the FUNCTIONAL_UNIT table.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
prod_cat_id string This identifies a product category which affects the general ledger for one or more functional units. Links to an entry on the PRODUCT_CATEGORY table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id_inventory string Optional. This identifies the general ledger asset account in which the value of inventory within this product category is held, if different from the account_id_inventory for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_wip string Optional. This identifies the general ledger asset account in which the value of unbilled work-in-process (WIP) within this product category is held, if different from the account_id_wip for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_sales_supply string Optional. This identifies the general ledger income account affected by the accrual of revenue derived from goods supplied within this product category to customers, if different from the account_id_sales_supply for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_sales_use string Optional. This identifies the general ledger income account affected by the accrual of revenue derived from customer use (rental, lease or licensure) of property within this product category, if different from the account_id_sales_use for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_sales_service string Optional. This identifies the general ledger income account affected by the accrual of revenue derived from services supplied within this product category to customers, if different from the account_id_sales_service for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_exp_recovery string Optional. This identifies the general ledger income account affected by the accrual of revenue derived from recovery of nontax expenses within this product category from customers, if different from the account_id_exp_recovery for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_cogs string Optional. This identifies the general ledger income or expense account affected by the direct cost of goods within this product category when sold to this organisation's customers, if different from the account_id_cogs for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_ppv string Optional. This identifies the general ledger income or expense account affected by purchase price variances within this product category, if different from the account_id_ppv for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_direct_labour string Optional. This identifies the general ledger income or expense account affected by the direct cost of labour incurred within this product category to provide services to this organisation's customers, if different from the account_id_direct_labour for the entire organisation. Links to an entry on the GL_ACCOUNT table. Required if the organisation derives revenues from the supply of services to customers.
account_id_staff_direct_reimb string Optional. This identifies the general ledger expense account affected by the accrual of nontax expenses incurred within this product category that are recoverable from this organisation's customers and reimbursable to this organisation's direct staff, if different from the account_id_staff_direct_reimb for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_staff_indirect_reimb string Optional. This identifies the general ledger expense account affected by the accrual of nontax expenses incurred within this product category that are recoverable from this organisation's customers and reimbursable to this organisation's management or indirect staff, if different from the account_id_staff_indirect_reimb for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_ylv string Optional. This identifies the general ledger asset, income or expense account affected by yield loss variances within this product category, if different from the account_id_ylv for the entire organisation. Links to an entry on the GL_ACCOUNT table.

FUNC_UNIT_FEATURE_CAT table

This identifies various accounts that the GM-X application utilises for specific product feature categories, if different from the default accounts utilised by the entire organisation which are held in the FUNCTIONAL_UNIT table.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
prod_feature_cat_id string This identifies a product feature category which affects the general ledger for one or more functional units. Links to an entry on the PRODUCT_FEATURE_CATEGORY table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
account_id_sales_supply string Optional. This identifies the general ledger income account affected by the accrual of revenue derived from goods supplied within this product feature category to customers, if different from the account_id_sales_supply for the entire organisation. Links to an entry on the GL_ACCOUNT table.
account_id_sales_use string Optional. This identifies the general ledger income account affected by the accrual of revenue derived from customer use (rental, lease or licensure) of property within this product feature category, if different from the account_id_sales_use for the entire organisation. Links to an entry on the GL_ACCOUNT table.

FUNC_UNIT_WRK_EFF_PURPOSE table

This identifies various accounts that the GM-X application utilises for specific work effort purposes, if different from the default accounts utilised by the entire organisation which are held in the FUNCTIONAL_UNIT table.

FieldTypeDescription
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
work_effort_purpose_id string Links to an entry on the WORK_EFFORT_PURPOSE table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. Read-only.
accrual_type number This identifies the type of accrual for this purpose:
  • 'A' (asset under construction) - if account_id_contra is blank then the account_id_auc for this organisation on the FUNCTIONAL_UNIT table is debited instead.
  • 'E' - (expense) - if account_id_contra is blank then the account_id_staff_indirect_other for this organisation on the FUNCTIONAL_UNIT table is debited instead.
  • 'I' - (inventory) - if account_id_contra is blank then the account_id_inventory for this organisation on the FUNCTIONAL_UNIT table is debited instead.
account_id_accrued_expense string Optional. This identifies the general ledger liability account credited by accrued debts owed by this organisation for labour performed, which are not yet included in the next payroll run or invoiced by suppliers. Links to an entry on the GL_ACCOUNT table.

If this entry is blank then the account_id_accrued_expense for this organisation on the FUNCTIONAL_UNIT table is credited instead.

account_id_contra string Optional. This identifies the general ledger asset or expense account debited by this organisation when labour is performed for this purpose. Links to an entry on the GL_ACCOUNT table.

If this entry is blank then the account denoted by the accrual_type is debited instead.


Constructing Journal Entries Originating from Subsystems

Journal entry templates are used for constructing journal entries from GM-X subsystems that are integrated with the GM-X General Ledger subsystem. While default accounts used for posting journals are defined on the FUNCTIONAL_UNIT table these may be altered by entries on the Default Override tables.

Journals generated from the Accounts Receivable subsystem are described in Constructing Journals for the General Ledger.

Journals generated from the Accounts Payable subsystem are described in Constructing Journal Entries for Vendor Invoices and Constructing Journal Entries for Payments.

Figure 6 - Journal Entry Templates

finance_gl-06 (2K)

SUBSYSTEM_JE_TEMPLATE_HEADER table

This holds information about journal entry templates for different GM-X subsystems.

FieldTypeDescription
je_template_id number This is the subsystem journal entry template identifier which is generated by the system.
subsys_id string This identifies a GM-X subsystem. Links to an entry on the MNU_SUBSYSTEM table.
party_id_functional number This identifies an organisation which is a functional unit for which a balanced set of books is kept in the GL_ACCOUNT_PERIOD_ BALANCE table. Links to an entry on the FUNCTIONAL_UNIT table.
je_template_name string This is the short name of the subsystem journal entry template. It must be unique within the subsys_id and party_id_functional.
je_template_desc string Optional. This is a long description of the subsystem journal entry template (not the journal entries created from it) and is intended for system implementers to document the purpose and use of the template.
effective_on date This is the date when the subsystem journal entry template first became, or will become, effective.
discontinue_on date Optional. This is the date when the subsystem journal entry template was, or will be, discontinued. Blank signifies an unspecified date in the future.
journal_desc string Long description of the journal entries constructed from this subsystem journal entry template. This is also the default description for each of the journal entry items constructed from this subsystem journal entry template.
uom_id_statistic string Optional. The unit of measure for the standing journal line item statistic, if any. Links to an entry on the UNIT_OF_MEASURE table. This is the default statistics unit of measure for each of the journal entry items constructed from this subsystem journal entry template.
is_approval_required boolean A YES/NO switch with an initial value of NO. It indicates if journal entries constructed from this subsystem journal entry template require approval, or not.
is_batch_post boolean A YES/NO switch with an initial value of NO. It indicates if journal entries constructed from this subsystem journal entry template should be posted in batch (YES), or interactively (NO).
is_summary_journal boolean A YES/NO switch with an initial value of NO. It indicates if journal entries constructed from this subsystem journal entry template are summary journals (YES), or detail journals (NO). May only set to YES if is_bach_post is YES.

SUBSYSTEM_JE_TEMPLATE_ITEM table

This holds line item information, including accounts, for each subsystem journal entry template.

FieldTypeDescription
je_template_id number This is the subsystem journal entry template identifier. Links to an entry on the SUBSYSTEM_JE_TEMPLATE_HEADER table
je_template_line_item number This is the subsystem journal entry template line item number which is generated by the system. Line item numbers start at 1 for the first line item entered, and are incremented by 1 for each subsequent line item. Each line item will be converted to a journal entry line item, if possible, when journal entries are constructed from this template.
journal_item_desc string Optional. Long description. If blank then the SUBSYSTEM_JE_TEMPLATE_HEADER is used instead when constructing journal entries from this template.
party_id_transacting number Optional. This identifies the party (person or organisation) which is a customer, vendor, contractor or employee. Links to an entry on the PARTY table.
chart_id number This identifies the chart of accounts. Links to an entry on the GL_ACCOUNT table. It is always the chart_id of the party_id_functional on the SUBSYSTEM_JE_TEMPLATE_HEADER record to which this item is linked.
account_id string Optional. This identifies the general ledger account. Links to the GL_ACCOUNT table. Required if account_usage is 'indirect_expense_other'. Otherwise, if blank then its value is supplied by account determination logic when constructing journal entries from this template, and the account_usage field is a required entry.
account_usage string Optional. This identifies the usage of the general ledger account when constructing journal entries from this subsystem journal entry template. See below for the list of possible values. Required if the account_id is blank. If the account_id is not blank, account determination logic will always supply the account_id for this item when an account having this account_usage is needed to construct the journal entry.

To prevent duplication of line items in constructed journal entries, a particular account_usage value may only be used once per subsystem journal entry template, unless its value is 'indirect_expense_other', in which case a specific combination of account_id and account_usage values may only be used once per subsystem journal entry template.

uom_id_statistic string Optional. The unit of measure for the journal entry items created from this subsystem journal entry template, if any. Links to an entry on the UNIT_OF_MEASURE table. If blank then the default unit of measure from the subsystem journal entry template header is used instead.

Values for the account_usage field:


Subsystem Posting to the General Ledger

Subsystem Journal Entry Templates

Control over how journal entries are posted from subsystems is governed by the properties of whatever subsystem journal entry templates are set up and used for those subsystems. The table below shows field descriptions for the five relevant properties on the SUBSYSTEM_JE_TEMPLATE_HEADER table as described in the Accounts Receivable functional specification.

FieldTypeDescription
subsys_id string This identifies a GM-X subsystem. Links to an entry on the MNU_SUBSYSTEM table. Allowable values are:
  • 'FINANCE-AP' (Accounts Payable)
  • 'FINANCE-AR' (Accounts Receivable)
  • 'FINANCE-FA' (Fixed Assets) *DEPRECATED* (under some circumstances only)
  • 'INVENTORY' (Inventory/Stock Control)
  • 'INVOICE' (Invoicing)
  • 'ORDER' (Order Processing, Sales and Purchases)
  • 'SHIPMENT' (Shipments)
  • 'WORK-EFFORT' (Work Effort)
uom_id_statistic string Optional. The unit of measure for the journal entry template line item statistic, if any. Links to an entry on the UNIT_OF_MEASURE table. This is the default statistics unit of measure for each of the journal entry items constructed from this subsystem journal entry template.
is_approval_required boolean A YES/NO switch with an initial value of NO. It indicates if journal entries constructed from this subsystem journal entry template require approval, or not.
is_batch_post boolean A YES/NO switch with an initial value of NO. It indicates if journal entries constructed from this subsystem journal entry template should be posted in batch (YES), or interactively (NO).
is_summary_journal boolean A YES/NO switch with an initial value of NO. It indicates if journal entries constructed from this subsystem journal entry template are summary journals (YES), or detail journals (NO). May only set to YES if is_bach_post is YES.

The applicable template to use in a particular situation is specified as follows:

All of the above fields are optional, which makes it possible to post journal entries from those subsystems without using a template. In this situation the following values must be used by default:

is_batch_post Property

When the value of the is_batch_post property is NO, the following tasks *MUST* be utilised for creating journal entries and posting them to the general ledger:

In addition, the following tasks will automatically create journal entries and post them to the general ledger:

The 8 tasks listed above are known as "online" tasks. Users activate each of them one at a time by selecting one or more rows from a LIST screen (i.e. entries on the INVOICE_HEADER table for Invoicing, Accounts Receivable, Accounts Payable and Work Effort; entries on the SETTLEMENT_HEADER table for Accounts Receivable; entries on the PAYMENT_HEADER table for Accounts Payable; and/or entries on the ASSET_BOOK_EVENT table for Fixed Assets) and then clicking the navigation button for that task to process those selections. Each of those navigation buttons *MUST* require context pre-selection.

NOTE: It is not possible to control the execution of the ffa_asset_book_event(upd4)post and wrk_timesheet(batch)post tasks using subsystem journal entry templates, because no templates can be specified anywhere within their respective subsystems. This means that the value of the is_batch_post property will always be YES for these tasks.

Further, when the value of the is_batch_post property is YES, the following tasks *MAY* may be utilised:

The 8 tasks listed above are known as "batch" tasks, and each one utilises the same subclass as its online counterpart. Each batch task may be activated in one of the following ways:

When each of the batch tasks executes, it must "qualify" entries which have not yet been posted. This serves the same purpose as context pre-selection for the respective online tasks.

For all tasks EXCEPT far_invoice_header(batch)reval (Revalue Foreign Currency Accounts Receivable) and fap_invoice_header(batch)reval (Revalue Foreign Currency Accounts Payable), qualified entries are determined as follows:

  1. Traverse the respective INVOICE_HEADER, SETTLEMENT_HEADER, PAYMENT_HEADER, ASSET_BOOK_EVENT or TIMESHEET table to identify any entries which have not yet been posted. In all cases each qualified entry will have an is_posted value of NO.
  2. In addition, the fap_payment_header(batch)post (Post Payment) task will identify any entries which have an is_void_posted value of NO when traversing the PAYMENT_HEADER table. These entries are also qualified for posting to the general ledger. Note that the posting of a void payment, which will set the is_void_posted value on the PAYMENT_HEADER to YES, creates an additional journal entry which is separate and distinct from the journal entry created by the original payment, which will set the is_posted value on the PAYMENT_HEADER to YES.
  3. In addition, for entries in the ASSET_BOOK_EVENT table having an is_posted value of NO, the ffa_asset_book_event(batch)post (Post Fixed Assets Transactions to the General Ledger) task will determine if the entry's event_type_id value is NOT one of the following which have no general ledger impact: Entries which have an is_posted value of NO, AND have an event_type_id value which is not 1, 3, 4, 7, 8 or 10, are also qualified for posting to the general ledger.

For the far_invoice_header(batch)reval (Revalue Foreign Currency Accounts Receivable) and fap_invoice_header(batch)reval (Revalue Foreign Currency Accounts Payable) tasks, qualified entries are determined by traversing the INVOICE_HEADER table to identify each entry having a currency_code_tx which is different from its currency_code_fn, AND which has a balance_tx value unequal to zero. These entries can be revalued at any time, because spot rates of exchange fluctuate very frequently.

For each selected or qualified entry, the subclass utilised by each of the 8 online and 8 batch tasks listed above does the following:

  1. Validates the entry to ensure that all status and other conditions for general ledger posting have been satisfied. The exact logic for doing this will vary depending upon the subclass utilised. Refer to the Accounts Payable Journal Entries section for additional information.
  2. If all status conditions have been met at Step 1, constructs a proposed JOURNAL_ENTRY_HEADER and one or more JOURNAL_ENTRY_ITEM entries in memory. The posting_date and transaction_date for the proposed journal entry are current date in the GM-X application server's time zone, and its initial is_posted value is NO. The exact logic for doing this will vary depending upon the subclass utilised. Refer to the Accounts Payable Journal Entries section for additional information.
  3. Validates the proposed in memory journal entry in the same manner as described in Journal Entry Posting logic, EXCEPT that the system assumes that the journal entry's je_status_type_id is either 'COMP' (Complete) or 'APPR' (Approved) instead of inspecting the proposed journal entry to determine that this is actually the case. Note that this validation will evaluate if the posting_date set at Step 2, above, falls within a fiscal period which is not currently closed, and throw a validation error if this is not the case.
  4. If no errors are detected during validation at Step 3, above, and the proposed journal entry is considered complete and balanced, attempts to insert the proposed JOURNAL_ENTRY_HEADER and JOURNAL_ENTRY_ITEM entries into the FINANCE_GL database.
  5. If no errors were detected during the insert at Step 4 then update the is_posted value to YES on the qualified entry within the INVOICE_HEADER, SETTLEMENT_HEADER, PAYMENT_HEADER, ASSET_BOOK_EVENT or TIMESHEET table; or, for the fap_payment_header(batch)post (Post Payment) task, update the is_void_posted value to YES when posting a void payment.

Refer to the is_summary_journal Property, is_approval_required Property and uom_id_statistic Property sections, below, for additional information.

For online tasks, any errors found during the validation at Steps 1 and 3, or during insert at Step 4, above, will be displayed in the message bar of the LIST screen. For batch tasks, those errors will be written to a batch error log. Note that if any such errors occur, the system will take no action other than displaying error messages on the user's screen or writing them to the batch error log, and will then move on to the next entry - which will be the next pre-selected entry on the LIST screen for online tasks, or the next qualified entry for batch tasks.

is_summary_journal Property

Whenever creating a proposed journal entry, the system will set the value of subsys_id on the JOURNAL_ENTRY_HEADER as follows:

Also, whenever creating a proposed journal entry, if a subsystem journal entry template is utilised then the system will set the value of je_template_id on the JOURNAL_ENTRY_HEADER to the value of je_template_id found on the relevant AP_PARTY_RELATIONSHIP or AR_PARTY_RELATIONSHIP record for the entry on the INVOICE_HEADER, SETTLEMENT_HEADER or PAYMENT_HEADER being processed. Otherwise the system will set the value of je_template_id on the JOURNAL_ENTRY_HEADER to NULL.

Whenever processing one of the 8 online tasks listed in the is_batch_post Property section the value of the is_summary_journal property will be set to 'NO'. This means that online tasks will never produce summarised journals, only detailed journals as indicated in step #1 below.

For all batch tasks the value of the is_summary_journal property will be taken from the SUBSYSTEM_JE_TEMPLATE_HEADER is the value of je_template_id is not null. If there is no template header then the value of the is_summary_journal property will be set to NO. If a template header does exist and its value of is_summary_journal is YES then only summarised journals should be produced as indicated in step #4 below.

For DETAIL journal entries the processing is as follows:

  1. There will be a separate JOURNAL_ENTRY_HEADER for each individual document, either pre-selected for online tasks or qualifying from batch tasks, where a "document" is one of an INVOICE_HEADER, SETTLEMENT_HEADER, PAYMENT_HEADER, ASSET_BOOK_EVENT or TIMESHEET.
  2. There will be one or more JOURNAL_ENTRY_ITEM entries for each document component:
  3. Each JOURNAL_ENTRY_ITEM will contain the following fields, thereby making it possible for a user to drill down from the journal entry to all its component details:

For SUMMARY journal entries the processing is as follows:.

  1. Instead of writing out a separate JOURNAL_ENTRY_HEADER for each document followed by its corresponding JOURNAL_ENTRY_ITEM records, all the data from the component details must be stored in memory for each summary key which is comprised of party_id_functional, fiscal_calendar_id, fiscal_year, fiscal_period, chart_id, account_id, subsys_id and je_template_id. (the subsys_id and je_template_id values are found on the related JOURNAL_ENTRY_HEADER)
  2. For each of these keys the following values must be accumulated - debit_functional, credit_functional and (for invoices only) statistic. This means that all the other fields which are listed in step #1 above will have their values set to NULL, all except journal_desc in the JOURNAL_ENTRY_HEADER record which will require one of the following values:
  3. Once all input records have been processed the details held in memory must be sorted by the summary key before they are written out to the JOURNAL_ENTRY_ITEM table. For each combination of party_id_functional, fiscal_calendar_id, fiscal_year, fiscal_period, chart_id, subsys_id and je_template_id an entry on the JOURNAL_ENTRY_HEADER table must be created and its journal_number added to each corresponding JOURNAL_ENTRY_ITEM record.

Rationale: detail journal entries are a great timesaving feature because users can drill down instantly when tracing journal entries back to their original source documents when performing analyses or audits, but the cost of this visibility is a potentially vastly larger number of JOURNAL_ENTRY_ITEM records in the database. So, during implementation, clients can review their accounting policies and do a cost-benefit assessment in order to answer the question, "Are the user time savings we will realise from drilldown availability worth the cost of extra records to look after in the database?"

is_approval_required Property

Whenever the value of the is_approval_required property is NO, after successfully inserting entries into the JOURNAL_ENTRY_HEADER and JOURNAL_ENTRY_ITEM tables, the 8 online and 8 batch tasks described above will insert three (3) rows into the JOURNAL_ENTRY_STATUS_HIST table as follows:

  1. The first row will initialise the je_status_type_id on the JOURNAL_ENTRY_HEADER to 'PEND' (Pending).
  2. The second row will update the je_status_type_id on the JOURNAL_ENTRY_HEADER to 'COMP' (Data entry complete and balanced).
  3. The third row will update the je_status_type_id on the JOURNAL_ENTRY_HEADER to 'POST' (Posted without errors) and will also update the is_posted value on the JOURNAL_ENTRY_HEADER to YES.

Otherwise, after inserting entries into the JOURNAL_ENTRY_HEADER and JOURNAL_ENTRY_ITEM tables, the 8 online and 8 batch tasks described above will insert two (2) rows into the JOURNAL_ENTRY_STATUS_HIST table as follows:

  1. The first row will initialise the je_status_type_id on the JOURNAL_ENTRY_HEADER to 'PEND' (Pending).
  2. The second row will update the je_status_type_id on the JOURNAL_ENTRY_HEADER to 'COMP' (Data entry complete and balanced). NOTE that in this situation the is_posted value on the JOURNAL_ENTRY_HEADER will remain NO and it will be necessary to approve the journal entry within the General Ledger subsystem.

uom_id_statistic Property

Just as for the JOURNAL_ENTRY_HEADER and JOURNAL_ENTRY_ITEM tables, the SUBSYSTEM_JE_TEMPLATE_HEADER and SUBSYSTEM_JE_TEMPLATE_ITEM tables each have a uom_id_statistic field.

When constructing a JOURNAL_ENTRY_HEADER, the system will populate its uom_id_statistic field from the value of the uom_id_statistic field on the SUBSYSTEM_JE_TEMPLATE_HEADER table, if any; otherwise the uom_id_statistic field on the JOURNAL_ENTRY_HEADER will remain NULL.

Similarly, when constructing a JOURNAL_ENTRY_ITEM, the system will populate its uom_id_statistic field from the value of the uom_id_statistic field on the SUBSYSTEM_JE_TEMPLATE_ITEM table, if any; otherwise the uom_id_statistic field on the JOURNAL_ENTRY_ITEM will remain NULL.

The system will also write a value into the statistic column of each JOURNAL_ENTRY_ITEM that has an invoice_item_seq_no value which is not NULL, and the statistic value will be the same as the value of the quantity field on the related INVOICE_ITEM entry (for detail journals), OR the rolled-up values of the quantity field on the related INVOICE_ITEM entries (for summary journals).


Invoice Revaluations

When a customer or vendor invoice, credit note or debit note is raised with a currency_code_tx (transaction currency) which is different from the currency_code_fn (functional currency) it uses the EXCHANGE_RATE which was current at the document date in order to convert the document value from transaction currency to functional currency. There could be a delay before the document is actually paid, and during this time the exchange rate could have altered which means that the balance outstanding for the document in functional currency needs to be recalculated and the difference between this latest value and the original value posted to the General Ledger.

Constructing the Account Distribution for Invoice Revaluations

Overview

Each revaluation will refer to a component of a document which is an invoice, credit note or debit note within the Accounts Receivable or Accounts Payable subsystems. Each of those components is represented as an entry on one of the following database tables:

Revaluations *MAY* be performed whenever the currency_code_tx value (i.e. transaction currency) differs from the currency_code_fn value (i.e. functional currency) on the related INVOICE_HEADER entry. If the transaction currency is the same as the functional currency then revaluation is NEVER performed and the document component *MUST* be skipped. Revaluations are only performed on the outstanding balance (i.e. when balance_tx is greater than zero.

When an entry on any of these four database tables is revalued, this action will require two entries to be written to the JOURNAL_ENTRY_ITEM table. Every input will require an output for the account_id which has been associated with the usage 'trade_receivables' (for accounts receivable) or 'trade_payables' (for accounts payable) as a first side entry, plus one additional 'book_gain_loss' usage as a contra side entry. The account_id can be obtained from the account_usage value using the procedure described in Determine the account_id from an account_usage value.

Because only one additional usage is ever identified for a particular monetary value then the value used in the first side entry can be reversed and used in a single contra side entry.

Traversing the SUBSYSTEM_JE_TEMPLATE table

The identity of the records to be read is held in the following fields on the AR_PARTY_RELATIONSHIP or AP_PARTY_RELATIONSHIP tables:

Note that even though a value for je_template_id may be provided, there may or may not be any eligible records on the SUBSYSTEM_JE_TEMPLATE_ITEM table.

Each valid record read from the SUBSYSTEM_JE_TEMPLATE_ITEM table will result in a record being written to the JOURNAL_ENTRY_ITEM table for each document component.

All the available records must be read and processed one at a time. For accounts receivable revaluations, note that any record with an account_usage which does not appear in the following table is to be ignored:

SegmentOptionFirst Side Column UsageContra Column Usage
1 Open and unpaid invoice trade_receivables book_gain_loss

For accounts payable revaluations, note that any record with an account_usage which does not appear in the following table is to be ignored.

SegmentOptionFirst Side Column UsageContra Column Usage
1 Open and unpaid invoice trade_payables book_gain_loss

Examination of this table will stop when it finds a record containing a non-blank account_id for the selected account_usage.

Determine the account_id from an account_usage value

This procedure is used to convert an account_usage into an account_id. This value may be provided on any one of a number of records which must be searched in the following sequence:

Note that the FUNCTIONAL_UNIT table can only be read if the input record from the INVOICE subsystem contains the primary key for that table.

As soon as the first non-blank value for account_id is found then the account determination process will be terminated. If at the end there is no value for account_id then the value for account_usage will be used instead. This record will have to be corrected by the user manually in order to balance the debits and credits for the document before it can be marked as 'complete'.

Debits and Credits for First Side and Contra Side Entries

The "first side" refers to the side (debit side, or credit side) of a JOURNAL_ENTRY_ITEM entry which identifies the balance sheet account (i.e. the trade receivables asset account for accounts receivable, or the trade payables liability account for accounts payable) affected by the document component.

The credit_functional or debit_functional value for the first side is calculated as follows:

  1. Calculate the revalued amount - multiply the value of the balance_tx field on the invoice component entry by the current exchange rate, and round the result to the nearest decimal point specified by scale on the CURRENCY_CODE entry linked to the currency_code_fn value on the related INVOICE_HEADER entry. The current exchange rate is obtained from the EXCHANGE_RATE table using today's date. The exchange rate lookup is FROM the currency_code_tx value TO the currency_code_fn value on the related INVOICE_HEADER entry.
  2. Calculate the movement amount - subtract the balance field on the invoice component entry from the revalued amount calculated at Step 1, above. The movement amount may be zero. When this is the case, no revaluation or journal entry is required and the document component must be skipped; ELSE the movement amount may be a positive or negative number.
  3. Update the document component - add the movement amount calculated at Step 2, above, to the values of the balance and reval_value fields on the invoice component entry, and re-save the entry.
  4. Update the document - add the movement amount calculated at Step 2, above, to the values of the balance and adjusted_reval_value fields on the INVOICE_HEADER entry, copy today's date into the last_reval_date field on the INVOICE_HEADER entry, and re-save the entry.
  5. If revaluing accounts payable (supplier invoices, credit notes and debit notes), flip the sign of the movement amount calculated at Step 2, above (i.e. multiply the value of the movement amount by -1); otherwise leave the movement amount unchanged.
  6. If the movement amount after completing Step 5, above, is a positive number then copy the movement amount to the debit_functional value on the new JOURNAL_ENTRY_ITEM entry; ELSE copy the absolute value of the movement amount to the credit_functional value on the new JOURNAL_ENTRY_ITEM entry.

Relative to the first side entry for a document component, the "contra side" (or "opposite side") refers to the side of its mandatory and opposite entry. Each contra side entry must affect a different account than its corresponding contra side entry. Therefore:

Accounts Receivable processing

This includes all INVOICE_ADJUSTMENT, INVOICE_ITEM, INVOICE_ITEM_ADJUSTMENT and INVOICE_ITEM_FEATURE entries which have a non-zero value in the balance_tx column, and which are related to INVOICE_HEADER entries where the currency_code_tx value differs from the currency_code_fn value, AND the entry has the the following invoice_type values:

A separate Segment 1 must be constructed for each of these entries, EXCEPT the following entries which are *NEVER* revalued and must ALWAYS be skipped:

To construct each Segment 1:

  1. Determine the 'trade_receivables' account and output this as a first side entry using the values calculate at Steps 1, 2 and 6, above.
  2. Determine the 'book_gain_loss' account and output this as a contra side entry using the values calculated at Steps 1, 2 and 6, above.

Accounts Payable processing

This includes all INVOICE_ADJUSTMENT, INVOICE_ITEM, INVOICE_ITEM_ADJUSTMENT and INVOICE_ITEM_FEATURE entries which have a non-zero value in the balance_tx column, and which are related to INVOICE_HEADER entries where the currency_code_tx value differs from the currency_code_fn value, AND the entry has the the following invoice_type values:

A separate Segment 1 must be constructed for each of these entries, EXCEPT the following entries which are *NEVER* revalued and must ALWAYS be skipped:

To construct each Segment 1:

  1. Determine the 'trade_payables' account and output this as a first side entry using the values calculate at Steps 1, 2 and 6, above.
  2. Determine the 'book_gain_loss' account and output this as a contra side entry using the values calculated at Steps 1, 2 and 6, above.

Constructing journal entries

The fap_invoice_header(upd4)reval, fap_invoice_header(batch)reval, acc_invoice_header(upd4)reval and acc_invoice_header(batch)reval tasks will create JOURNAL_ENTRY_HEADER and JOURNAL_ENTRY_ITEM entries from each component related to each selected or qualified INVOICE_HEADER entry.

Construct JOURNAL_ENTRY_HEADER

The following table shows the field mappings for constructing JOURNAL_ENTRY_HEADER entries.

JOURNAL_ENTRY_HEADER Document Component or Constant
party_id_functional Refer Note 1, below
fiscal_calendar_id Refer Note 2, below
fiscal_year Refer Note 4, below
fiscal_period Refer Note 4, below
journal_number Refer Note 3, below
posting_date Refer Note 4, below
transaction_date Refer Note 4, below
journal_desc Refer Note 5, below
uom_id_statistic Refer Note 6, below
recurring_je_number NULL
processing_seq NULL
repeat_count NULL
je_status_type_id 'PEND'
is_posted 'N'
subsys_id 'FINANCE_AR' or 'FINANCE_AP'
je_template_id Refer Note 7, below
  1. From the value of party_id_bill_from (for accounts receivable) or party_id_bill_to (for accounts payable) on the INVOICE_HEADER entry linked to the invoice component.
  2. From the values of chart_id and fiscal_calendar_id on the FUNCTIONAL_UNIT entry linked to the party_id_bill_from (for accounts receivable) or party_id_bill_to (for accounts payable).
  3. Automatically generated by the system when inserting a new journal entry into the database.
  4. The posting_date and transaction_date are set to today's date in the application server's time zone. The fiscal_year and fiscal_period are determined by looking up the entry belonging to the fiscal_calendar_id on the FISCAL_CALENDAR_PERIOD table having a start_date on or earlier than the posting_date, AND an end_date on or later than the posting_date.
  5. The value of journal_desc is 'Revalue foreign currency accounts receivable' (for accounts receivable) or 'Revalue foreign currency accounts payable' (for accounts payable) as retrieved from the language_text.inc file
  6. From the uom_id_statistic field on the SUBSYSTEM_JE_TEMPLATE_HEADER entry having the je_template_id described in Note 6, next, if any; otherwise set to NULL.
  7. From one of the following fields on the AR_PARTY_RELATIONSHIP entry linked to the party_id_bill_to and party_id_bill_from on the INVOICE_HEADER entry for the invoice component (for accounts receivable): OR one of the following fields on the AP_PARTY_RELATIONSHIP entry linked to the party_id_bill_to and party_id_bill_from on the INVOICE_HEADER entry for the invoice component(for accounts payable):

Construct JOURNAL_ENTRY_ITEM

The following table shows the field mappings for constructing JOURNAL_ENTRY_ITEM entries.

JOURNAL_ENTRY_ITEM Document Component or Constant
party_id_functional Refer Note 1, above
fiscal_calendar_id Refer Note 2, above
fiscal_year Refer Note 4, above
fiscal_period Refer Note 4, above
journal_number Refer Note 3, above
journal_line_item Refer Note 3, above
journal_item_desc NULL
party_id_transacting Refer Note 8, below
document_reference Refer Note 9, below
chart_id Refer Note 2, above
account_id Refer to Traversing the SUBSYSTEM_JE_TEMPLATE table and Determine the account_id from an account_usage value sections, above
debit_functional Refer Debits and Credits for First Side and Contra Side Entries section, above; and Note 10, below.
credit_functional Refer Debits and Credits for First Side and Contra Side Entries section, above; and Note 10, below.
statistic NULL
uom_id_statistic NULL
invoice_type invoice_type
invoice_id invoice_id
invoice_adjustment_seq_no adjustment_seq_no (for INVOICE_ADJUSTMENT entries only); otherwise NULL
invoice_item_seq_no invoice_item_seq_no (for INVOICE_ITEM, INVOICE_ITEM_ADJUSTMENT and INVOICE_ITEM_FEATURE entries only); otherwise NULL
invoice_item_prod_feature_id prod_feature_id (for INVOICE_ITEM_FEATURE entries only); otherwise NULL
invoice_item_adjustment_seq_no adjustment_seq_no (for INVOICE_ITEM_ADJUSTMENT entries only); otherwise NULL
order_type Refer Note 11, below
order_id Refer Note 11, below
<all other fields>
(except created_date and created_user)
NULL
  1. From the value of party_id_bill_to (for accounts receivable) or party_id_bill_from (for accounts payable) on the INVOICE_HEADER entry linked to the invoice component.
  2. From the value of invoice_id_external on the INVOICE_HEADER entry linked to the invoice component.
  3. These values accumulate for summary journal entries (refer to is_summary_journal Property).
  4. From the values of order_type and order_id on the INVOICE_HEADER entry linked to the invoice component.

General Ledger Control Data

This information exists within a shared table in the MENU database and not a separate table within the FINANCE_GL database. It holds values which can be varied to suit that particular installation. The current values are as follows:

IdDescriptionValue
EXCHANGE_RATE_SERVICE_URL_RATE URL for exchange rate API queries. This is used to obtain exchange rates from an external service instead of having to key them in by hand. (example) HTTPSs://web-services.oanda.com/rates/api/v2/rates/
EXCHANGE_RATE_SERVICE_API_KEY Key for use of API service (a random string of characters)
IS_APPROVAL_REQUIRED_MJE Is approval required for manual journal entries? If YES then each journal will have to be approved before it can be posted. Yes/No
IS_APPROVAL_REQUIRED_RJE Is approval required for recurring journal entries? If YES then each journal will have to be approved before it can be posted. Yes/No

Date created: 28th September 2018

Amendment history:

30 Mar 2024 Updated the JOURNAL_ENTRY_ITEM table to include the facility_id column.
30 Apr 2023 Updated JOURNAL_ENTRY_ITEM by adding the timesheet_entry_seq_no column.
Updated is_batch_post Property and is_summary_journal Property to include WORK-EFFORT subsystem.
17 Apr 2023 Added table FUNC_UNIT_WRK_EFF_PURPOSE.
17 Feb 2022 Updated FUNCTIONAL_UNIT by adding columns account_id_reserve, account_id_ylv and account_id_variance.
Updated FUNC_UNIT_PROD_CAT by adding column account_id_ylv.
Added table FUNC_UNIT_INV_VAR_REASON.
07 Aug 2021 Updated FUNCTIONAL_UNIT by adding columns account_id_commissions_fees, account_id_auc, account_id_expense, account_id_impairment and account_id_disposal.
14 Sep 2020 Added Invoice Revaluations
06 Sep 2020 Added Subsystem Posting to the General Ledger
04 Sep 2020 Updated the JOURNAL_ENTRY_HEADER table to include the subsys_id column.
Updated the JOURNAL_ENTRY_ITEM table to include the payment_applied_line_no and receipt_applied_line_no columns.
15 May 2019 Updated the FUNCTIONAL_UNIT table to include the account_id_tax_wh_payable column.
Updated the FUNC_UNIT_PRICE_COMPONENT table to include the account_id_tax_wh_payable column.
25 Apr 2019 Updated the descriptions of the account_id and account_usage columns in the SUBSYSTEM_JE_TEMPLATE_ITEM table.

Copyright © 1999-2024 by Geoprise Technologies Licensing, All Rights Reserved.