You are on page 1of 60

Oracle Applications

White Paper

Financials Accounting Hub


Accounting for Transactions from
a Custom Application using R12 FAH

Note: Financials Accounting Hub (FAH) was formerly


known as Financial Services Accounting Hub (FSAH)

Author: Sanjay Prasad


Contributor: Sriram Ramanujam
Version: 1.2
Create Date: 01-MAY-2012
Update: 09-JUN-2012

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 1
Contents

Table of Contents
INTRODUCTION ....................................................................................................................................................... 3
Objective .........................................................................................................................................................3
Scope ..............................................................................................................................................................3
Terms ..............................................................................................................................................................3
BUSINESS CASE ....................................................................................................................................................... 4
Methodology ..................................................................................................................................................4
Business Example............................................................................................................................................4
DESIGN..................................................................................................................................................................7
F. Technical Design .........................................................................................................................................7
F.1 Header Data ........................................................................................................................................................ 8
F.2 Line Data ............................................................................................................................................................. 9
SET UP STEPS ....................................................................................................................................................... 11
G. Step By Step Guide to Setup .....................................................................................................................11
G.1 Application Developer ..................................................................................................................................... 11
G.2 System Administrator ...................................................................................................................................... 12
G.3 General Ledger (GL) ....................................................................................................................................... 13
G.4 Subledger Accounting (SLA).......................................................................................................................... 13
G.4.1 Define Subledger Accounting Application................................................................................................. 14
G.4.2 Define Event Model ...................................................................................................................................... 14
G.4.3 Define Accounting Event Class Options ................................................................................................... 19
G.4.4 Define Business Flow Class ....................................................................................................................... 24
G.4.5 Define Journal Line Type (JLT) .................................................................................................................. 25
G.4.6 Define Mapping Set ..................................................................................................................................... 31
G.4.7 Define an Account Derivation Rule (ADR) ................................................................................................ 34
G.4.8 Define Journal Line Definition (JLD) .......................................................................................................... 39
G.4.9 Define Application Accounting Definition (AAD) ...................................................................................... 44
G.4.10 Attach the AAD to the Subledger Accounting Method (SLAM)............................................................ 46
TRANSACTIONS .....................................................................................................................................................48
H. Populate the Custom tables with Transaction Information ....................................................................48
H.1 Populate the Header Table with Sample Data for the Invoices................................................................. 48
H.2 Create Accounting for Invoices ...................................................................................................................... 52
H.3 Populate the Sample Data for the Payment................................................................................................. 55
H.4 Create Accounting for Payment ..................................................................................................................... 58
H.5 Verify the Journals in Oracle General Ledger.............................................................................................. 60

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 2
Introduction

Objective
In R12, you can configure Financials Accounting Hub (FAH) to account for
transactions in a third party application. This white paper is an attempt to elaborate
on the steps required to accomplish this.

Scope
There are different aspects in accounting. For example, Normal accounting means
simply generating debits and credits for a transaction; then there is Business Flow,
Multi Period Accounting, Reversal Accounting, Cross Currency Accounting and so
forth. In this white paper we will cover the following:

a) How to configure FAH for Normal accounting


b) How to configure FAH to complete the accounting for a Business Flow
c) Step by step guide on how to configure FAH

This white paper will NOT include the following:

a) Detailed explanation of the FAH architecture


b) Definition and explanation of different objects in FAH

Terms
FAH Financials Accounting Hub
JLT Journal Line Type
JLD Journal Line Definition
AAD Application Accounting Definition
Oracle GL Oracle General Ledger in the E-Business Suite
COA Chart of Accounts
SLAM Subledger Accounting Method
Upstream The flow from Invoices to Payments
Downstream The flow from Payments to Invoices

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 3
Business Case

Methodology

In this paper, we will take a couple of sample transactional data; then define the
expected accounting entries, per business requirements. We’ll configure FAH
according to the accounting requirements, then perform accounting in FAH and
compare the accounting by FAH to the expected accounting entries.

Business Example

A customer has a legacy system that performs the Payables function. The legacy
system records Invoices and Payments for Supplier Invoices. There is a need to
integrate the legacy payables system to the E-Business Suite General Ledger (GL).

This will be accomplished through FAH using the following example:


• In the legacy system, two invoices are created.
• The invoices are paid by a single payment.
• The transactional detail is passed to FAH, and FAH will account for the
transactions.
We will use the Invoice to explain Normal accounting and the Payment to explain
accounting in the context of a Business Flow.

Here’s a detailed explanation of the configuration:


• In the legacy system, there are 2 standard invoices for a domestic supplier
• The First invoice is for INV (Inventory item) and an ASSET
 The Inventory item is for 1000 CAD for the legacy company code 1001
 The Asset item is for 3000 CAD for the legacy company code 1001
 The Second invoice is for an ASSET item and MISC item
 The Asset item is for 1500 CAD for the legacy company code 1001
 The Miscellaneous item is for 4500 CAD for the legacy company code 1001
• Both invoices are paid on one payment issued in the amount of 10,000 CAD

Note: CAD is any Currency and does not necessarily reflect any particular country
currency.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 4
Account Structure Mapping
In this example, the Account Structure of Oracle General Ledger Chart of Accounts
(COA) has five segments:
Segment 1 Company
Segment 2 Department
Segment 3 Account
Segment 4 Sub Account
Segment 5 Product

The derivation of value for Segment1 and Segment3 will depend on the transactional
data in the custom application. For all other segments, we will use the following
default values:
Segment 2 000
Segment 4 0000
Segment 5 000

For the other two segments, the mapping from the Legacy application to Oracle GL is
as follows:

• Mapping “Company” (Segment1):


o Legacy company code 1001 is mapped to 01 company code in
Oracle GL Chart of Accounts (COA)
o Legacy company code 1002 is mapped to 02 company code in
Oracle GL COA and so forth.
• Mapping “Account” (Segment3):
o Legacy Inventory item labeled “INV” is mapped to 1410 account
code in the Oracle GL Chart of Accounts (COA).
o Legacy Asset item labeled “ASSET” is mapped to 1570 account
code in Oracle GL
o Legacy Misc item labeled “MISC” is mapped to 4150 account
code in Oracle GL
o Legacy domestic supplier Liability labeled “SUP-DOM” is
mapped to 2210 account code in Oracle GL
o Legacy Bank Account for Cash labeled “BANK-INT” is mapped
to 1110 account code in Oracle GL. Based on the assigned
mappings, the expected accounting in Oracle GL should be as
follows :

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 5
Invoice #1
01-000-1410-0000-000 Dr 1000 CAD-Charge Line
01-000-1570-0000-000 Dr 3000 CAD-Charge Line
01-000-2210-0000-000 Cr 4000 CAD-Liability Line

Invoice #2
01-000-1570-0000-000 Dr 1500 CAD-Charge Line
01-000-4150-0000-000 Dr 4500 CAD-Charge Line
01-000-2210-0000-000 Cr 6000 CAD-Liability Line

Payment #3
01-000-2210-0000-000 Dr 10000 CAD-Liability Line
01-000-1110-0000-000 Cr 10000 CAD-Cash Line

Note: Payment is a Business Flow as it relieves the Liability created by the Invoices.
Therefore, the Liability account for the Payment should be the same as that for the
Invoices.

We will do the following to complete the accounting requirements mentioned above:


a) Technical Design - Design the technical objects to store legacy transaction
details
b) FAH Configuration - Configure FAH to generate accounting for the Invoice
and Payment from the custom application
c) Populate the transactional data in the technical objects
d) Account for the transactions using FAH configuration

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 6
Design
F. Technical Design

The Header table includes the following columns. This only represents some of the
data collected. See the table layout below to obtain the entire list of columns in the
Header table.

• Transaction type – Invoice or Payment

• Transaction Subtype – Standard Invoice, Quick Payment etc.,

• Other parties involved in the Transaction – Domestic supplier on invoices, Bank


account on payment etc., This derives the Liability and/or Cash Natural account

• Legacy Company Code

• Transaction Data

• Accounting Date

These are some of the columns in the Line table. For a complete list of the columns,
see the table layout below.

• Item amount

• Item currency

• Legacy company code for the line

• Item type – e.g., Inventory and Asset

To perform accounting in FAH, we must also gather other data including the above
information.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 7
F.1 Header Data

Table name: XX_TRX_HD

Field Description Sample Value

HD_ID This is the Header ID. It is a unique identifier for


the transaction

TXN_TYPE Type of transaction—i.e., whether it is an INV, PAY


Invoice or Payment

TXN_SUBTYPE_1 Subtype of transaction. If the transaction type is STD,PRE,Q


Invoice, then is it a Standard Invoice or
Prepayment invoice?

Similarly, if it is a Payment-- Is it a Quick


Payment or Future Dated Payment (i.e., post
dated payment)?

LEGACY_ID This is the unique identifier for the legacy


system so that transactions in R12 can be
linked back to the legacy system

TXN_DATE Transaction date

GL_DATE Transaction GL Date

LEDGER_ID Ledger ID is the internal system identifier for the


ledger defined in Oracle GL

H_ID_1 Legacy company code 1001,1002

H_ID_2 Legacy Other Party Identifier for the transaction SUP-DOM,


BANK-INT,
SUP-INT

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 8
F.2 Line Data

Table name: XX_TRX_LN

Field Description Sample Value

HD_ID This is the Header ID for the Header Table

EVENT_ID Accounting Event ID—This is a unique


accounting event identifier

DIST_ID_1 A unique identifier for the transaction line

LINE_NUMBER Transaction line number

DIST_TYPE Item/Distribution type—e.g., ITEM,TAX etc. ITEM,TAX,


CASH
ENTERED_AMOUNT Line amount

ENTERED_CURRENCY Currency for the transaction line CAD,USD

EXCHANGE_RATE_TYPE Exchange Rate Type—e.g., Corporate, Spot etc. Corporate,


It is used for the transaction line foreign currency User, Spot
etc.
EXCHANGE_RATE This is only applicable when the User Exchange
Rate Type is populated.

If the Exchange Rate Type is not populated, then


this field does not have to be populated either, as
the system will derive the exchange rate based
on the Exchange Rate Type and Exchange Rate
Date

EXCHANGE_RATE_DATE Exchange Rate Date—This is applicable to a


foreign currency transaction line

LN_ID_1 Legacy company code 1001, 1002

LN_ID_2 Legacy line type—e.g., INV, ASSET, and MISC. INV, ASSET,
This helps in deriving the natural account for the MISC
distribution

BF_APPLIED_TO_APPLICATION_I Business Flow Applied To Application ID


D
BF_APPLIED_TO_DIST_TYPE Business Flow Applied To Distribution Type ITEM

BF_APPLIED_TO_ENTITY_CODE Business Flow Applied To Entity Code

BF_APPLIED_TO_HD_ID Business Flow Applied To Header ID

BF_APPLIED_TO_DIST_ID_1 Business Flow Applied To Distribution ID

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 9
The values for the Business Flow related fields are used to identify a linked or applied
transaction.
These are the Business Flow fields:
• BF_APPLIED_TO_APPLICATION_ID
• BF_APPLIED_TO_DIST_TYPE
• BF_APPLIED_TO_ENTITY_CODE
• BF_APPLIED_TO_HD_ID
• BF_APPLIED_TO_DIST_ID_1

For example, Payments are applied on Invoices—The Payment accounting would be


depended on the Invoice accounting. So in this case, we would use the Business
Flow feature. In the transactional example we discussed, we have a Payment of
10000 CAD which is applied against two invoices.

The Liability account for the Payment accounting is derived from the same generated
for the Invoice accounting. To identify the Invoice accounting line, we need to
populate the values (in the payment related transactional data) for the business flow
so that the accounting program can uniquely identify the Liability accounting line.
The five fields mentioned above store values in such a way that the accounting
program can uniquely identify the Liability line for the related Invoice accounting.

To understand more about Business Flows, refer to the FAH Implementation Guide.
FAH also needs a view that includes data from the Header and Line tables—e.g.,
View name: XX_TRX_V would store data from XX_TRX_HD and XX_TRX_LN by
linking the common field HD_ID.

In summary, we accomplished the following in this section:


a) Defined the Header table to store Header detail for a transaction
(Table Name XX_TRX_HD)
b) Defined the Line table to store Line detail for a transaction
(Table Name XX_TRX_LN)
c) Defined a View to fetch the data from both the Header and Line tables.
View name: XX_TRX_V

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 10
Set Up Steps

G. Step By Step Guide to Setup

You must register the Application when the transactions originate from a
Non Oracle GL application.

G.1 Application Developer

Register the New Application


Navigation: Application Developer > Application > Register

Use the following information to register the Application.


Application Code: XX_CUSTOM_APPL
Application ID: 20087 (This is a unique identifier generated by Oracle E-Business
Suite)

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 11
G.2 System Administrator

Define the Responsibility


In this step, you will define/access the SLA configuration for the Application
referenced in the field called Application.
Navigation: System Administrator > Security > Responsibility > Define
• Assign a Responsibility

Navigation: System Administrator > Profile > System

• Set the ‘GL Ledger Name’ profile option for the responsibility.
• Ledger Name: SAN_LED
• Ledger ID: 1124
This completes the Setups under the System Administrator responsibility

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 12
G.3 General Ledger (GL)

Define Journal Source


Accounting Entries are transferred to GL with a Source identifier known as a Journal
Source. A Journal Source defined here would be attached to the custom application
in a later step.

Navigation: GL Responsibility > Setup > Journal >Source

Define Journal Category


There are two kinds of Transactions: Invoice and Payment.
For each type of transaction, we define a separate Journal Category. This allows us
to transfer Invoice accounting entries with a different Journal Category than that for
Payment accounting.

Navigation: GL Responsibility > Setup > Journal > Categories

These Journal Categories will be attached to the respective transaction entities later.
This completes the Setup in Oracle GL

G.4 Subledger Accounting (SLA)

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 13
G.4.1 Define Subledger Accounting Application

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Subledger Applications

We have attached the Journal Source to the custom application—this was defined
under the “Define Journal Source” section. Next, we must define the event model.
Refer to the FAH Implementation Guide for information on the Event Model structure.
This reading is a pre-requisite before proceeding to the next step.

G.4.2 Define Event Model

There are two transaction types in the custom application. Each transaction type
must be mapped to an entity.

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Events > Event Model

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 14
To uniquely identify an Invoice or Payment transaction, the system must have a
unique identifier. That unique identifier is defined as the ‘Identifier’ for the entity.
To define the Identifier, click on the “Identifiers” button

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 15
In reference to the table XX_TRX_HD discussed earlier, HD_ID is a field, which
stores the unique identifier for a transaction. Hence HD_ID (transactional identifier) is
defined as an identifier and it is mapped to SOURCE_ID_INT_1.

SOURCE_ID_INT_1 is a field in the XLA_TRANSACTION_ENTITIES table, which


stores the unique identifier for a transaction. A similar setup must be done for
Payments.

This completes the Identifier definition.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 16
Define Event Classes
Next, we will define the Event Class for each entity.

Transaction types (mapped to an Entity) have different sub types.


For example, an Invoice may have a subtype called Standard Invoice or
Prepayment Invoice.

To Define an Event Class, click on the “Event Classes” button on the Entities form.
We will define one event class as STD_INV for the Invoice entity. Future Invoices
may have different activities like creation, cancellation etc. These activities are
mapped to the Event Types, as shown below.

A similar setup is required for Payments

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 17
We discussed earlier that Payment accounting is a Business Flow and would
therefore depend on the Invoice accounting. This relationship is mapped through
Predecessors. Event class ‘STD_INV’ is defined as a Predecessor of Payment—
event class ‘PAYMENT’.

The business flow from an Invoice to Payment is also referred to as upstream. While
the business flow from Payment to Invoice is referred to as downstream.

This completes the Event Model Definition.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 18
G.4.3 Define Accounting Event Class Options

In this step, we will map all custom component fields (table/view) to the seeded
system fields (attributes). This helps the accounting program to derive the values for
the seeded accounting attributes based on the custom component (table/view).

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Events > Accounting Event Class Options

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 19
The XX_TRX_HD table stores the transactions Header data and the XX_TRX_LN
table stores the transaction Line data. In the above configuration, we are associating
these custom tables to the application. With this, the system would know where to
look for the transaction data.

Once the technical objects are referenced in the form, you can click on the
“Create and Assign Sources” button. This makes all the fields for the technical
objects available to the respective Application, Entity, and Event Class.

We attached the Journal Category to the respective entity. Refer to the “Define
Journal Category” section of this document for more information.

Next Step: Define Accounting Attribute Assignment

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 20
Define Accounting Attributes Assignments

Click on the “Accounting Attribute Assignments” button on the Accounting Event


Class Options form and map the fields from the custom table to the seeded
accounting attributes, as follows:

Seeded Accounting Attributes Fields From Custom Table


Accounted Amount ACCOUNTED_AMOUNT

Conversion Date EXCHANGE_RATE_DATE

Conversion Rate EXCHANGE_RATE

Conversion Rate Type EXCHANGE_RATE_TYPE

Distribution Type DIST_TYPE

Entered Amount ENTERED_AMOUNT

Entered Currency Code ENTERED_CURRENCY

First Distribution Identifier DIST_ID_1

GL Date GL_DATE

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 21
Once the mapping is complete, click the “Validate Assignments” button to validate the
accounting attribute assignments. Ensure it is successfully validated.

This completes the setup for entity XX_INV.

Now you must define the Accounting Event Class Options for the XX_PAY event
class. Define the basic accounting attribute assignment for the Payment the same
way you did for the Invoice.

In the case of Payments, we must use Business Flows, so we must add the following
accounting attributes related to the Business Flow class to identify the upstream
transaction—i.e., Invoice.

Seeded Accounting Attributes Fields From Custom Table

Applied to Application ID BF_APPLIED_TO_APPLICATION_ID

Applied to Entity Code BF_APPLIED_TO_ENTITY_CODE

Applied to Distribution Type BF_APPLIED_TO_DIST_TYPE

Applied to First System Transaction Identifier BF_APPLIED_TO_HD_ID

Applied to First Distribution Identifier BF_APPLIED_TO_DIST_ID

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 22
This completes the Accounting Event Class Options Definition

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 23
G.4.4 Define Business Flow Class

Navigation: Lookup

Query XLA_BUSINESS_FLOW_CLASS

Add the value XX_AP for the business flow class for the custom application that we
have created.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 24
G.4.5 Define Journal Line Type (JLT)

Revisiting the Expected Accounting:


Invoice accounting:

Charge Dr
Liability Cr

Payment Accounting:
References the Liability line from the
Liability Dr
Invoice accounting
Cash Cr

In summary, we need four journal line types for this example.

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Journal Entry Setups > Journal Line Type

Define JLT for Invoices

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 25
Note: The value for Side is “Debit”, which means that normally this JLT is debited
For an explanation of the Control of the other fields, refer to the SLA Implementation
Guide.

Define Condition for JLT

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 26
The condition determines if the JLT should be selected during Accounting. The
condition in the above screen states:
IF TXN_TYPE (Transaction Type) is INV (Invoice) AND
TXN_SUBTYPE_1 (sub-classification of transaction) is STD (Standard)
THEN the JLT is selected by the Accounting program.
In other words, for all data where the value for TXN_TYPE and TXN_SUBTYPE_1 is
populated with INV and STD respectively (in the XX_TRX_HD table), select this JLT
during Accounting.

Define the JLT for the Liability Account

Note: The value for the field called Side is “Credit” because for Invoice accounting the
Liability account is credited.

Value for the Invoice:


Business Flow Method: None
Class: XX_AP

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 27
This means the JLT will be referred by the downstream transaction—i.e., Payment,
which will have a JLT with the following values:
Business Flow Method: Prior Entry
Class: XX_AP

This completes the JLT definition for the Invoice

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 28
Define JLT for Payments

In the above step, we are defining the JLT for the Cash account.

Note: The value for the field called “Side” is “Credit”. For Payment accounting, the
Cash account is credited when Invoices are paid.

Here’s an explanation of the information in the field called “Condition”:


TXN_TYPE (means Transaction Type) is PAY (i.e., Payment) and
TXN_SUBTYPE_1 (Sub classification of transaction) is Q (Quick)

For all data where the value for TXN_TYPE and TXN_SUBTYPE_1 is populated with
PAY and Q respectively in the XX_TRX_HD table, this JLT will be picked up by the
Accounting program.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 29
The next step is to define JLT for the Liability account for Payments.

Note: The value for the field called “Side” is “Debit” because the Liability account is
debited when Invoices are paid.

The condition remains the same as that for the Cash line.
Values:

Business Flow Method: Prior Entry


Business Flow Class: XX_AP

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 30
The business flow method is set to Prior Entry; therefore, the account must be
derived for this JLT from the upstream transaction. This is done as follows:

a) The program identifies the upstream transaction by referring to the value for
the Business Flow Accounting Attribute in the Payment transaction.
b) It will then identify all accounted lines of the upstream transaction that
matches to this Business Flow Class.
c) It will then copy the account from the identified accounting line of the
upstream transaction to account for the JLT (means copy to account of JLT
XX_LIAB for Payment as defined above).

G.4.6 Define Mapping Set

In our example, if the legacy company code is 1001 then the respective company
code in Oracle GL would be 01. A similar requirement is there for natural account as
well. To map this requirement of deriving account segments based on an input value,
the mapping set feature is used.

Navigation > SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Journal Entry Setup > Mapping Set

Before defining the mapping set let’s revisit and summarize the requirement:
a) If the value for the legacy company code (which is stored in H_ID_1 for the
header data and LD_ID_1 for the line data) is 1001, then the company code
in Oracle GL should be 01
b) If the value for the legacy company code (which is stored in H_ID_1 for the
header data and LD_ID_1 for the line data) is 1002, then the company code
in Oracle GL should be 02
c) If the value for the Other party type (which is stored in H_ID_2) is SUP-DOM,
then the natural account should be 2210
d) If the value for the Other party type (which is stored in H_ID_2) is BANK-INT,
then the natural account should be 1110
e) If the value for the goods/services type (which is stored in LN_ID_2) is
ASSET, then the natural account should be 1570
f) If the value for the goods/services type (which is stored in LN_ID_2) is INV,
then the natural account should be 1410
There are two requirements, first to derive the balancing segment (company) and
second to derive the natural account segment (account).

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 31
Mapping Set to Derive Value for Company Segment

As per above
a) If the Input Value (for our company value in the Legacy system) is 1001, then
FAH will use 01 as the value for the Company Segment
b) If the Input Value (for our company value in the Legacy system) is 1002, then
FAH will use 02 as the value for Company Segment

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 32
Mapping Set to Derive the Value of the Account Segment

As per above

a) If the Input Value (for the account type value in the Legacy application) is
ASSET, then FAH will use 1570 as the value for the Account Segment
b) If the Input Value (for the account type value in the legacy application) is
CASH, then FAH will use 1110 as the value for the Account Segment

This completes the definition of Mapping Sets.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 33
G.4.7 Define an Account Derivation Rule (ADR)

Navigation > SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Journal Entry Setup > Account Derivation Rules

ADR to Derive All Segments

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 34
ADR for Balancing segment for Line

According to the above configuration, FAH will use the value stored in LN_ID_1 to
derive the balancing segment by referring to the mapping defined in
XX_BAL_SEG_MAP_1

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 35
ADR to Derive Balancing Segment for Header

In this section, we will define a similar ADR for the Header Balancing Segment. By
Header, we mean the Liability or Cash account, which would be generated for an
Invoice or Payment. To do so, FAH will refer to the values provided in the Header
table.

The above configuration means—based on the value stored in H_ID_1,


FAH will derive the balancing segment by referring to the mapping defined in
XX_BAL_SEG_MAP_1

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 36
ADR for Account segment for Header

In this section, we are setting up an account derivation rule so that the system can
derive a different Liability and/or Cash Account.
a) For an Invoice: Derive a different natural account for the Liability account for
different groups of Suppliers (e.g., Domestic Suppliers vs. Foreign
Suppliers). The legacy identifier for a group of suppliers will be populated in
H_ID_2
b) For a Payment: Derive a different natural account for the Cash account for
different groups of Banks (e.g., local banks vs. international banks). The
legacy identifier for a group of banks will be populated in H_ID_2

Based on the value of H_ID_2, FAH will derive the value of the Account Segment as
per the mapping set called XX_ACC_SEG_MAP.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 37
ADR for Account Segment for Line

In this section, we are setting up an account derivation rule so that the system can
derive the Expense Account.
• Expense Account: Derive a different natural account for the Expense account
for different goods/services received. In other words, depending on the
goods/services (such as asset, inventory or misc expenses), FAH will derive
a different natural account

Based on the value of LN_ID_2, FAH will derive the value for the Account Segment
as per mapping set labeled XX_ACC_SEG_MAP.

This completes the ADR definition.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 38
G.4.8 Define Journal Line Definition (JLD)

Define JLD for Invoices

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Method and Definitions > Journal Line Definition

In this section, we will set up an account derivation rule for the journal line type
(XX_CHARGE) so that the system will do the following:
a) Derive all segments as per XX_ALL_SEGMENTS account derivation rule. In
other words, the system will derive the constant account as
01-000-1110-0000-000, then
b) Overlay the value of the Company and Account as per the
XX_LN_BAL_SEGMENT and XX_LN_ACC_SEGMENT account derivation
rules.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 39
Here’s an example to explain how ADR will Derive the Account for the JLT
In the legacy system, we have an invoice line for Company 1002, for an Asset. In the
table XX_TRX_LN, the following values are populated:
• LN_ID_1 : 1002
• LN_ID_ 2 : ASSET

During the accounting of the Invoice lines, FAH will generate the account for
XX_CHARGE, as follows:
a) First derive all segments per the ADR called XX_ALL_SEGMENTS ADR—
i.e., derive the constant account as 01-000-1110-0000-000
b) Based on the value of LN_ID_1 (which is 1002), refer to the respective ADR
and derive the value 02 for the Company.
c) Based on the value of LN_ID_2 (which is ASSET), refer to the respective
ADR and derive the value 1570 for Account.
d) By overlaying the values arrived at “b” and “c” with the value arrived at “a”,
FAH will finally derive the account as 02-000-1570-0000-000

Similarly, we must add an ADR for the journal line type XX_LIAB.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 40
Follow the example in this section to create the Journal Line Definition for Invoices.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 41
Follow the example in this section to define the Journal Line Definition for Payments.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 42
Note: For XX_LIAB, the account derivation rule is not allowed as it is a Business flow
journal line type, so FAH will derive the account for this JLT by referring to the
respective accounting line for the upstream transaction.

This completes the Journal Line Definitions setup.

Next Step: Define the Application Accounting Definition (AAD)

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 43
G.4.9 Define Application Accounting Definition (AAD)

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Method and Definitions > Application Accounting
Definition

Attach a Journal Line Definition to an Event Class

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 44
This completes the Application Accounting Definition (AAD) step.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 45
G.4.10 Attach the AAD to the Subledger Accounting Method (SLAM)

Navigation: SLA New Custom Application > Subledger Accounting Setups >
Accounting Methods Builder > Method and Definitions > Subledger Accounting
Method

Attach the custom application XX_CUSTOM_APPL and Application Accounting


Definition XX_CUSTOM_AAD to the Subledger Accounting Method SAN_ENC_ACR

Attach the Subledger Accounting Method “SAN_ENC_ACR” to the ledger SAN_LED,


as per the GL Ledger profile option that was setup. Refer to the section, “Setup in
System Administrator.”

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 46
This completes the configuration of Subledger Accounting (SLA).

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 47
Transactions

H. Populate the Custom tables with Transaction Information

H.1 Populate the Header Table with Sample Data for the Invoices

Populate the table XX_TX_HD with header information for the Invoice.

Field Field Description Source Invoice1 Invoice2


Unique identifier
HD_ID (as Header ID) of 1002 1003
the transaction

Like Invoice or
TXN_TYPE Legacy INV INV
Payment

Like Standard
Invoice,
TXN_SUBTYPE_1 Legacy STD STD
Prepayment
invoice etc.

TXN_DATE Transaction date Legacy 01-JAN-2012 01-JAN-2012

GL_DATE GL date Legacy 01-JAN-2012 01-JAN-2012

Unique identifier
LEDGER_ID of primary Ledger 1124 1124
in Oracle

Legacy Company
H_ID_1 Legacy 1001 1001
Code

Transaction Third
H_ID_2 Legacy SUP-DOM SUP-DOM
Party Identifier

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 48
Populate the table XX_TRX_LN with Line information for the invoices.

Field Field Description Source Invoice1 Invoice1 Invoice2 Invoice2


Unique identifier (i.e.,
HD_ID 1002 1002 1003 1003
Header ID) of the transaction

Unique identifier of the


LEDGER_ID 1124 1124 1124 1124
primary Ledger in Oracle

Unique identifier for the


DIST_ID_1 Legacy 1 2 1 2
transaction line
LINE_NUM
Transaction line number Legacy 1 2 1 2
BER
Item/Distribution type
DIST_TYPE Legacy ITEM ITEM ITEM ITEM
—e.g., ITEM, TAX etc.
ENTERED_
Amount Legacy 1000 3000 1500 4500
AMOUNT
ENTERED_ Currency of the
Legacy CAD CAD CAD CAD
CURRENCY transaction line

Exchange Rate Type—e.g.,


EXCHANGE
Corporate, Spot etc. Used in
_RATE_TY Legacy Corporate Corporate Corporate Corporate
the case of foreign currency
PE
transaction line

EXCHANGE Exchange Rate Date. Used


01-Jan- 01-Jan- 01-Jan- 01-Jan-
_RATE_DA in the case of foreign Legacy
2012 2012 2012 2012
TE currency transaction line

LN_ID_1 Legacy company code Legacy 1001 1001 1001 1001


Legacy line type—e.g., INV,
LN_ID_2 Legacy INV ASSET ASSET MISC
ASSET, MISC etc.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 49
As you can see from the SQL script, the data is populated as mentioned above:

There are two records in the Header table with the HD_ID values of 1002 and 1003.

Similarly, the data is populated in the Lines table: XX_TRX_LN

Next, populate the Accounting tables (xla_transaction_entities and xla_event) to


establish a link between the Accounting table and the Custom table.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 50
As explained in the Define Event Model section, the value of HD_ID is mapped to
SOURCE_ID_INT_1 so you must ensure that the table
XLA_TRNSACTION_ENTITIES is populated accordingly.

Ensure that the XLA_EVENT table is populated with the proper ENTITY_ID created
in the XLA_TRANSACTION_ENTITIES table.

Note: The Event IDs created for the transactions are 3327749 and 3327750. You
must populate this information in the Custom table for the respective transactions.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 51
This completes the synchronization of the data between the Accounting and Custom
tables. To get more information on how to synchronize the data programmatically,
refer to the Seeding Calls to Subledger Event Capture Routines section of the FAH
Implementation Guide.

Your data is now ready to be accounted.

H.2 Create Accounting for Invoices

Run Create Accounting from the responsibility SLA New Custom Application. It
should have access to the Custom Application where you can account for the
transactions in XX_CUSTOM_APPLICATION.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 52
Review the Create Accounting output file.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 53
As you can see in this example, the Invoices were accounted as expected. The
conversion rate is taken from the Daily Rate defined in Oracle GL.

Next Step: Populate the data for the Payments in the Custom table

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 54
H.3 Populate the Sample Data for the Payment

Populate the header for the Payment.

Field Field Description Source Payment


The header ID is
the unique
HD_ID 1004
identifier for the
transaction
Invoice or
TXN_TYPE Legacy PAY
Payment

Standard Invoice,
TXN_SUBTYPE_1 Prepayment Legacy Q
invoice etc.

TXN_DATE Transaction date Legacy 01-JAN-2012

GL_DATE GL date Legacy 01-JAN-2012


Unique identifier
for the primary
LEDGER_ID 1124
Ledger in
Oracle GL
Legacy Company
H_ID_1 Legacy 1001
Code

Transaction Third
H_ID_2 Legacy BANK-INT
Party Identifier

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 55
Populate the line data for the Payment. Line data for Payments are a bit different
from Invoices. In the case of Payments, we want to derive the accounting based on
the Business Flow. The line data should be as follows:

Field Field Description Source Invoice1 Invoice1 Invoice2 Invoice2

The Header ID is the


HD_ID unique identifier for the 1004 1004 1004 1004
transaction
This is the unique identifier
LEDGER_ID for the primary Ledger in 1124 1124 1124 1124
Oracle GL
Unique identifier for the
DIST_ID_1 Legacy 1 2 3 4
transaction line
LINE_NUMBER Transaction line number Legacy 1 2 3 4
Item/Distribution type—
DIST_TYPE Legacy CASH CASH CASH CASH
e.g., ITEM,TAX etc.
ENTERED_AMOU
Amount of the line Legacy 1000 3000 1500 4500
NT
ENTERED_CURR Currency of the
Legacy CAD CAD CAD CAD
ENCY transaction line
Exchange Rate Type—e.g.,
EXCHANGE_RAT Corporate, Spot etc. Used
Legacy Corporate Corporate Corporate Corporate
E_TYPE for a foreign currency
transaction line

Exchange Rate Date. Used


EXCHANGE_RAT 01-Jan- 01-Jan- 01-Jan- 01-Jan-
for a foreign currency Legacy
E_DATE 2012 2012 2012 2012
transaction line

BF_APPLIED_TO
Business Flow Applied To
_APPLICATION_ 20087 20087 20087 20087
Application ID
ID
BF_APPLIED_TO Business Flow Applied To
ITEM ITEM ITEM ITEM
_DIST_TYPE Distribution Type
BF_APPLIED_TO Business Flow Applied To
XX_INV XX_INV XX_INV XX_INV
_ENTITY_CODE Entity Code

BF_APPLIED_TO Business Flow Applied To


1002 1002 1003 1003
_HD_ID Header ID

BF_APPLIED_TO Business Flow Applied To


1 2 1 2
_DIST_ID_1 Distribution ID

The business flow data is now populated. In the legacy system, you may see simple
information that shows that a payment applies to two invoices. The legacy payment is
converted to account for the payment using FAH (see the above table).

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 56
Populate the accounting tables (XLA_TRANSACTION_ENTITIES and XLA_EVENT)
to link the data in the custom table. Before running Create Accounting, ensure that
the HD_ID for the payment is populated in the column SOURCE_ID_INT_1 of the
XLA_TRANSACTION_ENTITIES table.

Data now exists in the XLA_EVENTS table with the correct event type.

The respective EVENT_ID is populated in the Custom Lines table.

This completes the synchronization of the data between the accounting tables and
the custom table.
Data is now ready to be accounted.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 57
H.4 Create Accounting for Payment

Run Create Accounting from the responsibility “SLA New Custom Application”. It
should give you access to the custom application, where you can account for the
Invoices in the custom table.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 58
Review the Create Accounting output:

As you can see, the payment was accounted as expected.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 59
H.5 Verify the Journals in Oracle General Ledger

Navigation: GL Responsibility > Journals > Enter

The value of the category is XX_INVOICE, which was configured in the Define
Accounting Event Class Options section.

Similarly, the category for the Payment journal is XX_PAYMENT.

FAH: Accounting for Transactions from a Custom Application Using R12 FAH – Doc ID 1465987.1 60

You might also like