Tuesday, 7 April 2015

Accounting entries in Customer Refund process in Oracle R12

How to do customer refund in R12?

Since customer activities are linked to AR module, it becomes more logical to initiate the refund from AR module itself. In R12, oracle introduced this feature of initialing the refund from receipt screen itself, which automatically creates the AP invoice ( without supplier), so that the payment can be initiated on the same from payables. I am not going into the details on the process steps, since there are number of articles and blogs on this process.

What is the accounting impact on the refund process?

Well this was something that made me scratch my head. This post is mainly intended to discuss this topic since unfortunately i am not seeing any posts on this topic. Also the accounting is not straight forward.

Following are the high level process steps:

1. Refund receipt creation
2. Automated AP Invoice Creation
3. Payment to the customer.

Lets look at the accounting at each step:
1. Refund receipt Creation
Bank A/c Dr ( Remitted Cash)
AP/ AR Clearing Account Cr

2. Automated AP Invoice Creation:
AP/AR Clearing Account Dr
Payables A/c Cr ( Liability)

3. Payment to the customer:
Payables A/c Dr (Liability)
Bank A/c Cr

Well, i hope now you too have started scratching your head :). Yes, the net impact on accounting gets to zero whereas actually the money is paid to the customer.

Ok, so what is the solution ?

After some scratching, I realized that for a customer refund, we need to pick the original receipt and apply the refund instead of creating a new receipt. Before getting to the next step, we need to understand, why are we doing the refund, and what is the status of the original receipt that we would want to do the refund. Following could be the possible scenarios of the original receipt:
1. The receipt would be in On Account / unapplied Status
2. The receipt would have been applied to invoice. Hence Applied Status.
3. There are multiple receipts (and applied to invoices) and we are not able to track the exact receipt from which refund to be made

The accounting entries that I would expect is :

On Account A/c / Unapplied Dr ( instead of Bank)
AP/AR Clearing Account Cr

On AP Invoice
AP/AR Clearing Account Dr
Payables A/c Cr ( Liability )

On Payment to the customer:
Payables A/c Dr (Liability)
Bank A/c Cr



How to achieve this ?

1. If the original receipt if it is Unapplied or On Account status, we need to query the original receipt and do an application to refund. By doing this the accounting will fall in place as discussed above.

2. If the original receipt is applied to the invoice.
Then we need to unapply that invoice and take the funds to unapplied. Now apply to the refund.

3. If we are not able to find out the original receipt ( in case of multiple receipts )
We can create a credit memo. Then create a zero value receipt and apply that receipt to the credit memo and the refund.


 

Tuesday, 16 July 2013

Oracle Project Accounting an Overview

Question: What type of industry use project accounting module?

Answer: An industry, where there are number activities that need to be done to complete a product or concept and that takes considerable period of time to complete, will use project accounting to track the costs, revenues and manage the activities effectively. Example Software product development; construction of a building; research and development; building a wind turbine for customers etc..

Question: How will Oracle Projects help for such kind of industry?

Answer: Each activity can be set as a project is oracle project accounting module. Budgeting can be done for the cost and revenue for each project. Project costing helps us to accumulate all the costs on the project while project billing module helps us in creating and monitoring the revenue and initiating the billing for the project.

Question: So looks like Oracle Projects have different sub-modules?

Answer: Yes Oracle Projects have different sub-modules to help us in the project activities:

Project Foundation: All basic configuration for projects are done in Project Foundation. Eg: project creation; task creation; project type creation and another tons of setups are done here.

Project Costing: This module deals with everything related to accumulating the cost to the project. If we need to view the total cost of a project, this is the place to look for.  Project costing also is integrated with other modules like Oracle Purchasing; Oracle Payables; Oracle Assets etc, which generates costs in the system. If we need to know the exact cost of a project, the data should flow from all the places where the expenses gets incurred into project costing module. In actual implementations I have done integrations with some 15 systems where the costs originated outside oracle to bring the expenses into project costing module.
Bottom line is that wherever the expenditure is incurred for a project, it should be imported into project costing to know the correct project costs.

Project Billing: This module deals with everything related to generation of revenue and initiating billing on the customers. The module is capable of handling different methods for revenue and billing. For example, there could be milestone billing based on a deliverable or happening of an event. Other words called 'event based billing'. Billing can also sometimes be based on time and material ie..based on the hours put in my the resources on a job. This in other words called 'work based billing'. There is also method where billing is based on percentage on the actual cost incurred. Similar methods can also be used for generation of revenue in the project billing module.

Project Management: This is a very useful module for project manager. Here the project manager can control the project using any of the following functionalities:
  • create a project plan and track the progress of the work for the project
  • track the deliverables in a project and effectively manage the scope change
  • compare the forecast with the actuals for cost and revenue
  • calculate earned value; estimate to completion and estimate at completion for a project
  • the module provides dashboards with various useful reports and graphs that will help the project manager to effectively manage a project.
Project Contracts: This module is very handy when there is a requirement to capture various documents including the terms and conditions on a project. We can create the Contract for each project or combination of projects in this module. The contract can store all the contract information in an organized manner with ability to also capture the following information:
  • Parties involved in a contract
  • the method of funding for the project
  • the contact details
  • the terms like revenue recognition term; payment term; contract value; additional information through flexible fields.
  • Contract version control etc.
Project Manufacturing: This module need to be enabled for us to be able to assign project and task in the inventory or manufacturing modules. For example if we are issuing materials to production for a specific project, we will be able to assign a project number and task number on the material issue only when we enable the project manufacturing module.

Project Resource Management: This module helps for optimal utilization of human resources. It helps the project manager / resource manager to effectively utilize and manage the resources that are deployed for the project. This module is closely integrated with human resource module.

Project Collaboration: Project Collaboration is a module used for effective communication among the project team members. Tasks, issues or deliverables can be raised / assigned to the team members  along with the priorities and due dates. These can be tracked to closure through this module.

Project Portfolio Analysis:  Oracle Project Portfolio Analysis helps organizations evaluate, analyze, prioritize, and select the right set of projects supported by financial goals, strategic goals, and available funds. Available in the latest release of Oracle Enterprise Project Management, Oracle Project Portfolio Analysis helps organizations evaluate, analyze, prioritize, and select the right set of projects supported by financial goals, strategic goals, and available funds
 

Tuesday, 23 April 2013

How to modify an account logic in existing Subledger Accounting Definition

Question: Can I use the Oracle Standard SLA method ( Standard Accrual ) but at the same time modify an account logic for some specific item. Like account change for tax based on ship to country for AR Invoice?

Ans. Yes this is possible. SLA method is attached to the ledger and hence once it is setup, it can not be modified. It would be a huge effort to rework on the ledger setup and not worth its while for few account logic changes. Instead, all that we need to do are the following:

      a) Create a new accounting derivation rule with condition like ship to country value for deriving the tax account.
      b) Create a new Journal Line Definition (JLD) by copying the existing JLD.
      c) Change the Rule Name for Invoice Tax Journal Line Type to the new accounting derivation rule you just created in a) above.
     d)  Go to the standard Application Accounting Definition (AAD) for receivables, copy it and create a new application accounting definition.
    e)   In the event class for Invoice, change the Journal Line definition name to the one that you created in b) above.

    f) Go to the Subledger Accounting Method and look for Receivables in the Application Accounting Definition Assignment. End date the AAD for receivables and create a new line for receivables. Note that you are not copying the SLA standard accrual to another one, instead you are modifying on the existing one itself. This will enable you to use the same ledger.


    g) and that's it. As simple as that.

Friday, 16 November 2012

Oracle Project Costing - Cost Rate concepts

Cost Rates are defined in different places in Project Accounting.  Let us see which one is relevant for distributing the cost in project costing?
One of the common errors that you can see while running the cost distribution program is 'Missing Cost Rates'. As usual I am going to put this in a question and answer format
 
Question:  For what purpose do we need cost rates in the system ?
 
Answer:  We need cost rates for the following ( only the following):
    • Usage Cost
    • Labor cost
Question: Where do we define the cost rates in project costing for usage cost?
 
Answer: The cost rates for usage cost is defined only in the following places:
  • Expenditure Types - In the expenditure types we can define the cost rates. Each Expenditure type can have a cost rate defined. You can have different cost rates for different Operating Unit and for the same expenditure type. When you run the PRC: Distribute Usage and Miscellaneous Costs, the program will pick up the cost rate mentioned at the expenditure type level, for the cost transaction. 
  • Non-Labor Resource - If you need a rate at a resource level and want the system not to pick the cost rate mentioned in the expenditure types then you can set the cost rate overrides for the non-labor resource in the Non-Labor Resource setup screen.
 
Question: I have seen non-labor rates mentioned in the rate schedule, is it not also used for calculating the usage cost?
 
Answer: No, the rate schedule for non-labor is not used for cost purpose for usage cost calculation. It is used only for billing purpose.
 
Question:  Where do we define the cost rates in project costing for Labor cost?
 
Answer: Labor cost rates are picked from the rate schedules. It could be the rate schedule mentioned at the employee level or at the job level.
 
Question: When there are multiple rate schedule defined for labor, how does the system understand, from which rate schedule to pick the rate?
 
Answer: Under the Organization Labor Costing Rules ( Setup>> Costing>> Labor>> Organization Labor Costing Rules ), we mention which Cost Rate schedule should the system pick the rates. We can have different rate schedules assigned for transactions with different Expenditure Organization.
 
Question: Is rate schedule the only place where the rates are picked from for labor cost?
 
Answer: If we need a different rate for an employee ( relevant, if the rate schedule that is configured to pick up is a job rate schedule), then we can define labor  costing overrides ( Setup >> Costing>> Labor >>  Labor Costing Override) at the employee level. This will override the rates mentioned in the rate schedule.




 

Tuesday, 11 September 2012

Oracle Subledger Accounting Method - Concept Explained

This writeup is intended to help clarify the concept of Subledger Accounting Method introduced in R12. We will also understand the significance of the 4th C assignment to the Ledger. Let us also look at some concepts on primary ledger, secondary ledger and the reporting currency, how they all related to the subledger accounting method.

I would like to discuss the above in a question and answer format :

1. What is the significance of the 4th C in a ledger and why is it needed?

4th C is nothing but the new subledger accounting method introduced in R12. By assigning 4th C to a ledger, we are telling the system what accounting method should be used for the specific ledger. We would really want our system to create accounting in the manner we want. We can have our own logic as per the business requirement for debit and credit entries. For example, if my revenue account to be credited should be based on the DFF defined in the sales order, then I can define that rule in my accounting method. In 11i we did have option only to pick our account from either sales representatives or standard lines or customer site or transaction types. But here, we can have each of our accounting segment values picked based on any field from any forms in any related module. We can define all these rule and give a name to the rules, which is nothing but the subledger accounting method. The name can be any thing like US GAAP or IAS or any other name of your choice. What is more relevant here is your accounting logic that goes behind it.
Once we give a name to our rules, we need to ask our ledger to follow only our rules for accounting. That is exactly what we do, by assigning the subledger accounting method to our ledger which is the 4 th C.

2. What is the link between the sub-ledger accounting definition and the ledger
 
The link between the sub-ledger accounting definition and the ledger is established by using the 4th C in the ledger definition ( Accounting Convention / SLA Method). 

3. Is the 4th C mandatory for a ledger. If it is not set, what is the impact?

4th C is not mandatory. If you just plan to use only General Ledger module, then you can leave the 4th C blank.   4th C becomes mandatory if you are using subledger modules like AP, AR, INV etc..

4. If my intention is to continue the accounting logics available in the subledger modules and not configure SLA for accounting, do I still need to assign the SLA method to my ledger?

Yes. If you are planning to use the accounting logics available in the subledger modules ( similiar to 11i), you need not create your own SLA method. Instead you can pick the appropriate standard SLA method for assigning to the ledger.  For Example, the SLA method, standard accrual uses the account segments that gets generated by the accounting logics in the subledger module. ( Like the account that gets created in the account distribution screen for an Invoice).
Below are some of the standard accounting methods:
  • Standard Accrual
  • Standard Cash
  • China Standard Accrual
  • Encumbrance Accrual
  • Encumbrance Cash
  • United States Federal
5. Why will you ever want to have a secondary ledger and what purpose?

We use secondary ledgers when any of the 4Cs are different in your accounting representation except currency.
For example, You want to use US COA for local reporting but would like to use different COA (Like France COA) for corporate reporting, then we should add secondary ledger to accommodate this requirement. All account balances would get converted to the secondary ledger as well.

6. What are the scenarios where we will have a reporting currency Vs using the translation feature of GL?
 
Reporting currencies are intended for use by organizations that must regularly and routinely support statutory and legal reporting of both transactions/journals and General Ledger account balances in multiple currencies, other than the ledger currency. If you only need to report account balances in a currency other than your ledger currency, you can use General Ledger translation.

We will use translation instead of setting the currency as a reporting currency, if the intention of the translation is to see period end/quarter end/year end balances in different currency. If we need to have immediate reports as soon as the transaction is done in a different currency, then we use reporting currency.






 

Wednesday, 8 August 2012

Is process re-engineering required before you start an ERP Implementation?

In many of my ERP implementation projects, I have seen and even involved in doing a process re-engineering prior to starting an ERP implementation. Many companies do this basically to set right the existing process or lean out the current complicated process. The idea being not to bring the current redundant steps or procedures to the new process that would involve ERP.  This do sound very reasonable thing to do and the concept quickly caught as a best practice as a pre-implementation activity. Re-engineering experts were hired to assist them in identifying their existing process bottlenecks, and provide them with a value stream maps that would remove all these reduntant steps and bring in process improvement.

While all these sounds very right, I am personally not convinced with this approach as a pre-implemenation activity and here are the reasons why..

Future Process Maps

What ever may be the existing process, during the ERP implementation, the consultants comeup with the future process documents which is not the same as the leaned or improved process.  The ERP consultants still have to discussion with the business users to understand their existing process and chart out the future process taking into consideration the ERP application functionalities and process. Since ultimately the users will have to work in the ERP application, doing a re-engineering activity without considering the process steps within the ERP application does not make any meaning. One of the prime flou that I have seen is the customers using pure re-engineering resources who do not have knowledge of the ERP system that they are planning to implement. They conduct workout sessions and comeup with value stream maps in isolations of the ERP application. Lot of time and energy is spent on this activity which will anyway again be re-looked when the ERP implementations gets underway. So this raises the following questions
  • Why not involve the ERP consultants ( may be along with the re-engineering consultants), in the entire activity of coming up with the leaned or improved process?
  • Instead of concentrating too much on the ASIS process, why can't they look at what they want, the future process. ( which will automatically be the improved process from the existing )?
  • Why spend too much money and energy on a pre-implementation, re-engineering activity? Why can't the re-engineering activity be clubbed with the future process design phase of the ERP implementation itself ?
Where Re-engineering can be useful ?

Having been little negative on the ERP pre-implementation re-engineering activity, I would like to also mention some specific areas where value stream maps will be useful.
  • Where the business is aware of a complicated process which they need to streamline
  • Where the busniess is aware of reduntant activities that they think should be removed
  • Where there is a process bottleneck that can be avoided.
Re-engineering can be specifically targeted on the above which are non-ERP related and which may be needed even after ERP is implemented. For example, if the goods are delivered to the customer site, but it takes 2-3 days to confirm the delivery of the goods to the billing team ( due to the remote customer locations) and thus resulting in delay in revenue recognition or billing. The process step could be that the truck driver faxes the delivery note with the customer signature to the billing team after the goods are delivered. The availability of fax facility may not be near the remote customer location and thus the delay. The re-engineered process may be to provide the truck driver with an handheld device that sends immediate information of the delivery directly to the billing team thus saving the valuable 2-3 days of delay in revenue recognition or billing to the customer.

In the above scenario, there was a problem and the process is now improved (re-engineered) by issuing the hand-held device to the truck driver. The solution would be the same whether ERP is implemented or not.  Such scenarios really qualifies to be a candidate for re-engineering prior to ERP implementation.

Conclusion

Doing general re-engineering activity prior to starting any ERP implementation is more a waste of time and money, since the processes will anyway be re-looked to suite the ERP oriented steps and procedures. Any process that is independent and will not change with ERP system that need to be re-engineered qualifies as a candidate to be looked into pre-implementation.

I would appreciate your views and feedbacks on the topic.

Wednesday, 25 July 2012

What it takes to become a successful ERP Consultant?

I have been teaching Oracle Applications for quite sometime now and have seen students with varied flavours. Not all have become successful in ERP career. So I thought to address the question on what it would really take to become a successful ERP consultant.

Career in ERP Consulting is quite interesting and rewarding as well. There are lot of people, both experienced and fresh, trying to get into a career in ERP.

Some reasons why people try to get into ERP career
  • They are not satisfied with the current job or just need a change and wanting to explore the oppertunities that looks more greener.
  • ERP is being implemented in the office that they are working currently . They feel that learning ERP will make them more successful in their current job.
  • Students who are fresh from college and are looking to learn ERP application and make a career out of it.
  • Passion to be a consultant and meeting people to give solution.
  • By chance; they were at the right place at the right time and got into an ERP career.
Who becomes successful?
I have seen people making successful career in ERP who are belonging to each of the above categories.  But unfortunately, I have also seen people failing. So what it takes to be successful ? Is ERP applications so difficult to master? Is the application really a monster as perceived to be from outside?

I would say that your effort to figure out what is in application is just 30 percent of your effort. Remaining 70% of your efforts is to understand the concepts and the business processes. So it is very obvious where people fail in an ERP career. Understanding the business language and translating the business requirements into a well defined process(70%) and mapping the same to the ERP application (30%), is the work of an ERP consultant.

To be very honest for the last 5 years of my ERP career, I was more on the 70% bracket and was aware of 10% of the remaining 30%. I used to work with my customers to define their process and even help them re-engineer their exiting processes. My customers used to love me for the solutions that I provided in Oracle ERP. This was not because I was an expert in Oracle ERP, but it was because of my clear understanding of their business processes. If a consultant comes out of a process discussion meeting, by summarizing his understanding of the customers business process correctly, it means he has sealed his position with his customer. If I have to break the 30% further, I would say 10% goes to your knowledge of what can be done and what cannot be done in ERP ( on specific module). Remaining 20% is the details of the module. If you are very good at the first 70% and 10% of the remaining, you would be surely successful in the career.

As a trainer in ERP, I tell all my students to go to 5000 feet level or even 10000 feet level to understand the concept or the process. It is a must for all the consultant to go to this level and look at the broader picture before working on a solution in ERP.  You really don't need to be at a ground level, leave that job to consultants working for you or alternatively, you can easily open the application and figure out the configuration or transactions within the ERP application.  

So what it takes be part of the failure team in the ERP career?
  • People who can not demonstrate their expertise on the first 70%.
  • People really working very hard, but are not ready to come out of the reamining 30% bracket.
  • People who love to work at the ground level and not ready to take a flight to go to the 5000 feet or 10000 feet level.

There are other below mentioned optional requirements that would help in making a successful ERP consultant, but I would not consider them a must for those who are in the 70% + 10% bracket.
  • Communication Skills
  • Work experience & subject matter expertise ( though people in 70% bracket will surely will be an SME)
  • Excel knowledge
  • inter-personnel skill
  • Hard Work
  • Ready to handle pressure
As an interviewer, I would always test my candidates at 5000 feet level when it comes to drilling them on ERP application. My concentration would always be more on the 70% bracket.

As a person exploring to becoming an ERP consultant, judge yourself where you stand. If you are good at the first 70%, then do not hesitate, you will surely become successful. Remember 'Figuring out what is in an ERP application is the most simple task and hardly takes anytime'.