arapXML | ||||||||
|
|
Transaction | |
Object Interface | GLIE |
trans_id voucher_ref voucher_date act_trans_date period_id |
GL. Transaction Identifier. Text GL. Transaction Document. DetailsDoc. Number. Text GL. Transaction Document. DetailsDoc. Date Time Author Editor. DetailsAuthor Editor. Action. Date Time, where action="posted" GL. Period. Text |
Entry | |
Object Interface | GLIE |
trans_id entry_id entry_date entry_type acc_id orig_amount amount cr_dr description voucher_ref |
GL. Transaction Identifier. Text GL. Entry Identifier. Text Author Editor. DetailsAuthor Editor. Action. Date Time, where action="posted" GL. Source Journal. Identifier GL Account. DetailsGL Account. Identifier GL. Original. Amount GL. Amount GL. Debit Credit. CodeCode. Content GL. Description. Text GL. Entry Document. DetailsDoc. Number. Text |
Account | |
Object Interface | GLIE |
acc_id description is_control balance |
GL Account. DetailsGL
Account. Identifier GL Account. DetailsGL Account. Name GL Account. DetailsGL Account .Type. Text, where Text="control" GL Account. DetailsGL Account. Balance. Amount |
Selected portions of OMG GL Facility, pages 9 - 18
GL Facility - Environment Contract
These are the key assumptions provisioned for the environmental objects containing and managing the GL Facility.
GL Facility - General Invariants
This section details key assumptions regarding the responsibilities of GL Facility implementations, as well as detailing various invariants for General Ledgers, GL Accounts, GL Transactions and GL Entries.
GL Facility - Ledger Invariants
GL Facility - Account Invariants
GL Facility - Transaction Invariants
GL Facility - Entry Invariants
GL Facility - Forward Declarations
Forward declarations are included for all of the interfaces defined in the GL Facility.
interface Arbitrator; // establish GL client session
interface Profile; // GL Facility metadata
interface BookKeeping; // GL data entry
interface Retrieval; // GL data acquisition
interface LedgerLifecycle; // GL lifecycle management
interface Integrity; // GL data integrity checks
interface FacilityLifecycle; // GL Facility lifecycle management
GL Facility - Basic Data Type Naming Conventions
The FdGeneralLedger module defines several data types for GL accounting information. Among these are a number of sequence types, which follow the naming convention <T>List where <T> is the type of the sequence elements. All string types used in the module are wstrings.
GL Facility - Basic Data Type Definitions
typedef FbcCurrency::Money Money; // imported from the OMG Currency
// specification, module FbcCurrency
typedef sequence<wstring> wstringList; // sequence of type wstring
typedef sequence<boolean> booleanList; // sequence of type boolean
typedef wstring CurrencyMnemonic; // a reference to a single currency
typedef wstring TransactionId; // a single GL Transaction reference
typedef sequence<TransactionId> TransactionIdList;
typedef wstring EntryId; // audit trail number for a GL Entry
typedef sequence<EntryId> EntryIdList;
typedef wstring AccountId; // a single GL Account reference
typedef sequence<AccountId> AccountIdList;
typedef wstring EntryType; // a single GL Entry type
typedef sequence<EntryType> EntryTypeInfoList;
typedef wstring PeriodId; // a reference to a user defined period
GL Facility - Basic Data Type Information
typedef unsigned short ChartKind;
const ChartKind EMPTY_CHART = 1;
const ChartKind DEFAULT_CHART = 2;
const ChartKind EXISTING_CHART = 3;
An instance of the GL Facility constrains and manages one or more General Ledgers, each of which requires a single Chart of Accounts (schema) to be established before proper operation can be assured. The data type ChartKind specifies the different kinds of Chart of Accounts schemata for the initialisation of a new General Ledger which is to be constrained and managed by an instance of the GL Facility. Please refer to the GL Facility�s FacilityLifecycle interface operation create_ledger_chart_of_accounts()for specific information.
Each General Ledger has an identifying name and a single Chart of GL Accounts schema. A new General Ledger may be initialised without first specifying the Chart of Accounts. That is, the new General Ledger is created but has zero GL Accounts defined. This schema type is represented by the EMPTY_CHART member of the ChartKind data type.
A single Chart of GL Accounts schema (associated with a single General Ledger) may be required to be conformant with specific accounting practices and/or regulations in a particular locale or country, for example. This schema type is represented by the DEFAULT_CHART member of the ChartKind data type. Governments and other regulatory bodies of the vast majority of countries in the world have specific minimum requirements regarding a General Ledger�s Chart of Accounts schema.
A new General Ledger may be based on an existing Chart of Accounts in another General Ledger managed by the GL Facility. This schema type is represented by the EXISTING_CHART member of the ChartKind data type. The new Chart of Accounts may subsequently be revised by using the administrative operations provided by the GL FacilityLifecycle interface.
enum DebitOrCredit { DEBIT, CREDIT };
The data type DebitOrCredit specifies whether a single GL Entry is a debit or a credit. A single GL Entry can only be either a debit or a credit.
Struct Date { CBO::DTime setting;
boolean is_set; };
The data type Date is used for all date operations. However, the CBO::DTime does not allow for "not set" date values which are frequently needed for many date oriented operations. The boolean is_set is added to provide a workaround for many frequently encountered situations that require a blank date, such as the retrieval of information from legacy systems, for example.
DateRange { Date start_date; Date end_date; };struct
The data type DateRange
specifies date ranges for the purpose of supporting general purpose retrieval
operations on GL accounting information such as GL Transactions and GL Entries,
for example. The DateRange data type is
inclusive of both a start_date and end_date.
GL Facility - Account Information
The GL Facility is responsible for one or more General Ledgers. A single, specific General Ledger must constrain and manage a single collection of GL Accounts, also known as a "Chart of Accounts".
Subsequently, GL Transactions and their associated GL Entries may be further associated with one or more GL Accounts (specified in the currently selected General Ledger�s Chart of Accounts schema) by "posting" (i.e. recording) GL Transactions concerning at least two (or more) GL Accounts contained in the General Ledger�s Chart of Accounts schema. Please see the various GL LedgerLifecycle interface operations for specific information about General Ledger administrative operations as well as the GL Profile::BookKeeping interface operations for more information about posting GL Transactions.
struct AccountInfo { AccountId acc_id;
wstring acc_description;
};
typedef
sequence<AccountInfo> AccountInfoList;
The data type AccountInfo comprises a single GL Account reference which is unique to a specific General Ledger, as well as a user defined GL Account name which may be used to describe the nature or purpose for which a particular GL Account will be used. For example, salaries, bank current account, etc. The data type AccountInfoList is a collection type for the data type AccountInfo.
struct Account {
AccountInfo acc_info;
boolean is_control_account;
Money balance;
};
typedef
sequence<Account> AccountList;
The data type Account specifies summary information describing a single GL Account. The data type AccountList is a collection type for GL Accounts.
GL Facility - Transaction Information
struct TransactionInfo {
TransactionId trans_id;
wstring voucher_ref;
Date voucher_date;
Date act_trans_date;
PeriodId period_id;
};
typedef
sequence <TransactionInfo> TransactionInfoList;
The data type TransactionInfo specifies summary information about a single, specific GL Transaction. The data type TransactionInfoList is a collection type for multiple TransactionInfo data types
Generally, financial accounting is done within "accounting periods". An accounting period is defined as a period of time (of arbitrary length), whose only constraint is that a given accounting period is shorter than a full financial year. This applies not only to General Ledger accounting, but also to other often related accounting functions such as Accounts Receivable and Accounts Payable, for example. The set up of accounting periods is typically performed only once a year and is the subject of organisational policy. This submission makes no prescriptive statements about the rules that may be applied when using accounting periods.
As of this writing, both Period Management as well as Closing and Reconciliation Facilities are being considered as potential candidates for future OMG FDTF RFPs.
GL Facility - Entry Information
Each GL Transaction is composed of at least two (or more) GL Entries. Every GL Entry in the GL Facility corresponds to either a debit or a credit. Each GL Entry contains the details of an amount (debited or credited) in a foreign currency, as well that same amount in the nominated reporting currency of a specific General Ledger. In combination with the historical exchange rate information provided by an instance of the OMG Currency Facility, this provides sufficient information to generate multi-currency general purpose financial statements, should this be required.
struct Entry {
TransactionId trans_id;
EntryId entry_id;
Date entry_date;
EntryType entry_type;
AccountId acc_id;
Money orig_amount
Money amount;
DebitOrCredit dr_cr;
wstring description;
wstring voucher_ref;
};
typedef
sequence<Entry> EntryList;
The data type EntryList specifies a collection type for multiple GL Entries. The data type Entry specifies information about a single GL Entry.
struct EntryTypeInfo {
EntryType type;
wstring description;
};
typedef sequence<EntryTypeInfo> EntryTypeInfoList;
The data type EntryTypeInfo refers to a single, specific GL Entry type and an associated high level description such as "Journal Debit" or "Journal Credit", for example. The data type EntryTypeInfoList is a collection type of EntryTypeInfo.
The member description refers to a high level, human-readable description such as "Journal Credit" or "Journal Debit", for example.
copyright notice:
Used with the permission of the Object Management Group. For information on joining the OMG or additional information, please contact OMG headquarters by phone at +1-781-444 0404, by fax at +1-781-444 0320, or by email at [email protected]. The OMG provides current information and services for distributed enterprise computing on the World Wide Web at www.omg.org and www.corba.org. Information about OMG Japan can be found at www.omgj.org.
The Object Management Group is an international non-profit standards organization that promotes a full-lifecycle approach to enterprise integration. OMG's standards cover application design and implementation.
CORBA�, The Information Brokerage�, CORBA Academy�, IIOP� and the Object Management Group logo� are registered trademarks of the Object Management Group. OMG(tm), Object Management Group(tm), the CORBA Logo(tm), "The Middleware That's Everywhere(tm)" , the CORBA Academy logo(tm), XMI(tm), MOF(tm), CWM(tm), OMG Interface Definition Language(tm), IDL(tm), CORBAservices(tm), CORBAfacilities(tm), CORBAmed(tm), CORBAnet(tm), UML(tm), the UML Cube Logo, "We're Known By The Companies We Connect(tm)", Model Driven Architecture(tm), MDA(tm), OMG Model Driven Architecture(tm), OMG MDA(tm), "The Architecture of Choice for a Changing World(tm)", and Unified Modeling Language(tm) are trademarks of the Object Management Group.