ArapXML elements dictionary - Version 087 - 20 August 2001 |
Introduction
(ArapXML was produced in 2001, as an XML document format for representing general ledger and accounts payable and receivable records. The home page is http://www.arapxml.net/specification.htm. The AR/AP vocabulary is now maintained in the GLIEs library, a syntax-neutral meta model conformant with ebXML Core Components Technical Specification v. 1.8 which works for other syntaxes as well as XML. )
ArapXML is a three-tier hierarchy as follows:
conceptual model of an ArapXML instance:
GLTransactionSet ...contains GLTransaction's:
GLTransaction ...contains GLEntry's:
GLEntry date +amount account party product etc GLEntry date -amount account party product etc
Before we proceed into the elements dictionary it is essential that the reader understand some of the complex types used in arapXML instances. The most important of these is the IdType. This is derived from "identification.type" in ebXML Core Components Structure and Naming convention v1.04 http://www.ebxml.org/specs/ebCCNAM.doc and http://www.ebxml.org/specs/ccSTRUCT.xls. ArapXML uses this core component type to represent DUNS numbers, EAN and UN/SPSC ids, and Ids of UDDI businessEntity's, etc. The objective is to achieve practical usage of these IDs in a business system, and the means to resolve IDs into their meanings by querying these list providers.
The IdType is used in the following elements of arapXML. The purpose
of arapXML is transporting GL data between diverse systems,
internationally. The elements at left illustrate the flexibility of
this structure: it can carry a simple code or other data ranging up to a
globally unique URI.
GLTransactionSet GLTransaction GLEntry |
|
The DocRef type is used in the elements of arapXML below. The DocRef structure can carry a simple identifier such as a PO number, or the whole document, or a URI. (Examples of docName's are in the EDIFACT 1001 segment. ) GLTransactionSet GLTransaction GLEntry |
|
The arapXML:dateTime type is used in every element of arapXML requiring a date. General ledger entries require a large variety of date and timestamps. The qualifier element within the dateTime structure can carry any qualifier required by participants in ecommerce, such as the 33 OAGIS datetime qualifiers or 697 datetime qualifiers in edifact 2005 segment. The default set of valid qualifiers are as follows (discussion draft). creation, execution, posting, due,
payment, received, sent, shipped. |
|
U N D E R C O N S T R U C T I O N B E L O W T H I S L I N E.
The GLTransactionSet is the root element. GLTransactionSet contains GLTransaction's, which contain GLEntry's. The GLTransactionSet element identifies the source ledger and some minimal business content such as control totals applicable to the transactions in the instance document. (To post multiple ledgers requires multiple GLTransactionSet instances.)
arapXML ledger element |
Field description / usage | Interface behavior | |
Synonyms |
|||
1 | ledger (optional) OMG GL: ledger_name OAGIS: GLENTITYS | The
ledger element uses "IdType" object above. The "idContent"
within "IdType" uniquely identifies the
ledger within the scheme
"idSchemeName"
(ASP, system, host or software which created this arapXML
instance) globally, and furthermore, if that system contains multiple ledgers,
dataUri uniquely identifies the source ledger within that collection of ledgers. Syntax is URI
(RFC 2396) (note 2). An implied contract exists that drillback into the transactions within this arapXML instance may be provided by the host ledger, by reference to this "dataUri" plus the transactionId element. See also originalLedgerUri below. "codeText" in this
context is the name or alias of the source ledger identified in the "getRecordUri"element
of the "code" object. Usually a mnemonic or full name of
the legal entity. The ledgerName is the name of the ledger or subledger (at
the user interface level) to which this transaction belongs. |
(system)
The initiator populates this field with its own ledger name or code. The recipient accepts the source ledger name or code from the ledger element, and typically stores it in the database field associated with the originalLedger element below.
|
2 | ledgerDate (optional) |
Uses the arapXML:dateTime object above. | (system) |
3 | batchDoc (optional) |
Uses
the docRef structure above to convey any document about the GLTransactionSet.
|
|
4 | controlTotal (optional) - |
Uses the IdType structure above to convey 1 or more control totals for accounts or groups of accounts in the system. | |
5 | GLtransaction (required) - |
Uses the GLTransaction structure below. |
The GLTransaction is the 2nd level of detail. GLTransactionSet contains GLTransaction's, which contain GLEntry's. The GLTransaction type is the "header", within a header-rows style of representation.
arapXML GLTransaction element |
Field description / usage | Interface behavior | |
Synonyms |
|||
1 | transactionId (optional) OMG GL: trans_id OAGIS: JEID | Uniquely identifies this ledger transaction (header+set of rows) within the source ledger, subledger, or purchasing or sales module etc. identified by ledgerUri element. transactionId is not required in arapXML interactions because some GLs don't use id's, and others use only row id's. But if transactionId is used, the source ledger shall provide a transactionId which, together with ledgerUri, provides a globally unique identifier for this transaction." | (supported) This is the Ledger's primary key (index). When sending the Ledger will provide transactionId. When receiving a batch, the Ledger captures this field into originalTransactionId below, and creates a new value for transactionId internally. |
2 | transactionDoc (optional) OMG GL: voucher_ref |
General purpose reference to one or more source documents for audit trail. Uses the arapXML DocRef type | |
3 | transactionDate (optional) OMG GL: voucher_date OMG GL: act_trans_date OAGIS: DATETIME |
Date and time
pairs for any of a large number of adjectives such as legal transaction recognition,
due date, posting date, accounting period, etc. Uses the arapXML:dateTime type, composed of three elements: a date in ISO 8601 format, and an optional time also in ISO 8601 format and a qualifier. In arapXML, the default formats "yyyy-mm-dd" and "hh:mm:ss" should be used in absence of prior agreement between parties. By default valid qualifiers will include transaction execution, and posting. |
|
4 | period (optional) OMG GL: period_id | accounting period | |
5 | transactionDescription (optional) OMG ARAP:trans_description OAGIS: DESCRIPTN |
explanation text, memo, string etc. at header level. | |
6 | originalLedgerUri (optional) | Uri of the originator of the transaction or which provides drillback or audit trail. | |
7 | originalTransactionId (optional) | Unique id of this transaction on the original system, for drillback or audit trail. | |
8 | groupId (optional) OMG ARAP:group_id |
associates this transaction within any related transaction group or set of transactions within an ebXML transaction pattern, CPA, or other choreography. for example, associates the PO with any fulfillment, invoice and/or settlement that may occur at a later time or separate posting. | |
9 | fiscalType (optional) | values A,B,T, or F (Actual, Budget, Forecast, TaxAdjustment) (for tax differences use multiple types and rows) | |
10 | transactionJournalType (optional) | Journal type e.g. sales, purch, cash disbursement etc. | |
11 | isPosted (optional) OMG ARAP:posted_status | zero if false (not posted); 1 if true (posted) Enables unposted transaction batches from internal or external (untrusted) sources to be appended to the primary GL or subledgers such as AR/AP systems. | |
12 | isSummary (optional) | zero if false (not summary); 1 if true (summary) Enables summary reports or posting from one ledger or system to another |
Transactions may consist of 2 or more rows which sum to
zero. Following are the fields of the transaction rows (entries:)
arapXML GLEntry element |
Field description / usage | Interface behavior | |
Synonyms |
|||
1 | transactionId
trans_id |
uniquely identifies this transaction (set of rows)(FK)(equal to transactionId in the arapXML header element) | |
2 | entryId
entry_id |
uniquely identifies this row (e.g. line of journal entry) | |
3 | entryDate
entry_date |
Date and time pairs for
any of a large number of adjectives such as legal transaction recognition,
due date, posting date, accounting period, etc. Uses the arapXML GLdatetime type, composed of three elements: a date in ISO 8601 format, and an optional time also in ISO 8601 format and a qualifier. In arapXML, the default formats "yyyy-mm-dd" and "hh:mm:ss" should be used in absence of prior agreement between parties. By default valid qualifiers will include transaction execution, posting, period and ..TBD |
|
4 | entryJournalType
entry_type |
sales journal, purchase journal, cash receipts journal, etc. | |
5 | GLaccount
acc_id |
the chart of accounts account code for the transaction. | |
6 | amount
amount |
any numeric value consistent with your functional currency. | |
7 | debitOrCredit
dr_cr |
amount of the transaction (uses the arapXML:Amount type having a qualifier to indicate functional or original currency or other Amounts on this entry line) | |
8 | entryDescription
description |
explanation text or memo string etc. | |
9 | entryDoc
voucher_ref |
source doc. number or index, etc. (supports systems which carry doc. references for both header and row) | |
10 | taxType
tax_type |
taxable scheme, rate, category, etc. (for multiple tax entries use multiple rows) | |
11 | ledgerUser
user_id |
authenticated user who recorded this row of this transaction in this system, i.e. the system to which entryId belongs. | |
12 | orgUnit | organization hierarchy within the legal Entity | |
13 | party
party_id |
IdType uniquely identifies the reciprocal party to this row of this transaction | |
14 | partysUser party_user_id |
UserId of the authenticated member of the named recipient, who posts acceptance or agreement. | |
15 | partysDoc
party_voucher_ref |
3rd party's invoice number, po number, etc. | |
16 | settlementMethod
settlement_method |
How or by what bank, settlement agent, etc. the asset/liability is/was settled | |
17 | terms | uses Terms type having fixed stairsteps and interest rates applying at multiple dates. | |
18 | negotiationState entry_negotiation_state |
string such as "offer", "draft", "acceptance", "fulfilled", "settled" etc. appropriate for this transaction pattern or ebXML CPA. Indicates the level of completion or negotiation of this transaction row only. | |
19 | employee | employee associated with this transaction, revenue, expense etc. for HR, incentive or accountability. | |
20 | productOrService
product_id |
Item, SKU or other unique identifier for the product or service.. include catalog or product namespace. | |
21 | productQuantity | Quantity of the above product or item or service counted in units, boxes etc.etc. | |
22 | productMeasure | physical dimension weight etc. of product or item or service. | |
23 | fund | a legal or budgetary unit such as within municipal or not-for-profit ledgers | |
24 | project
project_id |
1st level of project code | |
25 | job | uniquely identifies the job, project, etc. | |
26 | costCenter
cost_center_id |
any accumulator supporting grouping of expenses and costs. |