ArapXML elements dictionary - Version 084 - 22 May 2001 |
Introduction
ArapXML is an XML document format for representing general ledger and accounts payable and receivable records. The home page is http://www.arapxml.net. 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 Code type:
The Code
type 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.
transactionSet transaction entry |
|
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. ) transactionSet transaction entry |
|
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. |
|
The arapXML:Account type is used to specify any classification necessary in the implementation. It is intrinsic to a GL that there is some classification by natural account or tax category. Account code and/or account name may be used in classic accounting style. Account is also used to transport an account balance or balances in the controlTotal element of the transactionSet. The rollsUpInto enables hierarchies of account codes to be enumerated. xbrlType associates an account with an element in an xbrl taxonomy.
|
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 transactionSet is the root element. transactionSet contains transactions, which contain entries. The transactionSet element identifies the ledger and some minimal business content such as control totals applicable to the transactions in the instance document. (To post multiple ledgers requires multiple transactionSet instances.)
arapXML ledger element |
Field description / usage | Interface behavior | |
Synonyms |
|||
1 | ledger (optional) OMG GL: ledger_name OAGIS: GLENTITYS | The
ledger element uses "code" object above. The "codeValue"
within "code" uniquely identifies the ASP, system, host or software which created this arapXML instance, globally, and furthermore, if that system contains multiple ledgers,
getRecordUri 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 fromLedgerURI plus the transactionId element. See 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 date object above.
|
(system) |
3 | batchDoc (optional) |
Uses
the docRef structure above to convey any document about the transactionSet.
|
|
4 | controlTotal (optional) - |
Uses the accountDetails structure above to convey 1 or more control totals for accounts or groups of accounts in the system. | |
5 | transactions (required) - |
The transactions (whew) |
2. transaction element: transactionSets contain transactions, contain entries:
arapXML ledger 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 | transactionDocRef (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 OAGIS: DATETIME (DOCUMENT) |
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 | transactionPostDate (optional) OMG GL: act_trans_date |
System date the transaction was posted if postedStatus is true. Otherwise, future date requested by originator, subledger, etc. to post this transaction. | |
5 | period (optional) OMG GL: period_id | accounting period | |
6 | transactionDescription (optional) OMG ARAP:trans_description OAGIS: DESCRIPTN |
explanation text, memo, string etc. at header level. | |
7 | originalLedgerUri (optional) | Uri of the originator of the transaction or which provides drillback or audit trail. | |
8 | originalTransactionId (optional) | Unique id of this transaction on the original system, for drillback or audit trail. | |
9 | 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. | |
11 | transactionType (optional) | values A,B,T, or F (Actual, Budget, Forecast, TaxAdjustment) (for tax differences use multiple types and rows) | |
12 | journalType (optional) | Journal type e.g. sales, purch, cash disbursement etc. | |
13 | transactionBatchId (optional) |
associates this TransactionId with a batch. A batch is a collection of transactions within one or more arapXML files, to be managed together for purposes such as posting, approval, backup etc. | |
14 | 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. | |
15 | 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 ledger 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 | entryType
entry_type |
sales journal, purchase journal, cash receipts journal, etc. (values constrained by arapXML schema) | |
5 | accountCode
acc_id |
the chart of accounts account code for the transaction if segmented codes are not used. | |
6 | accountName | name of the account in chart of accounts | |
7 | xbrlType
xbrl_type |
classification of this row for GAAP reporting. | |
8 | amount
amount |
any numeric value consistent with your functional currency. In ArapXML, positive numbers are debits, and negative numbers are credits respectively. Alternatively, the debitOrCredit indicator is used. The determination is made once at the creation of the ledger, and maintained in its ledger definition. See also debitOrCredit documentation below. | |
9 | debitOrCredit
dr_cr |
valid values are one of
the following: "D", "C", "d", or "c". Note that applying the debit/credit indicator
to an entry line, or applying the +/- sign to the numeric amount of the
entry, is completely independent of the normal sign that may be
associated with an account code (e.g. sales are normally credits but are
almost always displayed as positive numbers in reports) (In ArapXML,
positive numbers are debits, and negative numbers are credits respectively.) |
|
10 | currency | ISO 4217 currency code applicable to Amount | |
11 | originalAmount
orig_amount |
any numeric value consistent with the currency in CurrencyForeign below | |
13 | entryDescription
description |
explanation text or memo string etc. | |
14 | entryDoc
voucher_ref |
source doc. number or index, etc. (supports systems which carry doc. references for both header and row) | |
15 | ledgerUser
user_id |
authenticated user who recorded this row of this transaction in this system, i.e. the system to which entryId belongs. | |
16 | costCenter
cost_center_id |
any accumulator supporting grouping of expenses and costs. | |
17 | geographic | Top level geographic code or area the transaction is associated with. | |
19 | taxType
tax_type |
taxable scheme, rate, category, etc. (for multiple tax entries use multiple rows) | |
20 | 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. | |
27 | partysUser party_user_id |
UserId of the authenticated member of the named recipient, who posts acceptance or agreement. | |
31 | party
party_id |
QName (namespace:id) uniquely identifies the reciprocal party to this row of this transaction | |
38 | orgUnit | organization hierarchy within the legal Entity | |
41 | employee | employee associated with this transaction, revenue, expense etc. for HR, incentive or accountability. | |
44 | dueDate
due_date |
"YYYY-MM-DD" date the asset/liability is/was due | |
45 | settlementMethod
settlement_method |
How or by what bank, settlement agent, etc. the asset/liability is/was settled (a Qualified name (Qname) | |
51 | productOrService
product_id |
Item, SKU or other unique identifier for the product or service.. Qname (Qualified name) include catalog or product namespace. | |
53 | quantity | Quantity of the above product or item or service. | |
57 | partysDoc
party_voucher_ref |
3rd party's invoice number, po number, etc. | |
58 | fund | a legal or budgetary unit such as within municipal or not-for-profit ledgers | |
60 | project
project_id |
1st level of project code | |
62 | job | uniquely identifies the job, project, etc. |