ArapXML elements dictionary - Version 084 - 22 May 2001 

 Home

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
   ledger 

transaction
   originalLedger
   transactionJournalType

entry
   entryJournalType
   orgUnit
   ledgerUser
   party
   partysUser
   settlementMethod
   productOrService
   unitsOfMeasure
   location
   project
   job
   costCenter
   employee
   fund
   otherCode
   


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
   batchDoc 

transaction
   transactionDocRef

entry
   entryDocRef
   partysDocRef
   otherCode
   


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.

 1. transactionSet 

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

1ledger 

(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. 
 
4controlTotal

(optional)

 -
Uses the accountDetails structure above to convey 1 or more control totals for accounts or groups of accounts in the system.   
5transactions

(required)

 -
The transactions (whew)   

2.  transaction element: transactionSets contain transactions, contain entries:

    

arapXML ledger element

Field description / usage Interface behavior

Synonyms

1transactionId

(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.   
5period

(optional)


OMG GL: period_id
accounting period  
6 transactionDescription

(optional)


OMG ARAP:trans_description
OAGIS: DESCRIPTN
explanation text, memo, string etc. at header level.  
7originalLedgerUri

(optional)

Uri of the originator of the transaction or which provides drillback or audit trail.  
8originalTransactionId

(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.  
14isPosted

(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.  
15isSummary

(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

1transactionId

trans_id

uniquely identifies this transaction (set of rows)(FK)(equal to transactionId in the arapXML header element)  
2entryId

entry_id 

uniquely identifies this row (e.g. line of journal entry)  
3 entryDate

entry_date
DATETIME
(ACCOUNTING)

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  
7xbrlType

xbrl_type
(of Account)

classification of this row for GAAP reporting.  
8amount

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.  
9debitOrCredit

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.)

ArapXML requires that either the debitOrCredit indicator or +/- sign is applied to every entry line, independently of the normal sign of account codes. The management of signs in reports and query responses to users is a responsibility of report and GUI designers. 

 
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.  
14entryDoc

voucher_ref
(of Entry)

source doc. number or index, etc. (supports systems which carry doc. references for both header and row)  
15ledgerUser

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.  
19taxType

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.  
31party

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.  
44dueDate

due_date

"YYYY-MM-DD" date the asset/liability is/was due  
45settlementMethod

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.