This help article provides guidance on how to implement FIFO calculation and how transaction-based stock handling works. The article covers changes in stock valuation methods, precise stock tracking, and management of linkages.

CONTENTS

Transaction-based stock handling means that stock transactions can be automatically allocated to the correct product batch in the background.

FIFO calculation activation

FIFO calculation can be activated through Products > Stock settings > Stock valuation method - (1). In this example, the previous stock valuation method is Running average price calculation. Click this link:

Select the new valuation method: FIFO calculation (2):

Important considerations in FIFO calculation activation - IMPORTANT
Tracking/Tracing/Linking

Transaction-based stock management provides tools for precise stock tracking at the product batch level. Tracking at the product level is not yet offered by transaction-based stock management. The automation creates stock transaction rows from sales order/invoice rows and links them according to the company's chosen stock valuation method, FIFO/LIFO principle, to purchase/manufacturing batches to which reducing stock transactions are allocated. The user can manually edit the assumptions made by the automation and allocate transactions themselves.

With the transaction-based method, it is possible to track the movement of products and easily determine to which specific product purchase batch has been transferred and/or delivered.
There is a separate Stock transaction linking and releasing help for the linkage tool and tracing chain.

Important considerations in transaction-based stock management activation and changes to average price method stock handling:

General principles in transaction-based (FIFO/LIFO) stock handling

In Netvisor, stock is valued transaction-based according to the unit price used in stock transactions. The unit price is always fetched for stock-reducing transactions from the unit price of product batches in stock at the time of the transaction, either from the oldest (FIFO) or newest (LIFO) product batch. A linkage is automatically created between these, which the user can change if desired, for example, by allocating sales to a product batch other than the one in reduction order according to the chosen valuation method. In this way, the user can create linkages deviating from FIFO/LIFO and build transaction-based precisely correct tracing chains for product batches and report their movements from vendors through stock to customers. Since stock can be reduced to negative in Netvisor, it is also possible to make linkages retrospectively after stock replenishments. These linkages must be made manually by the user through the Unlinked report.

User considerations and required actions during activation

After connecting transaction-based stock valuation, existing stock transactions are automatically converted, where reducing transactions are retrospectively linked to product batches according to the chosen valuation method, either to the oldest (FIFO) or newest (LIFO) first. Not all transactions can likely be automatically converted and linked due to various reasons. Unlinked to product batches report in batch-based stock management reports offers the user the opportunity to review these unlinked stock transactions and make necessary corrections and link them manually. From this report, there is a mass function that checks the situation in stock after corrections and tries to make linkages retrospectively based on the new situation for all unlinked rows.

Most common reasons for unlinked stock rows:

  • The stock balance has been negative according to the system in the initial situation, and no product batch was found in stock > Either an inventory or other stock replenishing entry must be made, and transactions must be linked manually.
  • A wrong product name may have accidentally ended up in the order/invoice in sales. For example, this is always possible between similar product models. It is worth being careful in sales handling because these can be difficult to identify and correct afterwards.
  • Reducing stock transactions have a different stock than the product batches in stock > The stock designation of reducing transactions must be changed to match the product batches in stock. The same can also be done the other way around, i.e., the stock of product batches can be updated to match the sales stock, allowing sales to be allocated to product batches.
  • Stock transactions that only have reducing entries = the product name has been used, e.g., for running bookkeeping and is not intended to be considered in stock valuation. In this case, linkages cannot be formed when counterparts are not found in stock-increasing entries.
  • Old transactions may also be messing up reporting because automatic linkages are only made from the current and active financial period. On stock reports, such as the unlinked report, it is possible to see transactions from previous financial periods that cannot be linked because financial statements have already been made for them.
Note. It is the user's responsibility to check immediately upon activation that the linkages are correct and that necessary corrections are made.

Changes compared to regular stock handling - IMPORTANT

Automatic linkages (FIFO principle)

All stock-reducing stock transactions are automatically linked by the system to stock-increasing stock transactions, if these are found in the same stock to which the reducing entry is allocated. If no default stock is defined for the product card, and no stock is selected for the sales order/invoice row, the sale is automatically allocated to the stock where the oldest product batch is found with FIFO.

  • Automatic linkages with FIFO are always checked according to the stock transaction row's delivery date, which is the significant factor here
  • Note. The stock balance can be reduced to negative. In this case, linkage between transactions does not occur at the time of the transaction, but a stock replenishment must first be made.
  • If a stock is selected for the sales order/invoice row where there is no goods, linkage is also not made, and goods must always be remembered to be recorded in the correct stock

Changes brought by linkage handling to the stock transaction view 

Automatic linkage follows the chosen stock valuation method, i.e., linkages are made with FIFO to the oldest product batches in stock and with LIFO to the newest. Linkage means practical changes to stock handling so that:

  • The stock location is bound between linkages = The stock is always set for the stock-reducing stock transaction row to the stock of the product batch to which the reduction is linked. This means that the stock cannot be changed directly from the reducing stock row after linkage, but the linkage must first be released to allocate the reduction to another stock. This can be done either on the order/invoice by changing the stock on the invoice row, updating the stock designation in stock transactions, or in the stock transaction view with the linkage tool or in the same view with the mass tool for multiple stock rows at once.
  • The unit price for the reducing stock row is always fetched from the unit price of the product batch to which the reduction is linked. This means the same handling as with the stock designation. The linkage must be released if the unit price is to be changed for the reducing stock row or the reducing row is to be allocated to another product batch by changing the row's linkage.

Unlinked stock row: Stock and purchase price can be freely edited on the stock row

Linked stock row: Stock and unit price are fetched from the purchase batch, so the linkage must be released to edit the fields. Below is an example of a green linked row that cannot be directly edited. To edit the stock or unit price of linked rows, the linkage must first be released or the row linked directly to another batch, updating the new unit price and stock on the stock row. There is a guide for releasing the linkage later on this page.

Exceptional linkage handling

There are two use cases where maintaining a product batch-specific tracing chain requires linkage handling that deviates from the norm. These cases are:

  1. Stock transfer (more on this at the end of this help page)
  2. Credit note for goods return handling = Goods return to stock

In exceptional linkage handling, the stock-increasing stock transaction row is linked to the stock-reducing transaction, i.e., the opposite of normal stock handling, where the reducing row is linked to the increasing.

Manual linkages (by the user)

The user can make linkages that deviate from automatic linkages, i.e., FIFO or LIFO, by manually changing them with the linkage tool. This allows the user to build precise tracing chains and report the movements of product batches in stocks from the vendor through stock to the customer. This tracing chain enables, among other things, the formation of a customs report in Netvisor, which shows batch-wise which product batches have been reduced from stock at any given time.

Terminology of transaction-based stock management (FIFO)

  • TRANSACTION-BASED STOCK MANAGEMENT = Batch handling where stock can be tracked at the product batch level and tracing chains can be built for batches, allowing them to be traced retrospectively from the vendor through stocks to customers. In this handling, stock-reducing transactions are automatically linked according to the chosen stock valuation principle, either with FIFO or LIFO, to stock-increasing transactions. The user also has the possibility to make linkages that deviate from this manually. In stock transfers, it is also possible to maintain batch-specific traceability. Note. Batch handling does not include product-level traceability, such as serial numbers, etc.
  • FIFO = First In, First Out procedure where the costs of the first purchased units are allocated to the last sold units. The procedure assumes that the materials and supplies that arrived first in stock are used first. According to the business tax law, which strongly affects business bookkeeping, inventory must always be calculated according to the FIFO method. In Netvisor, automatic linkages are allocated by default in transactions based on this principle when FIFO is selected.
  • LIFO = Last In, First Out procedure where the costs of the last purchased units are allocated to the last sold units. The procedure assumes that the materials and supplies that arrived last are used first. The LIFO method can be applied periodically; valuation of use is performed continuously or only at the end of the period. In Netvisor, automatic linkages are allocated by default in transactions based on this principle when LIFO is selected.
  • AUTOMATIC LINKAGE HANDLING = All stock-reducing stock transactions are automatically linked according to the chosen stock valuation method to stock-increasing batches if the system finds a target.
  • MANUAL LINKAGE HANDLING = The user must link such transactions retrospectively that could not be automatically linked at the time of the transaction, e.g., goods were not in stock at the time of sale. For this purpose, the batch-based reports in stock management include the Unlinked to product batches report, which reports all such transactions, and linkages can be made retrospectively in mass. Changes to automatic linkages according to the chosen stock valuation method are also included in this manual linkage handling. This comes into question, for example, when wanting to build a delivery/tracing chain from the vendor to the customer that deviates from the FIFO/LIFO procedure.
  • LINKAGE TOOL = Manual linkages, releasing linkages, and removing linkages are always done with the linkage tool, except for a few exceptions. The linkage tool can be accessed from the stock transaction row and the Unlinked to product batches report.
  • TRACKING/TRACING HANDLING = Product batch tracking and tracing possibility from the vendor through stocks to customers. By default, tracing is built according to the chosen stock valuation method, either with FIFO or LIFO. The user can make linkages that deviate from this, achieving a fully transaction-based tracking and tracing handling. This is done by manually changing the automatic linkages of transactions and allocating them to desired product batches.
  • BATCH-BASED STOCK REPORTS = Reports utilize transaction-based stock and linkage handling in Netvisor. These reports currently include the Inventory list by product batch, product batch tracing, customs, and Unlinked to product batches report.
  • UNLINKED TO PRODUCT BATCHES TRANSACTIONS REPORT = Unlinked stock transaction rows are reported on this report. Through this, the user sees the overall situation of stock transactions and can make linkages retrospectively in mass for transactions.
  • CUSTOMS REPORT = Customs require reporting at the batch level all product batches imported to Finland from abroad. This report is made to support the user in this reporting process. The customs report shows batch-specific reductions, describing the customs-cleared goods allocated to the batch that arrived at customs as stock withdrawals.
  • FREIGHT HANDLING = There is a separate field for freight on the purchase order and stock transaction row. This means that the product's Purchase price + Freight cost = NEW UNIT PRICE. It is possible to allocate the unit cost of freight to the product's unit price both in purchase order handling and individual stock transactions from its total cost allocated. The purchase order has a separate allocation tool, where by entering the total freight amount, it is distributed to purchase order rows. The same function is found in the stock transaction view's mass tools menu.

Batch-based stock reports

- Inventory list by product batch
- Product batch tracing report
- Customs report
- Unlinked to product batches transactions
- Events targeted by linkages

Detailed descriptions of stock reports can be found in the Stock management reports help.

Stock transfer handling in product batch tracking

In stock transfer, always use the stock transaction type system type "Stock transfer" available in the system when the company has chosen FIFO or LIFO procedure as the stock valuation principle. User-created transaction types should not be used in stock transfer, as this breaks the product batch-specific tracing chain. The Stock transfer transaction type includes a feature that can link such transactions also from stock-increasing entry to stock-reducing entry. This feature is not available for user-created types.

Making a stock transfer

Netvisor has a dedicated tool for stock transfer. There is a separate Stock transfer help.

Keywords: Transaction-based stock management, FIFO, LIFO, batch-based stock reports, stock transfer

This article has been translated using an AI-based translation tool. The contents or wording of these instructions may differ from those in other instructions or in the software.


Did you find it helpful? Yes No

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