Anda di halaman 1dari 12

Oracle Process Manufacturing

Actual Costing
An Oracle White Paper
October 2006

Using Actual Costing in OPM

EXECUTIVE OVERVIEW
OPM Actual Costing is Periodic Weighted
Average Costing.

Actual Costing is one of the Cost Methods that is supported by OPM 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


(PMAC)

Periodic Weighted Average Cost


(PWAC)

Perpetual Periodic Actual Cost


(PPAC)

OPM Costing has been designed to meet Process specific requirements such as
Co-Products, By-products and Yield Variations. OPM Costing helps you to
calculate and maintain costs of items using various Cost Methods simultaneously.
The primary methods that are supported are:
Standard Costs In this cost method, you establish the cost of the raw materials
and resources and use the Cost Rollup engine to calculate the standard cost of the
products. These costs are used for all transactions and if the transaction cost is
different, variances are posted.
Actual Costs In this periodic cost method, transactions over a period are used
to arrive at the weighted average cost of the item. Transactions that affect the cost
of the item include Purchases, Production and Transfers.
Lot Costing Lot Costing is a type of Specific Identification costing which helps
you to calculate and maintain costs at an Item Lot Sublot level. All incoming
transactions that affect this lot are used to calculate the cost of the lot. This is a
perpetual average cost method unlike the above 2 methods.
In this white paper, we will focus on the Actual Costing logic of OPM Costing. We
would also look at some of the factors that govern the cost calculation and some
recommendations that might help you to track costs accurately.
BUSINESS TRANSACTIONS AND ACTUAL COST

Transactions for Actual Cost

Purchase Receipts & Invoices


Production Batches
Inventory Transfers

The following are some of the transactions that affect the cost of the item.
Typically all incoming transactions are considered by Actual costing such as
Production Batches, Purchase Receipts and Inventory Transfers. All outgoing
transactions dont affect costs but use the costs calculated for accounting entries.
There are a few exceptions to these which would be discussed at the appropriate
places.

White Paper Title

Page 2

Purchasing Process

Let us look at some of the Purchasing transactions and the effect on OPM Costing
from such transactions.
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.
Purchase Order Receipt

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

GMF: Include Receipts in Actual Cost Yes/No


Used to indicate if Purchase Receipts needs to be included in cost calculation.
Oracle Recommendation:

Set the profile to yes (the default value)


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

GMF: Include Invoices in Actual Cost Yes/No


Used to indicate if Invoices are included in Actual Cost
Oracle Recommendation:

Set the profile to Yes (the default value)


Out of Period Invoices

There may be situations when the Invoice is received in a different period


compared to the Receipt. In these situations, the profile value GMF: Invoice

White Paper Title

Page 3

Price Variance Transfer Method to Inventory in Actual Costing is used to


determine the behavior.
The valid profile options and the effect are described below:
Transfer Entire IPV to Inventory In this case, the actual cost process would look at
all the invoices that are out of period and calculate the IPV for each of these
invoices. The entire IPV is considered for the Actual Cost calculations
Prorate IPV based on Opening Balance In this case, the IPV is prorated and
transferred based on the prior period closing balance. The rationale behind this
profile option is that some customers would like to include only part of the IPV in
the item cost and if the quantity has been consumed then they would not inflate
the Inventory with the IPV, but expense it.
Please note that these options are valid only if the cost method is PMAC.
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.
Internal Orders Receipts

Internal Orders are used to transfer material between various subsidiaries of an


organization.
Internal Orders across Operating Units

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

White Paper Title

Page 4

Internal Orders across companies within an Operating Unit

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.
Internal Orders across warehouses within same company

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.
Batches that span across periods

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.

White Paper Title

Page 5

If the profile is set to Yes, then the following points are considered when
calculating the product cost:
-

Step, item, and step dependency association determine which ingredients,


resources, and byproducts contribute to product cost.

If an ingredient, resource, or byproduct is not associated to a step, then it


is considered as associated to all products in the batch.

If a product is not associated to any step, then it is assumed to be


associated to all ingredients, resources, and byproducts 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.
The Derived Cost Allocation is calculated as follows:

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.

White Paper Title

Page 6

By-Products

By-products are included in the batch cost calculations as either negative or


positive ingredients. For example, if you need to spend money to dispose the byproduct, then it adds to the cost of the product. On the other hand if you can sell
the by-product, it reduces the cost of the product.
Co-Products / Cost Allocation Factor

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

GMF: Include Production Batches in Actual Cost Yes/ No


Used to indicate if Production Batches are included in Actual Cost
Oracle Recommendation:

Set the profile to Yes (the default value)


Inventory Transactions

Let us now look at the various Inventory transactions and how they affect the
actual cost of an item.
Adjustments

An adjustment is not included in the cost calculation. A way to include them to


include them in cost calculations is to create a corresponding Actual Cost
Adjustment for the adjustment quantity and cost that you would like to assign to
the transaction.
Inventory Movements and Transfers

Inventory transfers are included in the Actual Cost calculations similar to a


purchase receipt. The cost of the material in the source organization is used as the
incoming cost in the destination warehouse. Products and raw materials can be
transferred and included in the cost calculation. Please refer to the User Guide for
examples on how product and raw material cost calculations work.

White Paper Title

Page 7

Profile

GMF: Include Inventory Transfers in Actual Cost Yes/ No


Oracle recommends that you set it to Yes.
GMF: Include Inventory Movements in Actual Cost Yes/ No
Oracle recommends that you set it to Yes.

Sales and Shipping

Since Sales and Shipping are outbound transactions, they are not included in the
actual costing calculations. The shipments use the item cost while it creates the
accounting entries to Cost of Goods Sold and Inventory accounts.
RMA/Returns

Sales Returns are not included in the actual cost calculation logic.
Internal Orders Shipments

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.
Actual Cost Adjustments

You can use the actual cost adjustments functionality to adjust the cost of the
item using the following adjustment types:
Average Cost Adjustments

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.
Unit Cost Adjustments

The Unit Cost Adjustments is used to adjust the cost of the item by a fixed
number.

White Paper Title

Page 8

Please refer to Using Actual Cost Adjustments in OPM Costing, MetaLink Note
362896.1, for complete details.
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]

The expense component of products is calculated as:


[(Prior Period Inv. Balance * Prior Period Component Cost) + GL Expense for Current Period]
[Previous Period Inventory Balance + Produced Quantity + Received Quantity (if any)]
Please refer to the Cost Management users guide for details on examples.
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.

White Paper Title

Page 9

Actual Cost Process

This is how the costs are calculated by the various cost types.
Period Moving Average Cost (PMAC)

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.
Period Weighted Average Cost (PWAC)

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.
Perpetual Period Average Cost (PPAC)

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]

Last Transaction Cost and Last Invoice Cost

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.
Actual cost process

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

White Paper Title

Page 10

Cost Process runs for all the warehouses under a OPM Company. Hence please
ensure that all the Inventory Warehouses are Closed or Preliminary Closed.
Other Profiles

GMF: Exclude Negative Inventory Balance - If set to Yes, all negative


balances would be considered as zero.
GMF: Concurrent Debug Flag - Valid options are 0, 1,2, and 3 with 0 being the
least detailed and 3 being the most detailed. Used primarily by Support and
Development for trouble shooting. Oracle Recommends that you set this to the
default value of 0 / NULL.
GMF: Cost Process Message Level Threshold Dictates the logging level of
errors for the actual cost process. The valid options are: Diagnostic Messages,
Warnings, Data Setup Errors, Errors Impacting Cost and Fatal/Internal System
errors.
Oracle recommends that you set it to Diagnostic messages during normal use. This
is the most detailed level of logging.

White Paper Title

Page 11

White Paper Title


October 2006
Author: Srini Raghavan
Contributing Authors: Rajesh Seshadri
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
Copyright 2005, Oracle. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle, JD Edwards, and PeopleSoft, are registered trademarks of Oracle
Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.