Calculating COGS in NAV

Generally COGS (Cost of Goods Sold) is an unknown parameter that must be recorded and calculated. We have (or we can have) exactly information about Beginning Inventory and Net Purchases, but COGS depends of Costing Method:

cogs.jpg

This is because it is connected with fluctuations over time in the unit acquisition costs of inventory items. COGS will be an unknown value until we choose costing method for each item.

The choice of a costing method has two consequences. It determines which purchase entries and sales entries will be applied to each other when you post a document. This is the application method part of the costing method and I’ve already wrote about it. It also influences the unit cost calculation, which is itself used for posting to the general ledger. This is the cost flow assumption part of the costing method. I’ve already wrote basically about costing methods in Microsoft Dynamics NAV.

And do not forget, regardless of what costing type you use, all of them have minimum one common thing. When the quantity on inventory is zero, the inventory value must also be zero.

Now I want to give you some examples how system uses different costing methods.

1-FIFO.jpg

When we use FIFO method, system will post quantity decreasing every time based on the first input. If we use LIFO method, situation is totally opposite; quantity decreasing is based on the last input.

1-LIFO.jpg

When we use average costing method, posting of quantity decreasing however, determined by calculating a weighted average of the remaining inventory at the valuation date of the inventory decrease.

1-Average.jpg

In situation when we use standard costing method, system doesn’t use purchase cost from posted invoices. System will use Standard Cost for all inventory postings (increase and decrease).

1-Standard.jpg

And at the end, when we use specific costing method, system is not based on some time order. If we use this costing method, it means we have assumption that individual units of items can be physically identified, typically with serial and/or lot numbers. Every time when we want to post inventory decreasing, we have to choose what exactly inventory unit we want to consume/sale.

1-Specific.jpg

 

Advertisement

Introduction in Dynamics NAV Costing

In almost all NAV implementations, we need to configure and use costing (inventory, manufacturing, jobs…). This is one of the main functionalities in all ERP solutions as well as in NAV. Because of that I will prepare the series of costing articles with an overview of the principles used within the costing area.

In this first part, I will make a small introduction about costing methods. Microsoft Dynamics NAV supports the five following costing methods:

  • FIFO
  • LIFO
  • Average
  • Specific
  • Standard

Now, in the following part I will just describe these costing types.

InvCost.jpg

FIFO

The FIFO costing method means “First In First Out”. It first assigns the value of the increases with the earliest posting dates on inventory. COGS is calculated using the value of the first inventory acquisitions.

An item’s unit cost is the actual value of any receipt of the item, selected by this explained FIFO rule. In inventory valuation, it is assumed that the first items placed in inventory are sold first.

LIFO

The LIFO costing method means “Last In First Out”. It first assigns the value of the increases with the most recent posting dates on inventory. COGS is calculated using the value of the most recent inventory acquisitions.

An item’s unit cost is the actual value of any receipt of the item, selected by previous explained LIFO rule. In inventory valuation, it is assumed that the last items placed in inventory are sold first.

Average

The Average costing method calculates a weighted average of the remaining inventory on the last date of the average cost period in which the inventory decrease was posted. COGS is calculated using the average value of the inventory acquisitions.

An item’s unit cost is calculated as the average unit cost at each point in time after a purchase. For inventory valuation, it is assumes that all inventories are sold simultaneously.

Specific

The Specific costing method overrides assumption about how cost flows from inventory increase to inventory decrease with the accurate cost information, creating a fixed application between these entries.

An item’s unit cost is the exact cost at which the particular unit was received.

Standard

The Standard costing method works with predetermined costs (rather than actual cost) for all inventory increases and it affects the value of the inventory decreases.

An item’s unit cost is preset based on estimated. When the actual cost is realized later, the standard cost must be adjusted to the actual cost through variance values.

Conclusion

This was only small introduction about costing types as preparation for the more advance knowledge about using costing in Microsoft Dynamics NAV. In the following articles, I’ll describe more about facts when users need to use these costing methods as best practices. I’ll write about all details in posting results and posting rules as well.

Posting Groups #8 – Revaluation Posting

In my last post, I have touched Revaluation process, but only for Standard cost changing. We can use Revaluation for other cases, as well.

If we change cost only for items on stock, it will be the same situation as on previous example. But, if we want to change cost for already sold or consumed stock, it will be with some differences. First, when we change the cost, we will get the same entries, as I already show in previous post. But, when we run Adjust Cost – Item Entries batch job, we will get the new G/L entries.

I made three scenarios:

In the first scenario, I have raw material with FIFO cost type. I consume this raw material on production order to produce finish goods, configured as also FIFO cost type. In this case, result of posting in G/L entry will be as following:

RevPOfifo

In the second scenario, everything was the same, but only finish goods was configured as Standard cost type. In this case, result of posting in G/L entry will be a bit different, as following example:

RevPOstd

And, in the third scenario, I change the cost on already sold items. In this scenario, G/L entries will be as following:

RevSO