Category Archives: Oracle EBS

Multi Period Accounting (MPA) 1 – Introduction

What is Multi Period Accounting

I want to explain it from business perspective first. Supposed that there is a service type company, they have received whole money from their customer, but they have not provided the whole service finally. The whole service will be provided within 12 months from current month. Against accrual basis concept, the company can’t recognize revenue for the whole money amount to current month, even though they received whole money in current month. They need to defer the revenue to the following 12 months. The accounting entries should be like below

Dr. Receivables 1200 (current month)
Cr. Deferred Revenue 1200 (current month)
Dr. Deferred Revenue 200 (current month)
Cr. Revenue 200 (current month)
Dr. Deferred Revenue 200 (next month)
Cr. Revenue 200 (next month)
Dr. Deferred Revenue 200 (the last month)
Cr. Revenue 200 (the last month)

As similar as revenue recognition, prepaid expense also has the similar accounting behavior like above, for example, the company pays the rent bill for the whole year at the beginning of the year.

Without multi period accounting feature, customer can make the AR transaction or AP invoice with the distribution of deferred revenue/expense account at the first period, and then move it to revenue/expense account in each following period through GL journals. By this way, customer may forget to take this action during period ending process, because this is the manual work. (Maybe recurred journal template can help on this something)

From R12, Oracle provided multiple period accounting feature to allow customer create accounting for multi period together for a single accounting event, even the period may have not been opened. For example, in AP, when AP invoice validated and accounted, all of the accounting entries are created for the whole 12 periods.

Multi Period Accounting in Oracle E-Business Suite

The functionality is primarily used to recognize revenue like above example or a prepaid expense. But the feature still has a lot of limitations, so Oracle Receivables developed its own revenue recognition functionality. They don’t use the MPA feature provided by Oracle Subledger Accounting. As they are doing the similar thing, I will introduce both of them and compare them in a series of blog post.

  • Revenue Recognition
  • Multi Period Accounting Setup in SLA

Usage and purpose of Customer Taxpayer Id

Per R12 design the operating unit and legal entity do not hold one-to-one relationship anymore, which is in sharp contrast to 11i. Now one operating unit can be attached to many legal entities in a ledger. Under General Ledger (GL) responsibility, Setup : Financials : Accounting Setup Manager, all the legal entities of a primary ledger or secondary ledger can be found.

Here, customer refers to the Apps deploying agency that is liable to pay a supplier invoice and is accountable to legal authorities for it. So once the “customer taxpayer id” is selected at the header then the system doesn’t default legal entity on the basis of “bill to location” of the selected supplier site and the invoice liability account. The “customer taxpayer id” gives a way to explicitly override the default legal entity derived from supplier site and liability account and default org id. “Customer taxpayer id” is the unique reg. number used to identify an LE. Also “Customer Taxpayer ID” can be used for any type of invoices. The system does not consider it to be mandatory.

In summary, the customer taxpayer id is used to explicitly override the default legal entity derived from supplier site. On the contrary, the taxpayer id is used to enter tax information about the individual or legal entity, which can be a corporation or a partnership.

Some Basic Supply Chain Terms

Some basic supply chain terms:

MAKE TO ORDER: This is based on Customer specification, you make the product and supply it to them. This is applicable for Engineering items or any Product which you can make based on Customer order

Example: Engineering Items

ASSEMBLE TO ORDER: This is you have items in parts and it needs to be assembled according to customer requirements

For example you have Laptop coming with standard configuration of 160GB Hard disk and 1 GB RAM. But there are customer orders coming in asking for 200GB Hard Disk and 2 GB RAM and if you can assemble them to suit Customer Requirement

CONFIGURE TO ORDER: This is Configuring the Product itself to suit
Customer requirements

Example. The Thread Manufacturing unit Machineries are configured. I have seen Laxmi Machine Works in INDIA which manufactures textile Machineries configure the machineries based on No.of spindles

PICK TO ORDER: This is same as Computer Example in ATO. But the
difference is the Customer will supply the items in parts to you and you
have to assemble at your own place. (i.e) Customer premises

ENGINEER TO ORDER: This is for AIRLINE and SHIP BUILDING based on Customer engineering Drawings

MAKE TO STOCK: Standard Components made and readily available for Sale. Example: Mobile, DVD, TV etc.,

Prepayment Receipt Setup and Process


1. Define system parameters in order management setup
“Allow Multiple Payments” as “Y”

2.  Define receipt class and payment method and assign document sequence (Optional)

3. Define payment term with “Prepayment” option enabled.

4. Define receivable activity with “Prepayment” type


1. Create sales order and book it.

2. Go to Actions -> Payment, create prepayment. A prepayment type receipt will be created in AR.
Dr. Cash/Bank
Cr. Prepayment (Actually a liability account)

3. Release, pick confirm, ship confirm sales order and run autoinvoice and prepayment match program in AR.  AR invoice is auto created and applied with prepayment.
Dr. Receivables
Cr. Revenue
Dr. Prepayment
Cr. Receivables

Receipt at Risk

From Oracle user guide, it is said that

“In Receivables, you can apply a receipt to an open debit item before cash is actually received from the bank. Therefore, receipts with a Standard remittance method are considered receipts at risk if they have been confirmed, but not yet cleared. Receipts with a Factored remittance method are at risk if they have not yet been risk-eliminated.”

But when I only select  “At Risk” option as “Y” in receipt summary form, not only above two kinds of receipts are displayed. Some receipt with state of “Remitted” and with receipt class “not remittance” are also displayed. It seems that “All not cleared receipts are considered as “At Risk”“. Is it right?

In the last query, it shows


Then I view the view definition of AR_CASH_RECEIPTS_V, the most important section is as




By the way, I refer the section of user guide to introduce the concept of “Include Receipts at Risk in Customer Balance”.


“In Receivables, you can apply a receipt to an open debit item before cash is actually received from the bank. Therefore, receipts with a Standard remittance method are considered receipts at risk if they have been confirmed, but not yet cleared. Receipts with a Factored remittance method are at risk if they have not yet been risk-eliminated.

You can view the number and amount of receipts at risk and their effect on your customer’s open balance in the Receipts Summary window.

To include receipts at risk and receipts that were created by the Bills Receivables Remittance or Maturity and Risk program, select Yes in the appropriate areas in the Find Receipts window.

To display receipts at risk and include them when calculating a customer’s past due balance in the Account Details window, set the AR: Include Receipts at Risk in Customer Balance profile option to Yes. This profile option affects the Account Details window.

If this profile option is set to No, you can choose to include items at risk by performing the following:

  1. Choose the Include Receipts at Risk option from the Tools menu.
  2. Execute your query.

 Important: The AR: Include Receipts at Risk in Customer Balance profile option and the option on the Tools menu do not affect the customer balance calculation in any Receivables standard reports or listings. These options only affect whether Receivables displays receipts at risk and includes them in the open balance calculation for Account Details.”

AR Deposit Setup and Process


1. Define a transaction type for deposit with “Deposit” transaction class.









2. Define a receipt class and payment method to receive deposit transaction. (Optional)


1. Create AR transaction with deposit transaction type and complete it.
Dr. Receivables
Cr. Offset Account (Deposit Account, a kind of liability account)

2. Create Receipt for deposit.
Dr.  Cash/Bank
Cr. Receivables

3. AR invoice created automatically or manually
Dr.  Receivables
Cr. Revenue

4. Apply Deposit with AR invoice
Dr.  Offset Account
Cr. Receivables

Below is the screen dump to deposit application:


Prepayment Receipt vs. Deposit in Oracle Receivables

Oracle receivables have a “deposit” transaction class and meantime have a “prepayment” receipt type. From business view, it looks the same, but why does Oracle designed “duplicated”? What’s the difference between them? I think it for a long time, and get some points to share with our friends here. Hopefully it is helpful for your implementation and support.

1. When deposit or prepayment created in AR, the actual AR invoice for goods or services have not been generated. This is normal business process for concept of deposit/prepayment. Deposit is created in Oracle Receivables independently for a customer. It is not able to be associated or called matched directly with any prior business documents before AR invoice, like sales order in OM. But Prepayment type receipt is generated from feeder module(like OM), it is associated with sales order in sales order additional information.

2. One AR invoice can apply with only one deposit, but one ar invoice can apply multiple prepayment type receipts. It is also means that one sales order can be prepaid for multiple times before ship confirm. This is very useful for multiple times prepayment/deposit.

3. Payment term flexibility: deposit can have its own payment term, while sales order/AR invoice can have different payment term. It is very flexible for customer balance control. As prepayment is a receipt type and it is auto generated from sales order,  it is must be immediate.  And sales order must have a payment term which is prepayment enable.

At last, I would like to say the offset account for both deposit and prepayment should be set up as an actual liability account.  Some customers use on-account receipt for prepayment business before. It is not recommended, as on-account account is always set up as an actual asset account.


View the “Status Monitor” of other user’s workflow

To allow user to view different user’s workflow, you must make user can select “Workflow Owned By” field in “Status Monitor“. To enable user to do that,

1. Log in the responsibility “Workflow Administrator Web Applications” with sysadmin user and password.

2. Go to Administration tab (window).

3. Change “Workflow System Administrator” to user name, responsibility name or “*”.

  • If user name, the user can view all workflow and other user can only view his/her own workflow;
  • If responsibility name, the user who has this responsibility can view all workflow;
  • If *, anyone can view all workflow.


The captioned profile option has been obsoleted in Oracle R12 version. All the customized report used this profile option “MO: Top Reporting Level” and value set “XLA_MO_REPORTING_LEVEL” should be re-written.

If customer used this profile option in his 11i custom reports , Customer might have been using this profile option to set the reporting level at SoB,Legal Entity or Org. However, in Release 12 the highest level is always a Ledger. Thus, these profiles are no longer needed in Release 12 and you will need to update the custom reports by basing them ledger and Mo profiles instead of SoB and MO: Top Reporting Level.

Differences between HR:Security Profile & MO:Security Profile

HR:Security Profile and MO:Security Profile are used for MOAC (Multi-Org-Access-Control).
HR:Security Profile is used to restrict the data in Human Resources according to the Business Group or whatever criteria you define in this security profile. Thus, for HR, it uses this secuity profile in its data exposure to the user.
MO:Security Profile acts the same but is used for Financials and Manufacturing applications. It restricts the access (site level or can be set at responsibility level) to certain operating unit (or whatever criteria defined in the security profile).
If there is no value at MO:Security Profile, then Financials and Manufacturing use the HR:Security Profile option for their data exposure to users.

Multi-Org features in Oracle EBS 11i and R12

Generally, Oracle 11i fulfills multi-org feature by the views in apps schema; while Oracle R12 fulfills the feature by Virtual Private Database feature.

In 11i,  the base table are created by product schema, e.g. oe_order_headers_all in ont db schema. In apps schema, there’s a view called oe_order_headers, which has a where clause like “org_id = SUBSTRB (USERENV (‘CLIENT_INFO’), 1, 10)” . So every user accessed application has his own userenv, then every user can access his own org’s data.

In R12, the base table are also created by product schema, e.g. oe_order_haders_all in ont schema. In apps schema, there’s a Synonym oe_order_headers with VPD feature to fulfill the multi-org feature.

In 11i, we set MO: Operating Unit profile on the responsibility level, then all of user logged from this responsibility has this OU(org_id) client info, so this user can only access this operating unit data from this responsibility.

In R12, we set up a security profile, which can include several operating units, then we assign this security profile to the profile option “MO: Security Profile” on the responsibility level.  The user logged from this responsibility can access all of OUs’ data  in the security profile.

Adding a New Operating Unit


The following steps are required to add new operating units to your organizational structure:
1.1 Revise the Organization Structure.
1.2 Define Sets of Books (optional).
1.3 Define Locations.
1.4. Define Organizations and Relationships.

2.1 Define Responsibilities.
2.2 Set Profile Options for Each Responsibility linked to the new Operating Unit.
1.1. HR: Business Group
1.2  HR: Security Option
1.3: HR: User Type (FOR accessing HRMS functions)
1.4  HR: Cross Business Group
2.1. GL: Set of Books(11i)
2.1  GL:%Ledger%  (R12)
2.3  GL: Data Access Set. This profile option to control the ledgers that can be used by Oracle General Ledger.
3.1. MO: Operating Unit
3.2. MO: Security Profile (R12)
3.3. MO: Default Operating Unit
4.1 Tax: Allow Override of Tax Code
4.2 Tax: Invoice Freight as Revenue
4.3 Tax: Inventory Item for Freight
5.1 Sequential Numbering
5.2 INV: Intercompany Currency Conversion
2.3 Run the Replicate Seed Data concurrent program.

3.1 Define Inventory Organization Security.
3.2 Define Intercompany Relations (optional).
3.3 Implement the Application Products.

4.1 Secure Balancing Segment Values (optional).
4.2 Run the Setup Validation Report (recommended).
4.3 Implement Document Sequencing (optional).
4.4 Set the top reporting level (optional).
4.5 Set up conflict domains (optional).