Perpetual Inventory

Introduction

Wavelet Management Suite uses Perpetual Inventory, where Inventory value and cost of goods sold are continuously updated whenever items defined as inventory items are received or released from stock.

Inventory Items

The below item types are identified as inventory items :

  • Inventory
  • Non-inventory
  • Batch and Expiry
  • Coupon
  • Decimal Item

Valuation Method

Wavelet Management Suite uses Moving Average (MA) to calculate the average cost of an item.

Moving Average formula : 

( ( Current Moving Average Cost * Current Balance Quantity ) + ( New Transaction Price * New Transaction Quantity ) ) / ( Current Balance Quantity + New Transaction Quantity )

Moving Average Cost is calculated by company. Thus, the Moving Average Cost for an item will be the same across the entire company.

Transactions that will cause recalculation of Moving Average Cost :

  • Goods Received Note (GRN)
  • Purchase Return (PR)
  • Stock Adjustment (ADJ)
  • Trade In
  • Sales Return (SR) : if it's configured to use Invoice MA Cost 
  • Supplier Consignment In (SCI)
  • Supplier Consignment Out (SCO)

Transactions that consume the Moving Average Cost :

  • Invoice (INV)
  • Sales Return (SR) : if it's configured to use Current MA Cost

Sample Moving Average Cost calculation for Item1 in CompanyA :

Creation DateTransactionQtyPurchase/Adjustment Price/UnitUnit CostBalance QtyBalance AmtMA Cost
2015-10-01GRN100110100.00NA101,000.00100.00
2015-10-12INV20016NA100.004400.00100.00
2015-10-12GRN10022090.00NA242,200.0091.67
2015-10-23INV20021NA91.67232,108.3391.67
2015-10-28SR3001 (for INV2001)1NA91.67242,200.0091.67
2015-10-28PR4001 (for GRN1001)1100.00NA232,100.0091.30
2015-10-31ADJ5001+291.30NA252,282.6091.30
2015-11-01ADJ5002-191.30NA242,191.2091.30
2015-11-01Reset MANANANA242,136.0089.00

Reset Moving Average Cost (Reset MA)

User is able to increase / decrease the Moving Average Cost through Reset MA function.

Journal Entries

GRN (example shown is based on GRN1001 above + 6% GST)

Posting SectionGL CodeDebitCredit
Current Assetinventory1,000.00 
Current LiabilityaccPayable 1,060.00
Current Assetgst_Input60.00 

 

PR (example shown is based on PR4001 above + 6% GST)

Posting SectionGL CodeDebitCredit
Current Assetinventory 100.00
Current LiabilityaccPayable106.00 
Current Assetgst_Input 6.00


INV (example shown is based on INV2001 above + 6% GST)

Posting SectionGL CodeDebitCredit
Current AssetaccReceivable826.80 
Sales RevenuegeneralSales 780.00
Current Liabilitygst_Output 46.80
Cost of Goods SoldinventoryCost600.00 
Current Assetinventory 600.00

 

SR (example shown is based on SR3001 above + 6% GST)  

Posting SectionGL CodeDebitCredit
Current AssetaccReceivable 137.80 
Sales RevenuegeneralSalesReturn130.00 
Current Liabilitygst_Output7.80  
Cost of Goods SoldinventoryCost 91.67
Current Assetinventory91.67  

 

ADJ (example shown is based on ADJ5001)

Posting SectionGL CodeDebitCredit
Current Assetinventory182.60 
Cost of Goods SoldinventoryVariance 182.60

 

ADJ (example shown is based on ADJ5002) 

Posting SectionGL CodeDebitCredit
Current Assetinventory 91.30 
Cost of Goods SoldinventoryVariance91.30  

 

Reset MA (example shown is based on Reset MA above) 

Posting SectionGL CodeDebitCredit
Current Assetinventory 55.2 0
Cost of Goods SoldinventoryVariance55.20  


Back-dated Transactions

MA is always current.

If you were to create a back-dated GRN / PR, the MA will be recalculated based on current balance quantity and current MA and it will affect only the future transactions.

Similarly, if you were to create a back-dated INV / SR, the cost captured will be current MA, not the MA back in time.


Scenario 1 : back-dated Purchase Return

Txn DateCreation DateTxnQtyU.PriceU.CostBalance QtyBalance ValueMAGP
2015-03-012015-03-01GRN100120030.00 2006,000.0030.00 
2015-06-012015-06-01GRN1002200100.00 40026,000.0065.00 
2015-03-012015-07-01PR1001 (for GRN1001)20030.00 20020,000.00100.00 
2015-08-012015-08-01INV1001200110.00100.0000.000.002,000.00

As you can see, the MA shot up to $100 after PR1001. This is an expected behavior because as mentioned MA is always recalculated based on current balance quantity and current MA. In this case, the current balance quantity was 200 and current ma was $65. 

Is the cost for INV1001 wrong then? Answer is NO.

If we were to redo the above transactions all over again, where the creation date and transaction date are the same, as shown below, you will notice that the Cost and GP will be the same.

Txn DateCreation DateTxnQtyU.PriceU.CostBalance QtyBalance ValueMAGP
2015-03-012015-03-01GRN100120030.00 2006,000.0030.00 
2015-03-012015-03-01PR1001 (for GRN1001)20030.00 00.000.00 
2015-06-012015-06-01GRN1002200100.00 20020,000.00100.00 
2015-08-012015-08-01INV1001200110.00100.00
-200-20,000.000.002,000.00

 

 


 


 

 

 

 


Private & Confidential