Inventory Costing Method for Cost Basis (FIFO vs Average)

Derek Torres
Derek Torres
  • Updated

Important Note: PartsLedger is now PartsManager. PartsManager retains all of the parts purchasing and warehouse management automation benefits of its predecessor. To read more about this exciting change, click here.


Inventory Costing Method is a System Setting in PartsManager, formerly known as PartsLedger,  used for calculating inventory cost basis. Your account admin must select an option for inventory costing method before any stock adjustments are created in your account.
Once you have selected your costing method, and have created stock adjustments in your account, you can no longer change this system setting.

There are two options for costing methodology:

  • First in First Out (FIFO) *recommended
  • Average by Warehouse (AVG)


First in First Out (FIFO)

First in First Out (FIFO) is the default (and recommended) setting for Inventory Costing Method.

First in First Out (FIFO) is an inventory costing methodology where the oldest inventory items (based on purchase date) are expensed first.

The costs of parts sold are based on the costs of the oldest inventory items. The oldest inventory items are assumed to be sold first.

For exampleif a warehouse has inventory items purchased on three different dates at different costs, and makes a sale, the cost of goods sold will be based on the cost of the oldest items in inventory. The remaining inventory will be valued based on the costs of the more recently purchased items.

Why do we recommend FIFO over AVG?

If you have your Inventory Costing Method for Cost Basis set to FIFO, on the Stock Adjustment Page, you can hover over the ℹ️ next to the cost basis value to audit the cost layers when fulfilling from a warehouse.

The ℹ️ will only be present when the stock adjustment is a negative value. Cost layers will only be present when parts are fulfilled directly from a warehouse onto a ServiceTrade Job (Sales Order), negative stock adjustments have been created, or when transferring stock out of a warehouse.

Note: If the parts were fulfilled via a Purchase Order with Direct Purchase for Sales Order the ℹ️ will read "no cost layers." This is because the cost of the part on PO is where the cost basis value originated.

This is a powerful tool that allows you to audit all the way back to the specific Purchase Order receipt or adjustment if there's incorrect data in the account. This allows you to identify how the mistake was made.



Average by Warehouse (AVG)

Screenshot 2024-03-01 at 3.38.13 PM.png

Average by Warehouse (AVG) is an Inventory costing methodology alternative to First In First Out (FIFO), and this decision should be made prior to adding any activity into the system.

Average Cost Basis is calculated by taking the total cost of each Item you own and dividing by the total number of Quantity, and this calculation is done per Item per Warehouse. The calculation for the value is updated sequentially with any activity (see below) that would impact the calculation.


avgCost = ((prevCost * prevQty) + (newCost * newQty)) / (prevQty + newQty)

Transaction Types that impact Average Cost Calculation

At a high level, these are the positive adjustment transaction types that would affect the avg cost value:

  • positive adjustment
  • receive with no SOLineItemId
  • unfulfill with no POLineItemId
  • voidconsume
  • positive transfer

Transactions that use the Average Cost Basis

And here are the negative adjustment transactions that would use the calculated average cost:

  • consume
  • return with no SOLineItemId
  • fulfill no POLineItem
  • negative transfer
  • negative production
  • negative adjustment

Why we do not recommend Average by Warehouse (AVG)?

With Average by Warehouse (AVG), it is impossible to manually verify that the math is correct based on what is visible in PartsManager. This can make auditing mistakes made on Purchase Orders difficult or impossible. See "why we recommend FIFO over AVG?"

Was this article helpful?




Please sign in to leave a comment.