ArapXML elements dictionary - Version 087 - 20 August 2001 

 Home

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
   ledger 
   controlTotal

GLTransaction
   period
   originalLedger
  transactionJournalType

GLEntry
   entryJournalType
   GLaccount
   tax
   ledgerUser
   orgUnit
   party
   partysUser
   settlementMethod
   productOrService
   productMeasure
   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. )

GLTransactionSet
   batchDoc 

GLTransaction
   transactionDoc

GLEntry
   entryDoc
   partysDoc
      


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.

 1. GLTransactionSet 

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

1ledger 

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

(optional)

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

(required)

 -
Uses the GLTransaction structure below.   

2. GLTransaction 

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

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 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
(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: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.

 
4period

(optional)


OMG GL: period_id
accounting period  
5 transactionDescription

(optional)


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

(optional)

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

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

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

(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

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 entryJournalType

entry_type

sales journal, purchase journal, cash receipts journal, etc.   
5 GLaccount

acc_id

the chart of accounts account code for the transaction.  
6amount

amount
orig_amount

any numeric value consistent with your functional currency.  
7debitOrCredit

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

voucher_ref
(of Entry)

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

tax_type

taxable scheme, rate, category, etc. (for multiple tax entries use multiple rows)  
11ledgerUser

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   
13party

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.   
16settlementMethod

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.