Professional Documents
Culture Documents
Understanding Average Cost Variance
Understanding Average Cost Variance
1
ABSTRACT
==========
Under average cost systems, the unit cost of an item is the average value of all receipts of that
item to inventory, on a per unit basis. Each receipt of material to inventory updates the unit cost
of the item received. Issues from inventory use the current average cost as the unit cost.
By using Oracle Cost Management’s average costing method, inventory can be perpetually
valued at an average cost, weighted by quantity (inventory cost = average unit cost * quantity).
For purchased items, this is a weighted average of the actual procurement cost of an item. In an
average cost environment, all items in inventory are valued at their procurement cost, i.e. PO
cost. This valuation methodology results in a unit cost for each item, which is a weighted
average of the purchase order unit costs for all quantity on hand. Average cost variances are
generated if you issue additional material even though the inventory balances for that material is
negative. Inventory balances can be driven negative if the Allow Negative Balances parameter is
set in the Organization Parameters window in Oracle Inventory. If negative quantities are
allowed, when a receipt (or transfer in) transaction occurs for an item with negative on–hand
inventory, the transaction is valued at the current average unit cost or at the normal transaction
cost.
This behavior of Average Costing method has been explained by carrying out miscellaneous
transactions of a buy item. 7 scenarios have been covered using various possible combinations
of onhand quantity, transaction quantity, average cost and transaction cost.
SCOPE
======
This paper has been authored keeping in view an audience familiar with Oracle Cost
Management in general and Average Costing method in particular.
An attempt has been made to explain the functionality of Cost Variance in Average Costing
method when the onhand quantity of an item is driven negative along with the inventory valuation
of the item. Later the onhand quantity of the same item is driven positive and the functionality
explained. The functionality of Average Cost Variance has been explained in detail based on
these scenarios.
For the transactions listed below, the transaction unit cost may be different from the current unit
cost for an item. After the transaction has been processed, the item’s unit cost will be
automatically recalculated. As a result, at any point in time, inventory value will reflect a current,
up-to-date unit cost.
• PO delivery to subinventory
• Return to vendor
• Transfer between organizations where the receiving
organization uses average costing
• Miscellaneous and account receipts
• Miscellaneous and account issues
• Average cost update
• Assembly completion
2
When a material transaction is performed under the current transaction processing engine, the
Average Cost Processor recomputes the average cost. The distribution of the transactions is
performed in a separate stage and is performed by the Distribution processor. To achieve this
end the Distribution Processor uses the costs stored in the Material Transaction table, computed
by the Average Cost processor. The Average Cost Processor recomputes the average cost
based on several considerations. A discussion of the same follows. Once these costs are
available, the Distribution processor generates debits and credits for appropriate accounts. The
transaction cost (TC) can be provided by the user for some material transactions. If the
transaction cost is not provided by the user then the Current Average Cost (CAC) is used as the
transaction cost instead. The User can provide the transaction cost for all transactions, that can
be performed through the Miscellaneous Transactions Form. This includes Miscellaneous
Issues/Receipts, Account Issues/Receipts and Account alias Issues/Receipts.
The above behavior has been captured in the form of 7 scenarios and is presented in a
sequential format. Before we take off with the scenarios, let us run through some important
terminology, which has been used in this document to explain the behavior of Average Costing
method.
These are as follows:
3
cost for the aforementioned receipt transaction. The variance account also comes into the picture
during an issue transaction when the Inventory Onhand Quantity is positive and Inventory Value
is zero. In this case, the average cost variance account gets credited for the entire amount
issued.
The behavior under Average Costing is presented with the help of miscellaneous transactions
carried out for a buy item, ITEM.
To start with, ITEM does not have any defined cost or unhand in the organization.
Now, let us understand the way in which costs are computed by the system.
Scenario 1:
Let us create an unhand of 10 quantities and a unit cost of 30 for ITEM in the inventory
organization by carrying out a miscellaneous receipt transaction for 10 quantities at a unit cost of
30.
Please note that, in this case the entire unit cost of the purchased item is represented by the cost
of Material sub-element only.
4
Scenario 2:
Now let us issue a quantity of 5 at a unit cost of 40 by carrying out a miscellaneous issue
transaction.
There are 2 sub cases satisfying these criteria. Let us deal with the first sub-case in this scenario,
where ABS (TQ*TC)<ABS (COQ*CAC) i.e. 200 < 300.
The Item Cost History form displays all the transactions carried out for ITEM in descending
chronological order.
The last line in the above screenshot displays the first transaction wherein 10 quantities were
received at a unit cost of 30. The first line represents the next transaction where in 5 quantities
5
were issued at a unit cost of 40 leading to a new / current onhand of 5 and a new / current
average cost of 20.
Hence, at the end of this scenario, NOQ and NAC are represented as follows:
NOQ NAC
5 20
Table 3
Scenario 3:
This scenario represents a sub case of the criteria discussed above.
COQ>0; TQ<0; NOQ>0; where
COQ CAC TQ TC NOQ
5 20 -3 50 2
Table 4
In this scenario, the inventory value is being driven negative as we are issuing quantities worth
150(3*50) from an inventory whose value for this item is 100(5*20).
TQ<0 could potentially result in a situation of a negative resultant NAC if
ABS (TQ*TC) > ABS (COQ*CAC) i.e. 150 > 100
If resultant NAC<0 then it is set to ‘0’ since negative costs cannot exist in the system.
So when crediting inventory we have to ensure that there is no value left in Inventory.
To ensure this: Dr = ABS (TQ*TC) = 150
Cr = (COQ*CAC) = 100
ACV = Abs (Cr) – Dr = -50
6
Fig.8 Navigation for defining Cost Variance Account
So, one more line is added to the item Cost History representing an issue of 3 numbers at a unit
cost of 50 and a new cost of zero for the current onhand quantity of 2.
As discussed above, the unit cost of the item is shown as zero in the item costs form too.
NOQ NAC
2 0
Table 5
Scenario 4:
In this scenario, we would discuss the impact on the unit cost when we drive the onhand
negative.
Please note that this scenario differs form the previous one where the inventory value was driven
negative though the onhand remained positive.
This is an extension of the previous case. Since quantity is being driven negative, when the
quantity is zero, we have to ensure that the value in inventory is also zero.
7
Hence Dr = abs (TQ*TC) = 80
Cr = [(COQ*CAC)+abs (NOQ*TC)] = [(COQ*CAC)+abs (NOQ*NAC)] = 40
ACV = Abs (Cr) – Dr = -40
In this case, NAC = TC; This transaction is represented in the Item Cost History by changing the
new cost to 20, which is same as the transaction cost.
However, the same cost of 20 is not displayed in the Item Cost form as it picks up the cost from
CST_ITEM_COSTS table where the item_cost column would still show as ‘0’.
NOQ NAC
-2 20
Table 7
8
Scenario 5:
In this scenario we would drive the onhand and thereby the inventory value more negative by
issuing 2 numbers of ITEM at a unit cost of 30.
Hence COQ<0; TQ<0; NOQ<0 where
COQ CAC TQ TC NOQ
-2 20 -2 30 -4
Table 8
9
NOQ NAC
-4 25
Table 9
Scenario 6:
Now, we will receive quantities in such a way that the onhand of ITEM increases but still remains
negative. This scenario can be represented as follows:
COQ<0; TQ>0; NOQ<0 where
Dr = TQ*CAC = 25
Cr = TQ*TC = 40
ACV = Abs (Cr) – Dr = 15
10
The Item Costs form still displays a unit cost of ‘0’.
NOQ NAC
-3 25
Table 11
Scenario 7:
In this last scenario, we will drive the onhand quantity upward so that it results in a positive value
by receiving a quantity of 5 at a unit cost of 30 as represented by
COQ<0; TQ>0; NOQ>=0 where
COQ CAC TQ TC NOQ
-3 25 5 30 2
Table 12
This is an extension of the previous case and a mirror image of Case3. The following accounting
entries are arrived at.
Dr = ABS (COQ*CAC)+(NOQ*TC) = 135
Cr = TQ*TC = 150
ACV = Abs (Cr) – Dr = 15
These accounting entries are represented as follows:
11
Here NAC = TC.
The first line of the Item Costs History form displays the new cost as 30 for a quantity of 2.
Now, the Item Costs form displays the new cost of 30 and not the earlier cost of ‘0’.
Hence it can be concluded that the Item Costs form displays the current average cost of an item
when the current onhand of the item is positive. In order to know the average cost of an item
when the onhand is driven negative, we would need to refer to the Item Cost History form.
This NAC can be retrieved from the CST_ITEM_COSTS table using the following SQL query:
12
The output of the above query is:
As unit cost of ITEM is entirely represented by the Material sub-element, cost under Material
(MAT) column is shown as 30, which is picked up by the Item Costs form.
Let us now look at the way in which 2 important tables get updated and thereby store the related
information of the above transactions.
MTL_MATERIAL_TRANSACTIONS
13
A transaction_source_type_id of 13 represents inventory transactions.
Transaction_type_ids of 42 and 32 represent miscellaneous receipt and miscellaneous issue
transactions respectively.
Similarly, transaction_action_ids of 27 and 1 represent actions of ‘Receipt into Stores’ and ‘Issue
from Stores respectively.
MTL_CST_ACTUAL_COST_DETAILS
This table stores actual cost, prior cost and new cost information for a transaction.
This information obtained from the table is a subset of the information got from
mtl_material_transactions table.
This is another way of retrieving similar information from the table level.
The SQL query used to get the information is as follows:
These column names carry the same meaning as the corresponding ones in the
mtl_material_transactions table.
14
This concludes the discussion on the seven scenarios. Points that can be drawn in summary
from the above:
• If the TQ > 0 then the Cr = TQ*TC always; The debit varies depending on the relative
values/sign of COQ and NOQ.
• If the TQ < 0 then the Dr = TQ*TC always; The credit varies depending on the relative
values/sign of COQ and NOQ.
• The variance generated is always posted to the Average Cost Variance account for the
organization.
ACKNOWLEDGEMENT
===================
White Paper: Average Costing – Unit Cost Calculation Logic for Buy Items
January 2004
Author: Dhannawada Sreenivasa Rao
Contributing Authors: N/A
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
www.oracle.com
15
16