SLA Part 1 - Why SLA
SLA is a module which now sits between the SubLedgers like AP/AR etc and the General Ledger. Have a look at this diagram below. As you will notice, SLA can act as a mediator between the subledgers and Oracle General Ledger.

Before we progress, some terminologies of R12 must be revisited. In 11i we had set of books, and in R12 we call them Ledgers. Likewise in R12 we also have secondary ledgers and reporting ledgers. Hence from 11i perspective think of Ledger as Set of Books. As for Subledger, a Subledger is nothing but a module like AP/AR/PO/Inventory etc. In the diagram below, the second scenario is explained whereby let's say that payables module generates a charge account

segment combination for an invoice distribution line as A.B.C.D. In such case, if SLA module is not customized, then the very same A.B.C.D combination will be passed to Oracle General Ledger via the SLA. And before you wonder... Yes, SLA module has its own set of tables to capture these accounting entries. Please see the image below.

In the image above, SLA passes to GL whatever value is fed by the Subledger, in this case A.B.C.D

There are cases where SLA module can alter or massage the CCID or code combination that is generated in Subledger before transferring the same to Oracle General Leger. This scenario is explained whereby let's say that payables module generates a charge account segment combination for an invoice distribution line as A.B.C.D. In such case, if SLA module is customized, then the A.B.C.D code combination of Payables can be passed to Oracle General Ledger via the SLA as A.B1.C1.D instead.

The most important application however of the SLA is its ability to create shadow journals that contain different values or differing credit/debit entries for the transactions. This is the main reason why SLA module was invented/designed. Let us take an example. For company "Apps2Fusion UK", it might have operations in France, which is "Apps2Fusion France". With UK being the parent company, the French company has to do accounting journals in formats that can be reported as per French legislation and also as per UK legislation. For example, in France an inventory item is accounted as expense, whereas in UK the inventory item is accounted as an asset. In the example below, A.B.C.D is never passed to the GL. Instead to GL A.B1.C1.D is passed to the Primary Ledger FRANCE and A2.B2.C.D is passed to the Secondary Ledger UK. The picture below shows the role that SLA plays in such scenario.

whenever your Invoice is validated or cancelled or adjusted.Therefore in this article you have learnt the different usages of Subledger accounting. For Payables. . for example. an INVOICE transaction and a PAYMENT transactions are known as ENTITIES within SLA. Entities can be subdivided into various "Event Classes". then you may want to create an accounting entry.Event Types When a Payables Invoice is Validated. Further to this. In this case the "Invoice Validation" is an "Event Type". for example Credit Memo. Debit Memo. Event types are therefore the types/list of events against transactions which you wish to account for in General Ledger. Expense Reports.Event Class . And your accounting rules for Invoice Validation will be attached against this specific "Event Type". against the Event classes we define Event Types. SLA Part 2 Entities . Invoices etc. you may want some specific accounts in the General Ledger to be impacted.

This is explained in the diagram below. .




The ADR returns the final code combination. but you also need to decide whether a specific CCID will be debited or credited. . the "Journal Line Type" will specify whether the accounting entry is credit or debit. You also need to know whether this CCID will be debit or this CCID will go into credit.Each entity is identified by unique identifier or primary key from the underlying tables. To create any journal. SLA Part 3 . SLA needs to know where this CCID will be coming from.Journal Line Definition The Journal Line Definition "defines" how the entire journal is built. Therefore Journal Line type will leverage the JLT+ADR to know which CCID is crediting and which CCID is debiting in the journal. In SLA. one of the key things is to get the CCID or the code combination of segments. you can then "attach something called an ADR to this Journal Line Type". Therefore you not just require the CCID. Also.

Depending upon the combination of event class and event type the accounting gets triggered. The image below describes the end result journal that is produced by SLA . then every journal has credit/debit and description.For each and every application there is a combination of event class and event type. The standard SLA out of the box from Oracle meets your requirement by 90%. For example you can fetch the standard accounting from payables or receivables options. The JED allows you to generate the description of the Journal at both header and line level. The journal has description at header and also at line level. you can go and modify SLA to meet your business needs. There is something called as Journal Entry Description. Using JED in SLA you can build header or line level descriptions. However where these standard seeded accounting do not suffice. When a transaction is transferred as a journal. For example you may want Customer Name or Customer Number in the journal description for a journal that is initiated from Oracle Receivables module.

you can specify whether the entry is for credit or debit side. Further to that you can specify if SLA should merge the journal lines . The Journal Line Type also provides options to do accounting for Gain/Loss of Foreign currency transactions.In JLT Journal Line Type.

.that have same CCID.

It is good to remember that the "Journal Line Definition=JED+JLT+ADR" This is visible from the screenshot as shown below . when defining ADR.We specify how the account combination must be generated. These conditions are like IF Conditions. We tell the system how we want the CCID should be built and transferred to the general ledger. You can either transfer the standard account as calculated within Subledger(AP or AR or PA etc) or the account generated from Subledger can be modified or replaced via ADR configuration within SLA.ADR . Further to this. you can specify the conditions under which a specific segment or CCID is returned.

how does Oracle E-Business Suite decide which specific Journal Line Definition should be used when a specific event takes place against an invoice in Oracle Payables. . The first journal line type assignment creates a credit line in the journal and the second journal line type assignment creates a debit line in the journal. We will learn this via AAD in next part of the article using Application Accounting Definitions. you will see how the "Journal that gets constructed using Journal Line Definition" is associated with an underlying transaction in the respective module. SLA Part 4 .You will notice that two "Journal Line Types" have been attached to this Journal Line Definition. how will SLA decide how the Journal will be constructed when an invoice is validated within Payables. However you might be wondering how this Journal Line Definition gets associated with a Subledger transaction. In other words. For example. By now you would have understood the significance of Journal Line Definition.Application Accounting Definitions In this Part 4.

the Application Accounting Definitions [AAD] is attached to one or more Journal Line definition [JLD]. you must remember that each Application Accounting Definition [AAD] belongs to a module. Therefore if you have .As seen in the image above. Effectively it means that AAD = JLD for an Event Class+ Event Type combination = ADR+JED+JLT for an Event Class+ Event Type combination As a thumb rule.

Seeded Application Accounting Definitions are provided for each module out of the box by Oracle. SLA Part 5 . then you will have 2 AAD's defined. When a specific event within Subledger example Payables or Receivables becomes eligible for Accounting . which means creating custom JLT.e. and then make alterations to the custom AAD. one for Payables and another for Receivables. then you can copy the existing AAD's to a custom AAD. Payments etc associated with a AAD for Payables module. However if the existing definitions do not meet your business requirements. In the above picture only one Event Class of Invoice is used in AAD. i.Subledger Accounting Methods As we have seen in the Part 4 of SLA. It is important to remember that you must create a custom copy of an existing SLA component before making modifications. the Application Accounting definition is used to decide two things Ledger implemented [ 11i Set Of Books] and two modules implemented like AP and AR. custom JED and custom ADR as appropriate. However in reality you will have more than one event classes like Invoices.

This is where "Subledger Accounting Method" [SLAM] comes into the play. If you recollect from previous article.b. A SLAM is then attached to the Ledger[11i equivalent of Set Of Books]. Application Accounting Definition is connected to only one module like Payables or Receivables etc. each Primary Ledger[ 11i equivalent of primary set of book] and also each secondary ledger should be able to generate Journals as per their respective legislator requirements for all the modules implemented. However. Hence SLAM provides an umbrella to join accounting entries from various modules so that they can be channelled through to Oracle General Ledger. However a Ledger[11i SOB equivalent] needs accounting entries to be processed across many modules. In other words a SLAM is a collection of accounting definitions for various modules in Oracle Apps. Therefore the flow of accounting entries appears as shown below . How the journal is constructed.

The flow represented in simple equation appears as below Ledger Defined in GL-->SLAM-->AAD--> [Event Class and Event Type]-->Liability Lines-->[JED+JLT+ADR] Ledger Defined in GL-->SLAM-->AAD--> [Event Class and Event Type]-->Expense Lines-->[JED+JLT+ADR] In order to assign the SLAM to a ledger. . go to the General Ledger Super User responsibility and click on menu as shown below.

Click on update against the ledger Attach the SLAM to this ledger .

You can also modify the SLA accounting options using the two screenshots as shown below .


SLA Part 6 .Overall SLA Diagram .

.The overall flow of the SLA can therefore be depicted as shown in image below.

.Overall. you can follow the bottom up model. when you create new definitions in SLA.

as shown in image below is to ensure both a Credit and Debit line gets created for a Journal. SLA Part 7 .Creating Journal Line Definition .The parallel flow on top.

with one set each for Credit line.In this article we will create a Journal Line Definition. Journal Entry Description for journal line description 2. Journal Line Type to mainly define credit or debit 3. we will create these three components. we need to create the following 1. and the other set for the debit line. In this article. You will basically apply the steps learnt thus far into practical implementation.JLT and ADR’s are required. Account Derivation Rules for CCID used in journal line Therefore typically. However to create a Journal Line Definition. . two set of JED.

you can open the Journal Enty Description screen. Click on New to create a new JED. .Go to a subledger like Payables and within the SLA menu as shown below.

.Create a new Journal Entry Description named ANIL_JED. We will use this for generating the Journal Line Description for both the credit and the debit lines.

The journal line description can be constructed by clicking on Details button. . The description of the journal line can be a static text or dynamic text based on database sources within SLA or the combination of the two.

.Here we are using the Supplier Name to construct the journal line description.

In addition to the dynamic journal line text. SLA allows you to put conditions. For example IF CONDITION1=TRUE. then Journal Line Description should be abcd ELSE IF CONDITION2=TRUE. then Journal Line Description should be defg Click on condition button to define the condition .

After defining the Journal Entry description. now we can create Journal Line Type named ANIL_JLT_CREDIT for the credit line of the journal. .

Also specify Merge.Specify the Transfer to GL in Summary or Detail mode. as explain in image below .

Use the Payables setup option as source to build condition for JLT .

. we have placed an OR condition. In the above condition.In this example. we want to build a condition for “Journal Line Type” eligibility depending upon whether in the Payables Options Screen has Automatic Offset Method is set to None or Balancing or Account.

Next we need to define the Account Derivation Rule .You can for example also build a condition based on Invoice Distribution type as shown below.

.Here we are creating an account derivation rule for the credit line.

An ADR can either return a full CCID or a specific segment. The values can be sourced either statically or from existing seeded dynamic sources in SLA. . These seeded sources are mapped to database tables.

We are stating that this specific ADR named ANIL_LIABILITY_ADR will return a constant value in company segment .

As below.f. it is also possible for the specific ADR to return a full segment combination. When CONDITION1=TRUE then segment combonation a.In the above image you will see that the value for Company segment can be derived from the corresponding value set.d is returned or when CONDITION2=TRUE then d.g combination is .e.c.b. In fact you can specify conditions within an ADR.

returned for your account. For the debit side. we are saying that the Account segment must always be 7450 .

.The conditions can be defined. But conditions as evaluated as per the priority.

Finally we create a Journal Line Definition. .

Here everything hangs together.ADR=Journal Line Defnition As shown below. with the specific segment from Account segment being replaced as per ANIL_EXPENSE_ADR. JLTJLD. . we are saying that the CCID for the Credit Line of the journal will be calculated from ANIL_LIABILITY_ADR And the CCID for the debit line will be calculated by the CCID value in Invoice Distribution line.

If you recollect. the "Journal Line Definition" definition creates a Credit Line and the Debit Line of a Journal. which is "Application Accounting Definition".For example.Creating Application Accounting Definition .7450.F then your journal line debit entry will be A.E. .B. The purpose of AAD in SLA is to dictate which "Journal Line Definition" must be used when a specific event takes place against a specific type of transaction in a specific module like Payables or Receivables.AAD In the previous part of this SLA article.F SLA Part 8 .E. you have learnt creation of the Journal Line Definition. if the CCID in AP_INVOICE_DISTRIBUTION equates A. Now it is time to create AAD.B.C.D.D.

PO etc there will exist an existing AAD in the Subledger Modules.PA. However.AR. as per the image below. in AAD screen you will specify when the Journal Line Definition will be used. for this example we will create a new AAD for Payables. In the previous article you created a Journal Line Definition that is responsible for constructing a Journal. we are stating that journal line definition ANIL_JLD should be used for creating journal whenever any event occurs against an Invoice in Payables. However.Oracle ships out of the box an AAD for every simply module/application that uses SLA. Hence for each application like AP. In this case. .

we concatenate static text and dynamic content from SLA Sources[mapped to DB columns or pl/sql functions] so as to construct a description for Journal Line or Journal header. . in Journal Entry Description. If you recollect.You can also click on "Header Assignment" button in AAD to attached "Journal Entry Description" [JED] which dictates how the Journal Header description will be constructed.

a company named "APPS2FUSION UK" might be running Payables and Receivables and also Project Accounting. However. As for how the journal is constructed and how the accounts are derived is delegated to the Journal Line Definition. Hence we need to create a SLAM [Subledger Accounting Method] that will take care of generating the Accounting journal lines for each of the module.In this article we have seen that AAD is created for each module. the "Application Accounting Definition" is created for each module in EBusiness Suite. The decision of whether the journal must be created is delegated to the AAD. For example. SLA Part 9 . Using AAD we specify the Journal creation rules per module. In SLAM we specify the applications/modules for which the Journals must be built for the entire organization such as "APPS2FUSION UK" across Payables and Receivables and Project Accounting. "APPS2FUSION UK" might be running Payables and Receivables and also Project Accounting. in any implementation there is a need to perform accounting for all the modules.Create Subledger Accounting Method In previous article we have seen that in SLA. . The company "APPS2FUSION UK" will have a legal entity in UK. in any implementation there is a need to perform accounting across various different modules. Using AAD we specify the Journal creation rules per module. Hence we need to create a SLAM-Subledger Accounting Method. and hence the SLAM will be attached to the UK Legal Entity. Hence a SLAM is nothing but a grouping of all the AAD's possibly for a given chart of account. However. In SLAM we specify how the Journals must be built for the entire organization "APPS2FUSION UK" across Payables and Receivables and Project Accounting.

and here you can attach the SLAM to a Ledger. In the above image. and hence the SLAM will be attached to the UK Legal Entity. because in reality you will have the AAD's of other applications like Receivables . Project Accounting. In the image below we are creating a SLAM named ANIL_SLAM. . in R12. This is a simplistic example. To remind you. the Ledger is equivalent of set of books in 11i. click on Accounting Setups. and attaching the AAD named ANIL_PAYABLES. Fixed Assets etc attached to the SLAM as well.The company such as "APPS2FUSION UK" will have a legal entity in UK.

SLA Part 10 - Testing and explaination of SLA Config
In the SLA articles Part 1 to Part 6, we understood the basic concepts of Subledger Accounting. In the SLA articles Part 7 to Part 9, we configured SLA for Payables as an example. In this article, we will test the configuration to see the results of the configuration performed in Part 7 to Part 9 of the SLA articles. We will also explain the results of the test. Our SLA setup was done for Payables, hence we will create an Invoice in Payables and check the accounting entries to reconcile those against our SLA setup.

If you recollect, we created an AAD named ANIL_PAYBLES which is attached to Oracle Payables module. This AAD will invoke JLD named ANIL_JLD to build the journal lines when an event takes place against the Payables invoice. In the image below we are creating an Invoice from Payables responsibility and ensuring its invoice line distribution account is 01110-6100-0000-000.

Next we click on Actions button and validate the invoice and create accounting entries.

Now check the accounting generated by clicking on menu title Reports||View Accounting as shown in the image below.

The complete logic is described after this image.You will notice that the Debit entry of 1000 is charged to 01-110-7450-0000-000 instead of being charged to 01-110-6100-0000-000 in the Invoice Distribution Line of Payables. Please note that the third segments value of 6100 from Invoice Distribution has been replaced by 7450 from ADR named ANIL_EXPENSE_ADR as shown below. .


let us revisit how the credit line in the journal has been built.2220. Typically Code Combination for the credit/liability accounting entry of the invoice line is picked from Payables Options setup of the operating unit. However in this case.Now.0000. This was done by defining ANIL_LIABILIY_ADR as shown below. .000. in SLA we have hard coded the credit account to be 01.000. In this case the ADR returns the complete CCID because the Output Type radio button is set to Flexfield.


the SLA has generated the same Credit entry CCID for the invoice.Hence. as shown in image below .

However you never ever use that approach in real life for modules such as Oracle Payables.Subledger Accounting We have thus far seen the basic fundamentals and a simplistic scenario of Subledger Accounting. Oracle Receivables. All the commonly used rules are already seeded into the SLA config by Oracle.Needless to say that the ANIL_LIABILITY_ADR was attached to the Journal Line Type=ANIL_JLT_CREDIT.I can customize the account generator in Procurement and Fixed Assets. let us first do some questions and answers Question . In the example that we saw. we created components required for the SLA configuration from ground zero. hence all you need to do is to customize those components. where you build the lower level components and then move up the chain to attach your SLA configuration to your Ledger[11i SetOfBook equivalent in R12]. The reason is that.The pre-configured SLA by Oracle will use the accounts generated in respective modules as the source. The seeded ADR's . Before we see the steps for customization of SLA. SLA comes pre-configured for all the widely used modules in the EBusiness Suite.Steps to Customize of SLA . That is also known as the bottom up approach. Oracle Cash Management. Do I really ever need to customize “Subledger Accounting” in such cases? Answer. Oracle Fixed Assets or Oracle Project Accounting etc. SLA Part 11 .

e. Although SLA provides you with ability to override accounting definition. or you can say "quality of the account that goes into SLA. Please see the Part 1 in this series of articles.will in most cases return the very same accounts that are generated in the respective modules. and the same quality accounts are then sent to General Ledger". a SLAM named STANDARD_ACCRUAL is attached to the Ledger [Set Of Book equivalent of 11i ]. new SLAM will be " ANIL_SLAM__STANDARD_ACCRUAL" .Well. We will create a SLAM named ANIL_SLAM__STANDARD_ACCRUAL which happens to be the exact copy of SLAM named STANDARD_ACCRUAL. In this example. many modules such as Leasing. Now let us take the example for customization of an existing SLA definition pre-seeded by Oracle in R12. i. the main reason behind creation of SLA itself was to create shadow journals for secondary ledger. Create a copy of this SLAM as shown in the image below. Question . the customizations on the seeded SLA configurations must be kept to bare minimum. However we are interested in modifying just the Payables piece of this SLAM. Effectively "garbage in garbage out". Payables etc are attached to this SLAM. The message from seeded SLA in most cases is “What you feed to SLA will also be fed into the Oracle General Ledger”. In fact. Therefore if you have already customized the account generation workflow in the respective module then you do not require customization in SLA. however the main reason for creation of SLA was to implement multiple shadow accountings against ledgers. Cash Management. As you will notice from the image below.If all the respective modules can generate accounting properly then why is SLA really needed? Answer . Loans. Now create new entry for Payables within the copied SLAM.

we will then return to this screen in order to replace "Accrual Basis" by custom AAD. . Click on "Application Accounting Definition" button. click on copy. However after we copy the "Accrual Basis" into a custom AAD. end date the AAD assignment of Payables and add a new entry for Payables. and this time we will copy the AAD definition named “Accrual Basis” to create a new AAD named ANIL_STD_PAYABLES_STD. Now. In this SLAM. Note that we still have AAD named "Accrual Basis" attached.Now you have created a new SLAM.

Now. . for the custom SLAM. we attach the custom AAD to Payables. Click on button labelled Done to complete the Copy operation for the AAD. Now this new AAD has been created. back to the SLAM screen. for Payables AAD assignment record. Before we customize this AAD.The new AAD will be called ANIL_STD_PAYABLES_STD as shown below. we need to ensure that this AAD has been attached to the custom SLAM that we created in Step 1 of this article.

as shown in image below. Our idea here is to attach a custom ADR for . The image below shows how the custom/copied journal line definition will be modified.Please note that the Payables entry that is attached to custom AAD named “Accrual Basis” has now been end dated. Now go back to AAD. Follow the instructions as per images below Now copy the Journal Line Definition itself. by clicking on Application Accounting Definition button as per the image above.

.the generation of an account. The name of the copied JLD will appear as below.

Attach the custom ADR as shown below And now attach your custom Journal Line Definition to the custom AAD .

. This completes the cycle for customization of the pre-seeded SLA configuration..