User Manual- Costing

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  

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  

  • If there is movement of the quantity then system updates the Current quantity but Actual quantity remains the same.  

Like, there is 5 quantity in first row, user moves the 4 quantity then system should update 1 in the current quantity field and Actual Quantity remains the same as 5

But in case of FIFO and LIFO, below are the calculation methods with respect to different windows.  

For Material Receipt  

  • When user enters three lines for the same product from MR then system will create three lines on the Cost Queue tab and it also creates the child record on the Cost Queue Transaction tab.  

Like, user enters one line with 100 quantity, second line with 90 quantity and third line with 80 quantity for the same product.  

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

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

Cost Queue Tab:  

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

100  

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  

80  

15  

80  

  

Cost Queue Transaction Tab: System will create six child records on this tab.  

 

For FIFO  

Sr. No.  

MR  

Product  

Movement Qty  

1  

101  

Product A  

100  

  

For FIFO  

Sr. No.  

MR  

Product  

Movement Qty  

1  

102  

Product A  

90  

  

For FIFO  

 

Sr. No.  

MR  

Product  

Movement Qty  

1  

103  

Product A  

80  

  

For LIFO  

 

Sr. No.  

MR  

Product  

Movement Qty  

1  

101  

Product A  

100  

  

For LIFO  

 

Sr. No.  

MR  

Product  

Movement Qty  

1  

102  

Product A  

90  

  

For LIFO  

 

Sr. No.  

MR  

Product  

Movement Qty  

1  

103  

Product A  

80  

For Shipment  

  • If user do the shipment of the product of 120 quantity for the same product then system updates the quantity as per FIFO/LIFO and creates the child record on cost queue transaction tab.  

  

For FIFO: When user shipped the same product with a quantity of 120 then system first picks the 100 quantity from the first line and 30 quantity from the second line in case of FIFO  

System creates new child records against line of 100 quantity and line of 90 quantity  

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

  

For LIFO: When user shipped the same product with a quantity of 120 then system first picks the 100 quantity from the last line and 30 quantity from the second last line in case of FIFO.  

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

  

  

Cost Queue Tab:  

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

0  

10  

100  

2  

Product A  

FIFO  

70  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

10  

100  

5  

Product A  

LIFO  

50  

12  

90  

6  

Product A  

LIFO  

0  

15  

80  

   

Cost Queue Transaction tab: System creates new child records for 1st line, 2nd line, 5th line and 6th line.  

For FIFO: Against 1st line of 100 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

Product  

Movement Qty  

1  

501  

Y  

Product A  

-100  

  

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

Product  

Movement Qty  

1  

501  

Y  

Product A  

-20  

  

For LIFO: Against last line of 80 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

Product  

Movement Qty  

1  

501  

Y  

Product A  

-80  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

Product  

Movement Qty  

1  

501  

Y  

Product A  

-40  

For Customer Return  

  • If user do the customer return of 20 quantity for the same product then updates the quantity as per FIFO/LIFO and creates the child record on cost queue transaction tab.  

  

For FIFO: When user returns the product with a quantity of 20 for the same product then system checks the Shipment reference of Customer Return then increases the 20 quantity in the respective line.  

Suppose, customer return is against Shipment=502, then system increases 20 quantity in 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 returns the product with a quantity of 20 for the same product then system checks the Shipment reference of Customer Return then increases the 20 quantity in the respective line.  

Suppose, customer return is against Shipment=502, then system increases 20 quantity in the 2nd 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 tab:  

 

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 tab: System creates the child on this tab as per quantity and cost element.  

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

IsReturnTrx  

Product  

Movement Qty  

1  

1101  

Y  

Y  

Product A  

20  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

IsReturnTrx  

Product  

Movement Qty  

1  

1101  

Y  

Y  

Product A  

20  

 For Vendor Return  

  • If user do the vendor return of 40 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.  

  

For FIFO: When user returns the product with a quantity of 40 for the same product then system checks the MR reference of vendor return then reduces the 40 quantity from the respective line.  

Suppose, vendor Return is against MR=102, then system reduces the 40 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 returns the product with a quantity of 40 then system checks the MR reference of vendor return then reduces the 40 quantity from the respective line.  

Suppose, vendor Return is against MR=102, then system reduces the 40 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  

  

Cost Queue tab:  

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

0  

0  

100  

2  

Product A  

FIFO  

50  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

10  

100  

5  

Product A  

LIFO  

30  

12  

90  

6  

Product A  

LIFO  

0  

0  

80  

   

Cost Queue Transaction:   

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

IsReturnTrx  

Product  

Movement Qty  

1  

2101  

N  

Y  

Product A  

-40  

  

 For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Shipment  

IsSoTrx  

IsReturnTrx  

Product  

Movement Qty  

1  

2101  

N  

Y  

Product A  

-40  

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  

For 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  

 

For Production  

  • If the user use 30 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.  

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

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 30 quantity of the product from the warehouse then system reduces the 30 quantity from the second 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  

10  

100  

2  

Product A  

FIFO  

60  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

15  

100  

5  

Product A  

LIFO  

40  

12  

90  

6  

Product A  

LIFO  

0  

0  

80  

  

Cost Queue Transaction:  

For FIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Production Line  

Product  

Movement Qty  

1  

50001  

Product A  

30  

  

For LIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Production Line  

Product  

Movement Qty  

1  

50001  

Product A  

30  

   

For Asset Disposal  

  • If the user use 10 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.  

  

For FIFO: When user reduces the 10 quantity of the product from the warehouse then system reduces the 10 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 10 quantity of the product from the warehouse then system reduces the 10 quantity from the 2nd 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  

60  

12  

90  

3  

Product A  

FIFO  

80  

15  

80  

4  

Product A  

LIFO  

100  

10  

100  

5  

Product A  

LIFO  

10  

12  

90  

6  

Product A  

LIFO  

0  

0  

80  

  

Cost Queue Transaction:  

For FIFO: Against 2nd line of 90 quantity  

 

Sr. No.  

Asset Disposal  

Product  

Movement Qty  

1  

100001  

Product A  

10  

  

For FIFO: Against 2nd last line of 90 quantity  

 

Sr. No.  

Asset Disposal  

Product  

Movement Qty  

1  

100001  

Product A  

10  

  

Production Order Execution  

In this window, system should calculate the costing on the basis of transaction type.  

  1. To link the Component Return transaction with the Component Issue transaction. Find below the following points which needs to be executed:  

  2. Create a new field called 'Original Component Issue Transaction'. Mark this field as Mandatory UI. (Header as well on Line)  

  3. Place a display logic when the user selects the Component Return type as Transaction Type then system will display the 'Original Component Issue Transaction' fields.  

  4. Dynamic validation required - Only the selected Production Order component issue transaction will come in the drop down.  

  5. A callout is required - When the user selects the Original Component Issue Transaction then the system will pull the Quantities accordingly i.e. assume if the Component issue transaction has 10 Quantity and the user already returns the 4 quantities and again tries to return the quantities then by default the system will pull the 6 quantity.  

  6. When we create line, need to copy original line reference to be copied here   

Cost Queue: User has the following quantity of the product on Cost Queue tab.  

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

100  

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  

80  

15  

80  

  

Transaction type= Component issues to Work order  

  

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

  

For FIFO: When user reduces the quantity of the product and update it with a quantity of 60 then system reduces the 60 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 quantity of the product and update it with a quantity of 60 then system reduces the 60 quantity from the last line   

System creates new child record against line of 80 quantity  

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

  

Cost Queue: After using quantity in Production execution, system will update below quantities on Cost Queue tab.  

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Product A  

FIFO  

40  

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  

20  

15  

80  

  

Cost Queue Transaction:  

For FIFO: Against 1st line of 100 quantity  

 

Sr. No.  

Work Order Txn Line  

Product  

Movement Qty  

1  

20001  

Product A  

60  

  

For LIFO: Against last line of 80 quantity  

 

Sr. No.  

Work Order Txn Line  

Product  

Movement Qty  

1  

20001  

Product A  

60  

  

Transaction type= Transfer Assembly to Store  

 

System will work same like Material Receipt.  

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

  

For FIFO: When user increases the quantity of the product and update it with a quantity of 60 then system create a record on Cost Queue tab with a quantity of 60.  

System creates new child record against line of 60 quantity  

  • In this case, system will update 10 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 60 then system create a record on Cost Queue tab with a quantity of 60.  

System creates new child record against line of 60 quantity  

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

  

Cost Queue: After using quantity in Production execution, system will update below quantities on Cost Queue tab.  

 

Sr. No.  

Product  

Cost Element  

Current Qty  

Current Cost  

Actual Qty  

1  

Finished Good  

FIFO  

60  

10  

60  

2  

Finished Good  

LIFO  

60  

15  

60  

  

Cost Queue Transaction:  

 

For FIFO: Against 1st line of 100 quantity  

 

Sr. No.  

Work Order Txn Line  

Product  

Movement Qty  

1  

20001  

Product A  

60  

  

For LIFO: Against last line of 80 quantity  

 

Sr. No.  

Work Order Txn Line  

Product  

Movement Qty  

1  

20001  

Product A  

60  

  

Enhancement 1.2 

  1. In this enhancement, Vienna introduces cost adjustment in reference to decrease the cost of material via AP Credit Memo whereas marked as “Treat as Discount” to adjust the cost for those costing level where warehouse is involved such as “Warehouse” and “Warehouse and Batch”. Earlier it was handled for other costing levels. 

  2. Vienna bring the reference of warehouse with name of 'Cost Adjustment Warehouse' on AP Invoice header and AP Invoice line, so that user can select the respective warehouse while recording such transactions. 

  3. This field will only display on AP Invoice Screen in case the selected document type on the record is marked as “Treat as Discount”. 

  4. Preference will be given to the warehouse selected on the Line. If there is null value on line then system will pick warehouse from the Invoice header. 

  5.  On Completion of Invoice record, cost adjustment effects will be updated only on the selected warehouse or selected warehouse + batch.