Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Costing Level 

 Vienna Advantage contains the following Costing Levels and based on Costing level setting, system will calculate the costing: 

  1. Org + Batch 

When user selects this level on Product Category/Accounting Schema then system create record on "Product Costs" in transaction organization. Also attribute set instance id will set as per the transaction. If record is already present, system will update the same.  

 

  1. Lot/Batch 

When there is 'Lot/Batch' costing level attached with Product Category/Accounting Schema and attribute is bind on the product. If transaction is completed with any of the attribute set instance then system creates ''Product Costs'' record in * organization and set attribute set instance id as per transaction. If record is already present, system will update the same. 

 

  1. Client/Tenant 

If Product Category/Accounting Schema has costing value 'Tenant/Client' then system creates the "Product Costs" record in transaction tenant with * organization. If record is already present, system will update the same. 

 

  1. Warehouse + Batch 

When user selects this level on Product Category/Accounting Schema then system creates "Product Costs" with combination of transaction warehouse and attribute instance of product on the transaction window. System will create Product costs record in Transaction organization. If record is already present, system will update the same. 

 

  1. Organization 

When Product Category/Accounting Schema has costing value 'Organization' then system creates the "Product Costs" record in transaction Organization. If record is already present, system will update the same. 

 

  1. Warehouse 

If Product Category/Accounting Schema has costing value 'Warehouse' then system creates the "Product Costs" for particular warehouse, in which transaction is completed. System will create Product costs record in Transaction organization. If record is already present, system will update the same. 

 Costing Elements 

 In Vienna System there are 9 basic predefined costing elements and 10th costing element can be created by user as per requirement. 

  1. Last PO 

  2. Average PO 

  3. Last Invoice 

  4. Average Invoice 

  5. LIFO 

  6. FIFO 

  7. Standard Costing 

  8. Weighted Average Invoice 

  9. Weighted Average PO 

  10. Cost Combination 

 Setting 

  1. If user wants to calculate the costing on document completion. User needs to set “Cost Immediately” and "Cost Mandatory on Completion" Checkbox True on “Tenant” window. 

  2. When 'Cost Mandatory on Completion' checkbox is true then system will not complete the transaction until system doesn't calculate the cost. 

  1. User can define costing method and costing level either on “Product category” or on “Accounting Schema” Window. System always gives preference to Product Category. If costing method and costing level is not defined on product category then only system will check “Accounting Schema”. 

  1. For few products those do not deliver as per the order qty like Petrol, Water etc. We have taken a checkbox on Product window with name “Cost Adjustment of Normal Loss”. 

 For Example: Product Name Crude Oil - purchase order created for 100LT. However, in transit 2LT got evaporate. In this case Customer only got 98 LT (Material Receipt will be created for 98LT), However he need to pay for 100LT. When above mentioned checkbox is true (We have distribute the cost of 100LT into 98LT).

  1. There is a 'Treat as Discount' checkbox on Document type window, which is only visible when DocBaseType= APC. This checkbox helps the user to consider AP Credit Memo Invoice as discount invoice while calculating product costing. Also the system will not allow to create return to vendor invoice against APC invoice where we mark Treat as Discount as True on selected Document type . 

 

For Example: Product has current cost = 30, Current quantity = 50, Accumulated amount = 1500 & Accumulated quantity = 50 

User make AP Credit Memo with quantity = 40 & price = 15 then system will directly subtracts 600 from the accumulated amount and it automatically affects the current cost of the product. 

current cost = 18, Current quantity = 50, Accumulated amount = 900 & Accumulated quantity = 50 

Logic for costing elements 

 Accumulated Amount:  

The total value which is invested to buy the items up to till date. This amount will not reduce (Only reduce at the time of Material Return or Reverse) 

 

Accumulated Qty: 

The total quantity of product which bought till date. This qty will not reduce (Only reduce at the time of Material Return or Reverse) 

 

Current Cost: 

Current Cost is calculated for one unit of product as per base UOM defined on the product header. This amount will not reduce (Only reduce when material goes out from the warehouse or reverse transaction.). This cost is used for further calculations. 

 

Current Qty: 

Current Quantity is defined as available quantity of product. It cannot be negative. 

 

  1. Last PO 

In this case, system will pick up the last unit price of the product which came on the Purchase Order and that automatically becomes the cost of the Product. When Material Receipt created against Purchase order than only last PO will be calculated. 

  

  1. Last Invoice  

In this case, system will pick up the last unit price of the product which came on the Invoice (Vendor) and that automatically becomes the cost of the Product. When Invoice (Vendor) created against Material Receipt than only last Invoice will be calculated. 

  

  1. Standard Costing 

System only calculates once if any product contains the zero cost than unit price of first Invoice /Physical Inventory/ Independent Material Receipt becomes the cost of Standard Costing and thereafter it will never change. 

  

  1. Average PO 

During Completion of Material Receipt which is created with reference of Purchase Order, system needs to calculate the following and same can be seen on “Product Costs” window: 

Accumulated Amount 

Accumulated Qty 

Current Qty 

Current Cost Price 

  

Average PO(Current Cost Price) = Accumulated Amount/Accumulated Qty 

  

  1. Average Invoice 

During Completion of Invoice (Vendor) which is created with reference of Material Receipt, system needs to calculate the following: 

  

Accumulated Amount 

Accumulated Qty 

Current Qty 

Current Cost Price 

  

  1. LIFO 

A product cost is the actual value of any receipt of the item, selected by the LIFO rule. 

At the time of valuation, it is always assumed that the sale made out of those stock which purchased last. 

   

  1. FIFO 

A product cost is the actual value of any receipt of the item, selected by the FIFO rule. 

At the time of valuation, it is always assumed that the sale made out of those stock which purchased first. 

   

  1. Weighted Average Cost (Invoice) 

System will calculate WAC for those invoices, which is created with reference to Material Receipt. 

Weighted average uses the formula: Total invoice cost of items in inventory available for sale divided by total number of units available for sale. 

  

Formula: [(Current Qty * Current Cost Price) + (MR qty * Inv Price)] / (Current Qty + MR Qty) 

  

  1. Weighted Average PO 

System will calculate WAP for those Material Receipts, which is created with reference to Purchase Order. 

Weighted average PO uses the same formula as used for WAC.  

   

  1. Cost Combination 

It is combination of cost element and Landed Costs i.e. Freight charges, Duty paid on receipts etc. Landed costs that are distributed against the Material Receipts from vendor invoice. Below is explained how to create cost combination. 

   

  • Create Cost element for Freight 

  1. Go to “Cost Element” window. 

  2. Add New record, enter the name (Freight) and select “Material” as “Cost  

  3. Keep “Costing Method” field blank. 

   

  • Create Cost element for Cost Combination 

  1. Go to “Cost Element” window. 

  2. Add New record, enter the name (Average Invoice + Freight) and select “Cost Combination” as “Cost Element Type” 

  3. Select “Cost Combination” as “Costing Method” 

  4. Go to “Element Line” Tab 

  5. Add New record and select “Average Invoice” as “Cost Element” 

  6. Again Add New record select  “Freight” as “Cost Element” 

  

Note: Element Line tab do not save multiple record of “Material” type Costing Element.  

  

Formula: Current Cost Price = (Current Cost Price of Weighted Average PO) +  

((Freight Current Cost from record 2 * Freight Current Qty from record 2) / Current Qty of Weighted Average PO) 

Note 

  

  1. If Currency on accounting schema is different than transaction currency. Costing will not calculate if conversion rate not found. 

  2. On tenant window if "Cost Immediately" check box is true. System calculate costing for one element that is bind with Product Category/Accounting Schema rest will be calculated once “Costing Calculation Process” run through scheduler. 

  3. On tenant window if "Cost Immediately" check box is true/false. User can’t change this checkbox setting. If costing for any transaction is not completed 

  4. In case of independent Material Receipt or Physical inventory first time, if it’s first transaction of respective product. System will check the transaction org. and look for a “Purchase Price List” created in same org. If product price found than use this price for costing else, it will check for a “Purchase Price List” at (*) org. if product price found than use this for costing else system will not calculate the product cost. 

  5. Product has two “Purchase Price List” in system. Physical inventory done first time. System will pick the price from pricelist that have least ID. 

  6. If Product price is not defined, systems don’t calculate costing. 

Enhancement 1.1  

  1. In this enhancement, Vienna changes the calculation methods for FIFO and LIFO.  

  2. Introduces new child tab of Cost Queue tab.  

  3. Introduces new field on Cost Queue tab.  

Change 1: Added child tab of cost queue tab on product costs window.  

  • Added new tab with name of 'Cost Queue Transaction'.  

  • Below is the screenshot for respective tab:  

  • When inventory comes in the warehouse, quantity will be in positive.  

  • When inventory goes out from the warehouse, quantity will be in negative.  

  • When there is transaction related to sales side, then system will mark IsSoTrx checkbox true and if there is a return transaction then system will make IsReturnTrx checkbox true.  

  • When there is a transaction from Internal Use Inventory then system will mark 'IsInternalUse' checkbox true.  

Change 2: Product Costs/ Cost Queue tab  

  • Added 'Actual Quantity' field on Cost Queue tab (Description : Actual Quantity of product in respective Transaction.)  

  • Below are the new calculation for the respective windows:  

  • https://docs.google.com/spreadsheets/d/1HUwX_buCCyyDMZC9VyASLO0_yxIZWJpfvkjJVGbSF4A/edit#gid=1018648785&range=A1   

  • Post Current Cost Price remains same for every window – it will be picked from Product costs.  

  • Current cost price should be zero for independent invoice.  

  • Existing flow: System calculates and update the current cost of product on product costs by dividing sum of all Cost Queue (LIFO/FIFO) lines with Sum of all quantity of Cost queue lines  

Current cost of Product= Sum of Current Cost of all the cost queue lines/Sum of Current Quantity of all the cost queue lines  

  • New Flow: System should set current cost on Product Costs tab as per the costing method FIFO/LIFO, Where Current Quantity is not zero on 'Cost Queue' tab.  

As below table shows, three GRNs made and system creates  three lines on cost queue tab  

Sr. No.  

Current Qty  

Current Cost  

Actual Qty  

1  

5  

5.5  

5  

2  

5  

6  

5  

3  

5  

7  

5  

For Physical Inventory  

  • If user do the Physical Inventory of 60 quantity for the same product. In this case, system updates the quantity as per FIFO/LIFO and creates the child record on cost queue transaction tab.  

  

Case 1: If the quantity of the product reduces then below are the calculations:  

For FIFO: When user reduces the quantity of the product and update it with a quantity of 60 then system reduces the 50 quantity from the 2nd line and 10 quantity from the 3rd line.  

System creates new child record against line of 90 quantity and line of 80 quantity  

  • In this case, system will update 15 as a current cost on product cost tab  

  

For LIFO: When user reduces the quantity of the product and update it with a quantity of 60 then system reduces the 50 quantity from the 2nd last line and 10 from the 3rd last line.  

System creates new child record against line of 90 quantity and line of 100 quantity.  

  • In this case, system will update 10 as a current cost on product cost tab  

Cost Queue:   

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

0  

0  

100  

2  

Product A  

FIFO  

0  

0  

90  

3  

Product A  

FIFO  

70  

15  

80  

4  

Product A  

LIFO  

70  

10  

100  

5  

Product A  

LIFO  

0  

0  

90  

6  

Product A  

LIFO  

0  

0  

80  

Cost Queue Transaction:   

 

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9001  

Product A  

-50  

For FIFO: Against 3rd line of 80 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9001  

Product A  

-10  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9001  

Product A  

-30  

For LIFO: Against 3rd last line of 100 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9001  

Product A  

-30  

Case 2: If the quantity of the product increases then below are the calculations:  

 

For FIFO: When user increases the quantity of the product and update it with a quantity of 100 then system increases the 10 quantity in the 3rd line and 90 quantity in the 2nd line. In this case, system checks the difference between current quantity and actual quantity and update the current quantity accordingly.  

  • In this case, system will update 12 as a current cost on product cost tab  

  

For LIFO: When user increases the quantity of the product and update it with a quantity of 100 then system increases the 30 quantity in third last line and 70 quantity 2nd last line. In this case, system checks the difference between current quantity and actual quantity and update the current quantity accordingly.  

  • In this case, system will update 12 as a current cost on product cost tab  

Cost Queue:   

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

0  

0  

100  

2  

Product A  

FIFO  

90  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

10  

100  

5  

Product A  

LIFO  

70  

12  

90  

6  

Product A  

LIFO  

0  

0  

80  

Cost Queue Transaction:   

For FIFO: Against 3rd line of 80 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9002  

Product A  

10  

  

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9002  

Product A  

90  

For LIFO: Against 3rd last line of 100 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9002  

Product A  

30  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Phys Inv  

Product  

Movement Qty  

1  

9002  

Product A  

70  

or Inventory Move  

 

  • If user move the product of 80 quantity for the same product. In this case system updates the quantity as per FIFO/LIFO and creates the child record on cost queue transaction tab.  

  

Case 1: If the quantity of the product moves out from the warehouse, then below are the calculations:  

For FIFO: When user reduces the 80 quantity of the product from the warehouse then system reduces the 80 quantity from the 2nd line  

System creates new child record against line of 90 quantity.  

  • In this case, system will update 12 as a current cost on product cost tab  

  

For LIFO: When user reduces the 80 quantity of the product from the warehouse then system reduces the 70 quantity from the second last line and 10 quantity from 3rd last line.  

System creates new child record against line of 90 quantity.  

  • In this case, system will update 12 as a current cost on product cost tab  

Cost Queue:   

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

0  

0  

100  

2  

Product A  

FIFO  

10  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

90  

10  

100  

5  

Product A  

LIFO  

0  

12  

90  

6  

Product A  

LIFO  

0  

0  

80  

Cost Queue Transaction:  

 

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5001  

Product A  

80  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5001  

Product A  

70  

For LIFO: Against 3rd last line of 100 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5001  

Product A  

10  

  

Case 2: If the quantity of the product moves in the warehouse, then below are the calculations:  

For FIFO: When user increases the 130 quantity of the product in the warehouse then system increases the 80 quantity in the 2nd line and 50 quantity in the 1st line. Because system checks the difference between current quantity and actual quantity and update the lines accordingly.  

System creates new child record against line of 100 quantity and line of 90 quantity.  

  • In this case, system will update 10 as a current cost on product cost tab  

  

For LIFO: When user increases the 130 quantity of the product in the warehouse then system increases the 10 quantity in 3rd last line, 90 quantity in the  2nd last line and 30 quantity in the last line  

System creates new child record against all the lines.  

  • In this case, system will update 15 as a current cost on product cost tab

Cost Queue:   

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

50  

10  

100  

2  

Product A  

FIFO  

90  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

10  

100  

5  

Product A  

LIFO  

90  

12  

90  

6  

Product A  

LIFO  

30  

15  

80  

Cost Queue Transaction:  

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5002  

Product A  

80  

  

For FIFO: Against 1st line of 100 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5002  

Product A  

50  

  

For LIFO: Against 3rd last line of 100 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5002  

Product A  

10  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5002  

Product A  

90  

  

For LIFO: Against last line of 80 quantity  

 

Sr. No.  

Move Line  

Product  

Movement Qty  

1  

5002  

Product A  

30  

For Internal Use Inventory  

  • If the user use 50 quantity of the same product. In this case system updates the quantity as per FIFO/LIFO and creates the child record on cost queue transaction tab.  

  • While updating the record of internal use inventory on cost queue transaction tab, system should mark Internal Use checkbox true.  

  

For FIFO: When user reduces the 50 quantity of the product from the warehouse then system reduces the 50 quantity from the 1st line.  

System creates new child record against line of 100 quantity.  

  • In this case, system will update 10 as a current cost on product cost tab  

  

For LIFO: When user reduces the 50 quantity of the product from the warehouse then system reduces the 30 quantity from the last line and 20 quantity from the second last line.  

System creates new child record against line of 80 Quantity and line of 90 quantity.  

  • In this case, system will update 12 as a current cost on product cost tab  

  

Cost Queue:   

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

0  

10  

100  

2  

Product A  

FIFO  

90  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

10  

100  

5  

Product A  

LIFO  

70  

12  

90  

6  

Product A  

LIFO  

0  

15  

80  

Cost Queue Transaction:  

For FIFO: Against 1st line of 100 quantity  

 

Sr. No.  

Phys Inv Line  

Internal Use  

Product  

Movement Qty  

1  

1901  

True  

Product A  

50  

  

For LIFO: Against 3rd last line of 80 quantity  

 

Sr. No.  

Phys Inv Line  

Internal Use  

Product  

Movement Qty  

1  

1901  

True  

Product A  

30  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Phys Inv Line  

Internal Use  

Product  

Movement Qty  

1  

1901  

True  

Product A  

20  

  • No labels