Sunday, December 07, 2008

Learn using Sub Ledger Accounting (SLA) in R12 Oracle Payables

Sub Ledger Accounting (SLA) is a Rule-Based accounting engine that defines how journal entries are generated in sub-ledger transactions in Oracle sub-ledger applications. However, SLA also supports external applications generating accounting information which ultimately needs to be transferred to Oracle General Ledger. Before we get into SLA we need to know few of the basic concepts like event types, event class, etc.

Event Class - classifies transaction types for accounting rule purposes. E.g. in Payables, following are possible event classes: Invoice, Debit Memo, Prepayments, Refunds and Payments.

Event Type - for each transaction type, defines possible actions with accounting significance. E.g. in Payables, following are possible event classes: AP Invoice Events – Validation, Adjustment and Cancellation. Similarly we will have event types for other event classes.

In most of the cases we would not need to customize SLA and accounting features will work same as 11i. Some of the typical business scenarios where we would need to customize SLA in Payables are as follows:

  • To have a different Liability account based on Operating Unit for which the invoice is entered.
  • To have different natural account (expense) based on different Invoice Type and Invoice Line type.
  • To have different natural account (expense) and different liability account based on different criteria like supplier type, entering currency, pay group, etc.
  • The cost center segment of Invoice distribution Liability account shall be picked from the Invoice distribution Account while the other segment values from the Liability account defined at supplier site.

To cater to some of the above requirements we can use other alternatives like using distribution sets also. But setting up a custom SLA for such scenarios is an easier approach with lower user maintenance. I will try and show a simple scenario of how to derive custom accounting for a business scenario using SLA in Oracle Payables.

Business Scenario: We need to define different liability account (natural account segment) based on Supplier Type so that business can track the liability by supplier type. The other segment values will default from supplier site. I am limiting this example to only one supplier type “Contractor". The objective would be to have a different natural account for Liability account for invoices of supplier type "Contractor" alone, while for other supplier types the normal liability account should default.


Step1: First define a mapping set for various supplier types.

Navigation: Setup > Accounting Setups >Sub Ledger Accounting Setups >Accounting Methods Builders > Journal Entry Setups > Mapping Sets

Step2: Define ADR (Account Derivation Rules)

Navigation: Setup > Accounting Setups >Sub Ledger Accounting Setups >Accounting Methods Builders > Journal Entry Setups > Account Derivation Rules

Step3: Define JLD (Journal Line Definition)

Navigation: Setup > Accounting Setups >Sub Ledger Accounting Setups > Accounting Methods Builder > Methods and Definitions > Journal Line Definitions

Always create a copy of the seeded JLD and do not modify a seeded JLD. We will create a copy of ACCRUAL_INVOICES_ALL for our Chart of Accounts ‘Operations Accounting Flex’ only. Add the custom ADR created to ‘Liability, Basic’ (Line Assignment)

Step 4: Setup AAD (Application Accounting Definition)

Navigation: Setup > Accounting Setups >Sub Ledger Accounting Setups > Accounting Methods Builder > Methods and Definitions > Application Accounting Definition

Create a copy of seeded AAD only and do not modify existing AAD. I am creating a custom AAD called ‘TEST_AAD’ for COA ‘Operations Accounting Flex’.

Step 5: Setup SAM (Subledger Accounting Methods)

Navigation: Setup > Accounting Setups >Sub Ledger Accounting Setups > Accounting Methods Builder > Methods and Definitions > Subledger Accounting Methods

Create a copy of a seeded SAM and do not modify seeded SAM. Add the custom AAD to the Event Class ‘Payables’.

Step 6: Assign the custom SAM to Primary Ledger

Navigation: Set ups > Accounting Setups > Ledger Setup > Define > Accounting Setup

Verification of new SLA rule:

Create an invoice for supplier type ‘Contractor’ and create accounting

Liability Account for Supplier Type “Contractor” is 01-000-2990-0000-000

Liability Account for other Supplier Types is 01-000-2210-0000-000


Anonymous said...

Is there a way once the sub ledger has been transferred to the GL to change the accounting string. I have an error 7 message and can't seem to change the accounting string.

Thank you

jesus said...

Hi Krishanu Bose

Thank you for an excellent blog, it is very informative.

I have a question.

Our company (in Mexico) is implementing Oracle and I have we have an issue with payments when there is a currency gain or loss. From what I understand, I believe it can be solved with reclassification of the gain at SLA to GL posting.
Let me Explain
-Our base currency is Mex Peso
-Sale Is in Dollars with VAT (Vat is paid when payment is received)
-Accounting goes AR-Client account, Income Accounts, Tax to Collect Account
-PAYMENT goes to Bank account
-AR_Amount is credited
-Currency profit goes to Currency Profit account
-Tax to Collect is credited into Tax to Pay
-Tax currency profit goes to Currency Profit account
3)My problem that the tax currency profit should go to My Tax to Pay Account, since in Mexico by law, this gain is for the government (not Me)
According to our consultants It cant be done since oracle sends all currency gains to the same account
their solution is to run a process to check all payments in non mexican currencies and to post an adjustment to correct this.
My question is can I configure a rule from SAL to GL to reclassify Currency gains from tax to a different account?
Thank you

Aravind Menon said...

Hi Krishanu,

This is really helpful.

But can you tell me how to achieve this in the case of Encumbrance Accrual?
There is no "Liability, Basic" Journal Line Type for Encumbrance Accrual.
Also I am unable to see the screenshots in your blog.

Request your valuable inputs.


Jose Fernando said...

Thanks Krishna,

Can we use SLA to add a new journal line in addition to the line in the condition but this time hitting a different account

Anonymous said...


The post is very useful. How we define the condition in ADR, if there are multiple supplier types and different account codes required for each supplier type.

Again, if user defined ADR, is not reflecting in JLD what could be the reason?


Venkatesh said...

Hi Krishna,

Our client is using some custom financial application.

In 11i the data used to flow directly to GL Interface table from their it flows to GL Base tables after validations.

Now in R12 we have a new concept SLA. So how can we map data to GL. Do we need to pass it through SLA? If yes how can we achieve this?

Any help on this would be appreciated.


Anonymous said...

Great article Krishnau,

I have a question. Please clarify.
Instead of 'supplier type', I want to use 'pay group'. In the second step at 'Input Source' I could not see 'pay group'. Can a different liability account be set up for a 'pay group' instead of 'supplier type'.?


Anonymous said...

Hi Krishnau

We also have a requirement to have balancing segment according to the pay group. I cannot see 'pay group' in the second step

Anonymous said...

i have one question for sla

i have created Mapping set with Applcation: Purcahsing
Mapping with : Valid pay group

My question is while doing ADR

application is : payable

source what i want to provide.. i need source name for Pay groupe in payable.... kindly help me,
please mail me

Sridevi Koduru said...

I am Sridevi Koduru, Senior Oracle Apps Trainer at With 8 Yrs Exp on Oracle Apps and 13 Yrs IT Exp Providing Online Training on Oracle Apps Technical, Oracle Apps Financial Functional, Oracle Apps SCM, Oracle Apps HRMS, Oracle Financial for Indian Localization, SQL, PL/SQL and D2K. I have Provided Training for 500+ Professionals Most of them are Working in Real Time now.

Contact for (One to One Personal Online Training) on Oracle Apps Technical, Oracle Apps Financial Functional, Oracle Apps SCM, Oracle Apps HRMS, Oracle Financial for Indian Localization, SQL, PL/SQL and D2K at | | +91-9581017828 |

Linkedin profile -

Oracle Fusion Scm Online Training said...

we have almost all country students as our subscribers for online course.We have 10+ years of experience
we can serve various ascent people. oracle fusion Cloud HCM online training at is worlds best
online training center. we have excelent knowledge sharing Platform we have user friendly website where you
will be provided with all the required details and Self-paced DEMO videos. we have our branches in pune,
gurgaon, noida, india, usa, uk, uae, oracle fusion hcm training, fusion Procurement training, fusion hcm,
scm training
oracle fusion Procurement online training
oracle fusion financials online training
oracle fusion SCM online training training
oracle fusion HCM online training

Erptree Oracle said...

Very interesting article I feel very enthusiastic while reading and the information provided in this article is so useful for me.content in this article guides in clarifying some of my doubts.For additional information please visit our website.Oracle Fusion Cloud Financials Training

About Me

My photo
Krishanu's Oracle Applications Blog - Oracle Apps consulting services scenario in India. Also, an inside view of Oracle Apps outsource services in India. Also the blog features new developments in Oracle Apps and my learning's in this field. The views expressed are my own only and not of my employer Wipro Technologies. The views and opinions expressed by visitors to this blog are theirs and do not necessarily reflect mine.