Sie sind auf Seite 1von 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.
INTRODUCTION

Averaging Methods

Periodic Moving Average Cost (PMAC)

Periodic Weighted Average Cost (PWAC)

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

Perpetual Periodic Actual Cost (PPAC)

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.