Professional Documents
Culture Documents
Actual Costing
An Oracle White Paper
October 2006
Using Actual Costing in OPM
EXECUTIVE OVERVIEW
Actual Costing is one of the Cost Methods that is supported by OPM Costing.
OPM Actual Costing is Periodic Weighted
Average Costing.
This white paper provides an overview of the calculation logic for Item Costs and
Oracle Recommendations to simplify reconciliation.
Averaging Methods
INTRODUCTION
• Periodic Moving Average Cost
OPM Costing has been designed to meet Process specific requirements such as
(PMAC)
Co-Products, By-products and Yield Variations. OPM Costing helps you to
• Periodic Weighted Average Cost calculate and maintain costs of items using various Cost Methods simultaneously.
(PWAC) The primary methods that are supported are:
Purchase Orders
While the Purchase Orders do not have an effect directly on the cost of the item,
they do play an important role for cost calculations. The purchase price is used to
default at the receipt and is used by the actual cost process.
The Actual Cost process picks up all the receipts received in a period as part of its
cost calculation logic. The unit price is retrieved from either the
po_line_locations_all table or from the receiving table “rcv_transactions” is used
as the basis for the cost calculation.
Profiles
Oracle Recommendation:
Invoices
The invoices that are matched to Receipts and Purchase Orders are considered for
actual costing. The types of Invoices that are supported are: Regular Invoices,
Credit Memos, Debit Memos, and mixed Invoices. The “Item” line type of
invoices alone is currently picked up Actual Costing.
If both the Receipt and Invoice is available in the same period, then the Actual
Cost process would pick up the unit price as specified in the Receipt and the
Invoice Price Variance – IPV – (difference between the PO Unit price and
Invoice Unit Price), if any, is used to calculate the item cost.
Profiles
Oracle Recommendation:
Purchase Returns
Purchase Returns are returned to the vendor at the Purchase unit price. This is the
only “outgoing” transaction that is considered by Actual Cost process for cost
calculations.
Acquisition Costs
Acquisition costs are used to include other costs that are incurred to procure the
item such as Freight, Taxes, Duty etc. You can define Acquisition cost codes in
OPM and use them to record additional costs in Purchasing. The Acquisition costs
are attached to Purchase Orders and can be over-ridden during Receipt. The
Acquisition costs can be either added to the Item cost or expensed. If they are set
to be included to the Item costs, then they are picked up the Actual Cost and are
included in the cost calculation.
Tip: For tracking these additional costs or charges, you may want to create a
unique cost component class for each type of charges. The Item Cost calculated
will comprise of these individual component classes that can be easily identified
and analyzed.
The Pricing of internal orders that are across Organization Units depends on the
transfer price that is set up in the Inter Company Transaction Flow. The incoming
material is included in the cost calculation at the transfer price similar to a
Purchase Receipt
For these internal orders, the actual cost process uses the user hook within the
package
GMF_INTERNAL_ORDERS.GET_TRANSFER_PRICE_USER_HOOK to
retrieve the cost. The cost that is returned by the user hook is used by the Actual
Cost Process.
For these internal orders, the source organization cost is used by the Actual Cost
Process to cost the internal order receipt.
Production Transactions
Batches
The batches that are beyond the Released Status and that have a yield associated
with it are considered by Actual Cost Process. Previously the Actual Cost Process
used to consider only batches that were in the Closed status, which is no longer a
restriction. The production batch cost is calculated as the sum of material, resource
and burden costs.
If a batch spans across periods and there are yields associated with it, then the
Actual Cost Process calculates the cost based on the following profile options:
GMF: Batch Actual Cost Calculation Basis
This profile option determines how much ingredient, resource, and byproduct to
use to determine the product cost. If the profile is set to Use Virtual Incremental
Backflush Quantities, then the actual cost calculation for the product uses the
product yield to derive a virtual backflush quantity of the ingredients, resources,
and byproducts using incremental backflush calculations. This can be different
from the actual consumption of ingredients, resources, and byproducts in the
batch. Use this option when the ingredient consumption does not correctly reflect
the actual yield for the product.
If the profile is set to Use Actual Quantities,, then the actual cost calculations for the
product uses the actual units of the ingredients, resources, and byproducts
consumed since the last yield of the product in the batch.
GMF: Use Item & Step Dependencies for Product Actual Cost Calculation
This profile option determines which ingredient, resources, and byproducts
contribute to the product cost.
If the profile is set to No, then all ingredients, resources, and byproducts
contribute to the cost of all products in the batch.
When the profile is set to Yes, then the Derived Cost Allocation is calculated
based on the ingredient, resource, and byproduct association to products.
where Product (i) represents all products that use this ingredient, resource, or
byproduct. When the profile is set to No, then the Derived Cost Allocation is
equal to the Product Cost Allocation.
Please refer to Metalink note Enhancement to Production Batch in Actual
Cost (Patch 5035680) for more details on how the costs are calculated.
Circular Reference
Circular references occur in production batches if one of the ingredients is also the
product. Since this is a special situation, the actual cost logic calculates the cost of
circular reference item iteratively, until it arrives at a cost which is stable. The
calculation uses the cost from the previous iteration for use in the current
iteration. The calculation continues to re-calculate the cost until the cost
in the previous iteration and the current iteration match.
To safe-guard the actual cost engine from running an infinite number of iterations,
a maximum limit of 200 is imposed in the program. The user can over-ride this
value by setting a value for the following profile option:
GMF: Actual Costing Maximum Iteration Limit for Circular Reference.
The other profile that is used in case of circular references is Tolerance Limit
profile : GMF: Costing Tolerance Percent, which instructs the system to stop
calculating the cost if the difference between two consecutive iterations is below
this costing tolerance percentage.
The batch costs of co-products are derived based on the cost allocation factors.
Based on the profile “Cost Allocation Factor Calculation” the cost allocation
factor is either calculated or picked up from the cost allocation factors specified in
the batch formula.
The valid profile options are:
Static to calculate the batch cost allocations based on the Cost Allocation Factor
defined for each product in the production batch formula. This is how the costs
were apportioned before this enhancement.
Dynamic to calculate the batch cost allocations as a ratio of actual quantity of
each product produced to the total production batch output quantity.
Profiles
Oracle Recommendation:
Inventory Transactions
Let us now look at the various Inventory transactions and how they affect the
actual cost of an item.
Adjustments
RMA/Returns
Sales Returns are not included in the actual cost calculation logic.
Internal order shipments are not included in the cost calculation, but use the cost
for creating the account entries. If the shipment is across companies and across
OUs, it uses the transfer price while if its across companies within the same OU,
they use the user hook to retrieve the cost.
Costing
Using Cost adjustments and expense allocations, you can modify the actual cost
that is calculated based on the transactions in the various applications.
You can use the actual cost adjustments functionality to adjust the cost of the
item using the following adjustment types:
This adjustment is created with a quantity and a cost. The transaction is costed
very similar to a receipt. The Average Cost Adjustment can be used to cost any
Inventory Adjustments that were created in Inventory .
Value Adjustments
In this type, you would just enter a total value of the adjustment that would get
applied on the entire actual cost quantity.
The Unit Cost Adjustments is used to adjust the cost of the item by a fixed
number.
Expense Allocations
Expense Allocations are used to allocate any indirect expenses to the actual cost of
the item such as Administrative expenses, utility costs etc. The expenses allocated
to a specific item are calculated by the expense allocation logic based on the actual
expenses that are retrieved from the accounts and the basis defined by you in the
Expense Allocation Basis.
The expense component for raw materials is calculated as:
[(Prior Period Inv. Balance * Prior Period GL Expense Comp. Cost) + GL Expense for Current Period]
[Previous Period Inventory Balance + Received Quantity]
Burdens
The Burden unit cost for raw materials and products are calculated based on the
following logic:
Burden Usage * Burden Count * Nominal Cost
Item Quantity
For products, the PMAC logic calculates the burden component as follows :
[(Prior Period Inventory Balance * Prior Period Burden Unit Cost) + (Current
period Transaction Quantity * Current Period Burden Unit Cost)]
[Prior Period Inventory Balance + Current Period Transaction Quantity]
Please note that the percentage burdens functionality is applicable only to Standard
Costing and not to Actual and Lot Costing.
This is how the costs are calculated by the various cost types.
The Period Moving Average Cost is calculated based on the following logic.
[(Prior Period Cost * Prior Period Closing balance) +Batch costs + Value of Incoming Transfers+ Value of
Receipts+ Cost Adjustments Value + GL Expense Allocations]
[Prior Period Closing Balance + Product Yield +Transfers + Receipts +Average Cost Adjustment Quantity]
If an Unit Cost Adjustment exists, the PMAC cost is calculated as above and then
the Unit Cost is added/subtracted to arrive at the final cost.
The Period Weighted Average Cost is calculated based on the following logic.
[Batch costs + Value of Incoming Transfers+ Value of Receipts+ Cost Adjustment Value + GL Expense
Allocations]
[Product Yield +Transfers + Receipts +Average Cost Adjustment Quantity]
If a Unit Cost Adjustment exists, the PWAC cost is calculated as above and then
the Unit Cost is added/subtracted to arrive at the final cost.
The cost calculation in this method is slightly different from the above in that, the
cost is calculated based on transactions that have occurred starting from the first
period of the cost calendar.
The PPAC cost calculation logic for a given period:
[(Prior Period PPAC Cost * Prior Period PPAC Quantity) +Batch costs + Value of Incoming Transfers+ Value of
Receipts+ Cost Adjustments Value + GL Expense Allocations]
[Prior Period PPAC Quantity + Product Yield +Transfers + Receipts +Average Cost Adjustment Quantity]
For these methods, the actual cost engine would look at all the invoices and
receipts for the current period and either pick the most current Receipt or Invoice
for Last Transaction and the most current Invoice for Last Invoice cost method.
Please note that if there are any cost adjustments that you had entered, then they
override the receipts or invoices.
Before you run the Actual Cost Process, please ensure that you have closed the
Inventory period (Prelim or Final) and have completed all transactions. Actual
Other Profiles
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com