Costing Methods

Costing Methods affect how the total value of your inventory in your accounting records is calculated over the course of time. DEAR uses actual accounting costing methods. The costing method applied to a product affects the order in which stocks are picked


DEAR allows the following costing methods:

  1. FIFO
  2. FIFO - Serial Number
  3. FIFO - Batch
  4. FEFO - Serial Number
  5. FEFO - Batch
  6. Special - Batch
  7. Special - Serial Number.


Table of Contents


Costing Method is set and changed from the product detail screen (Inventory →  Products →  [selected product]).


NOTE: Changing the Costing Method of a product while there is an uncompleted transaction in process (e.g. adding payment to a PO that was invoiced and received some time ago) is a very common source of errors. To solve this error, the costing method must be changed back to what it was at the start of the transaction. 


NOTE: DEAR does not currently support checking/enforcing uniqueness of serial numbers, and it is possible to enter duplicate serial numbers into the system. Please be aware of this when carrying out inventory operations. This is an active feature request on our forum. You can make and vote for feature requests on our forum; requests are reviewed based on popularity and importance for inclusion in future development releases.


FIFO Methods

[back to top]

  • FIFO

  • FIFO - Serial Number

  • FIFO - Batch


Use the 'First-In First-Out' Inventory Costing Method to determine the value of goods sold where in the first batch of purchased inventory there will be the first ones to be sold. The first goods that were purchased are going to be the first cost that will be associated with the sale. This method normally assumes that the oldest goods are sold first, but the physical movement of goods does not necessarily have to follow this order. FIFO "In" date is measured from the Date Received field of stock received, NOT the date of stock received authorisation. 



Variations FIFO - Serial Number and FIFO - Batch make the Serial number/Batch field mandatory. The serial/batch number must be specified in the Pick stage of the sales process as well as the Stock Received of the purchase process. 


Learn more about FIFO Costing Method.


FEFO Methods

[back to top]

  • FEFO - Serial Number

  • FEFO - Batch


Use the 'First-Expired First-Out' Inventory Costing Method when material requirements are serviced in the order of items with the earlier date of consumption regardless of the date of entry or acquisition.


FEFO is mainly used in the food industry and where it is required to monitor the expiration date or period of durability. If a batch or serial number is not specified, DEAR will automatically generate batch numbers for the product. The serial/batch number must be specified in the Pick stage of the sales process as well as the Stock Received of the purchase process. An expiry date must be specified for products with this costing method. 


Learn more about FEFO Costing Method


Special Methods

[back to top]

  • Special - Batch

  • Special - Serial Number


Special methods require a batch or serial number to identify products and are not affected by when the items were added to your inventory. If a batch or serial number is not specified, DEAR will automatically generate batch numbers for the product. The serial/batch number must be specified in the Pick stage of the sales process as well as the Stock Received of the purchase process. A product can be selected via serial/batch number regardless of when it was purchased or when it expires. 


Batches and Serial Numbers

[back  to top]


Batches: The DEAR Inventory system is capable of tracking goods sold, using an assigned Batch number, once the sold items are invoiced. This will allow the user to trace goods in case a recall occurs or the customer requires any information about the product/batch sold to them. 


Serial Numbers: Adding serial numbers to your product is extremely helpful to your business because:

  • Each product will have its own unique identifier and can be easily verified whenever there is a product return. You can also make sure that the product returned is from your store.
  • It makes handling of warranty and claims simple.
  • Your business’ product reporting will be accurate up to the Serial number level.
  • Search within your Inventory or past Sale and Purchase Orders will be easier and save you time looking for a specific product.


Changing the Costing Method

[back  to top]


Changing the costing method of a product in DEAR depends on these factors:

  • If the product has stock-on-hand
  • The current costing method and the new costing method


If the product has zero stock on hand, the costing method of a product can be changed to any other costing method directly from the product details page. 


If the product has stock on hand, it is possible to change between some costing methods directly from the product details page.  A non-serial costing method cannot be changed to a serial numbered costing method - see below how to do this. 


The following costing method changes can be carried out from the product page:

  • NOTE: Batch #/Expiry date will only be applied to stock that has no previous batch/serial # record. If stock has previously had a batch/serial #, switching to Batch costing method will use the previous batch/serial  #  record. 
Current costing methodNew costing methodAllowed to change from product page?Action
FIFOFIFO - BatchYESEnter batch number (mandatory) and Expiry Date (optional) which will be applied to stock which has not previously had a batch/serial #. 
FIFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
FEFO - BatchYESEnter batch number (mandatory) and Expiry Date (optional) which will be applied to stock which has not previously had a batch/serial #. 
FEFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
Special - BatchYES Enter batch number (mandatory) and Expiry Date (optional) which will be applied to stock which has not previously had a batch/serial #. 
Special - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
FIFO - BatchFIFOYESBatch #/Expiry date will not be applied.
FIFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
FEFO - BatchYESExisting batch numbers and expiry dates are preserved.
FEFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
Special - BatchYES Existing batch numbers and expiry dates are preserved.
Special - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
FIFO - Serial NumberFIFO YESBatch #/Expiry date will not be applied.
FIFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - Serial NumberYESExisting batch/serial numbers and expiry dates are preserved.
Special - BatchYES Existing batch/serial numbers and expiry dates are preserved.
Special - Serial NumberYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - BatchFIFOYESBatch #/Expiry date will not be applied.
FIFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FIFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
FEFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
Special - BatchYES Existing batch/serial numbers and expiry dates are preserved.
Special - Serial NumberNOExisting batch/serial numbers and expiry dates are preserved.
FEFO - Serial NumberFIFO YESBatch #/Expiry date will not be applied.
FIFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FIFO - Serial NumberYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
Special - BatchYES Existing batch/serial numbers and expiry dates are preserved.
Special - Serial NumberYESExisting batch/serial numbers and expiry dates are preserved.
Special - BatchFIFOYESBatch numbers will be discarded.
FIFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FIFO - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
FEFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - Serial NumberNO A non-serial number cannot be changed to a serial numbered costing method.
Special - Serial NumberNOA non-serial number cannot be changed to a serial numbered costing method.
Special - Serial NumberFIFO YESSerial numbers will be discarded.
FIFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FIFO - Serial NumberYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - BatchYESExisting batch/serial numbers and expiry dates are preserved.
FEFO - Serial NumberYES Existing batch/serial numbers and expiry dates are preserved.
Special - BatchYESSerial numbers will become batch numbers, expiry dates will be maintained. Enter Expiry date (optional) to be applied to entire stock without an expiry date.  Will expiry date in prompt overwrite existing?


If the product has stock on hand AND you want to change a non-serial costing method to a serial numbered costing method, (e.g. FIFO to Special - Serial Number) or you want to re-assign batch numbers you will have to use a stock adjustment to make the change.

  1. Zero out existing stocks by creating a stock adjustment so that stocks received under the current costing method will be removed.
  2. Open the product details screen and change the costing method, then save.
  3. Re-enter the previously zeroed out stocks via stock adjustment, adding a serial number in the relevant field.


Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.