Language:


Transactions in Standard ERP - Stock

In every business where stocks are kept, there are by necessity differences between recorded stocks, physical stocks and stock values, for the simple reasons that things break or disappear or that mistakes are made in shipping, recording etc. In Standard ERP, stock values are kept both in the Stock module and as Account balances in the Nominal Ledger. It is very difficult to have absolute agreement between FIFO stock levels and Nominal Ledger Stock Account balances, and every business must decide for itself how important it is to minimise differences. There is a price to be paid for precision. The smaller the tolerance for errors, the greater the control apparatus will be, and the greater the cost. There is a trade-off of control costs against precision that every company must decide for itself.

The Stock module contains separate registers for Goods Received, Deliveries, Stock Movements (internal stock transfers between Locations) and Stock Depreciations. Whenever you enter, mark as OK and save a new record in any of these registers, the physical stock levels of the Items involved and the stock valuation in the Nominal Ledger will both be updated automatically. In the second case, each stock record causes a Nominal Ledger Transaction to be generated, thus updating the stock valuation in the Nominal Ledger. Stock levels and valuations can also be updated automatically from Invoices.

Whenever you remove an Item from stock (e.g. using a Delivery or Stock Depreciation), the value of that Item will be calculated using a Cost Model. This value will be subtracted from the stock valuation in the Nominal Ledger. The Cost Model is also used by the Stock List report to calculate the value of your stock. You can choose the Cost Model that is most suitable for your business: the available options are Cost Price, % of Base Price (i.e. % of sales price), Weighted Average, FIFO ("First In First Out") and LIFO ("Last In First Out"). In the case of Items with Serial Numbers, you can also use a Cost Model that connects the actual value of an Item to its Serial Number. Please refer here for more details about Cost Models.

The following examples illustrate the receiving of Items into stock, valuing them and delivering them. The values in the illustrations are calculated using the FIFO Cost Model: if you are using a different Cost Model, the workflow will be the same but the values may differ.

Illustrated below is an example Goods Receipt, recording the arrival of three units of Item 10118 into stock at a price of 4.00 each:

This is the Nominal Ledger Transaction generated by the Goods Receipt, which updates the stock valuation in the Nominal Ledger with the value of the goods received into stock:

When you receive goods into stock, the Stock Account will be debited with the cost of goods, and a Creditor Suspense Account (usually given the terms "Purchase Accruals Account" or "Purchase Control Account" in the program and in these web pages) will be credited until the Purchase Invoice arrives. The Stock Account used is the one specified in the Locations setting in the Stock module or, if that is blank, in the Account Usage Stock setting.

Depending on local accounting conventions, you can add purchase costs, freight and customs costs to the stock value in the Goods Receipt record, or leave them out until the Purchase Invoice arrives. If you add them at the time of receipt into stock, their values will be added to the Stock Account, and credited against the Freight and Customs Accrual Accounts specified in the Account Usage Stock setting:

After receiving two more shipments of Item 10118 into stock, the Stock List report (Detailed version illustrated below) will provide a stock valuation. As the default valuation method (Cost Model) is FIFO, the stock valuation will be calculated using the individual FIFO values from the relevant Goods Receipts:

You can also produce Stock List reports using alternative Cost Models e.g. Weighted Average.

When you sell goods, stock balances will be reduced and the Stock Account will be credited. The value credited to the Stock Account and debited to the Cost of Sales Account will be calculated using the usual Cost Model (FIFO in this example).

In the following example, we will sell and ship all 26 units of Item 10118. In the Delivery record that records this shipment, the total FIFO value of these 26 units will be placed automatically in the Row FIFO field on flip C when we mark the Delivery as OK and save it. (Although this field is named "Row FIFO", it actually shows the cost of sales value of the delivered Items and therefore shows the total FIFO, LIFO, Weighted Average or other value of the delivered Items, depending on the Cost Model. The example currently being described uses the FIFO Cost Model.)

This total cost of sales (in this case, FIFO) value will be the figure credited to the Stock Account and debited to the Cost of Sales Account in the Nominal Ledger Transaction created when you mark the Delivery as OK and save it, after which it can no longer be modified:

The Item History report in the Stock module shows that because we are using the FIFO Cost Model, this total cost of sales value is calculated using the average FIFO value per unit of the Items sold:

In this case, because we sold our entire stock, there is no difference between the stock value and the Stock Account value.

In the following example, we have received into stock twenty units of Item 10127 using two separate Goods Receipt records. The first Goods Receipt records the receiving of ten units at a price of 8.00 per unit, and the second records the receiving of ten at a price of 9.00 per unit:

We will deliver 12 units of Item 10127. In the Delivery record, their total cost of sales (FIFO) value is shown on flip C to be 98.00 (i.e. 8.1667 per unit):

Again, this total cost of sales value will be the figure credited to the Stock Account and debited to the Cost of Sales Account in the Nominal Ledger Transaction created when we mark the Delivery as OK and save it:

As the FIFO Cost Model is being used, the price per unit in the Delivery and consequent Nominal Ledger Transaction in this example is calculated on a strict FIFO basis. This dictates that the units shipped were all ten of those purchased at the earlier price (8.00 per unit) and two of those purchased at the later price (9.00), as follows:
(10 x 8) + (2 x 9)= 8.1667
12
This is shown when we produce an Item History report after issuing the Delivery:

The Stock List now values the remaining eight units at 9.00 each, the purchase price per unit in the second Goods Receipt record:

In Standard ERP, you will always create Deliveries from Orders. Included in each Order record (in the footer of the 'Items' card) is a Gross Profit figure. Usually and as illustrated below, this is calculated using the standard Cost Prices of the Items on the Order, although you do have the option to calculate it using their cost of sales values. The standard Cost Price of an Item is the Cost Price recorded in the Item register. Standard Cost Prices will be shown on flip C of each Order: in this example, the standard Cost Price per unit of Item 10127 is 10.00:

This calculation is also used in the GP, Orders report in the Sales Orders module:

You can have the standard Cost Price of each Item updated to be the last actual purchase price (the one used in the most recent Goods Receipt record). You can do this using two methods:
  1. The Stock module contains an 'Update Item Cost Price' Maintenance function. This is not an automatic function: it is your decision whether and when to use it. Each time you run this function, it will transfer the last purchase price to the Cost Price field of each Item record.

  2. If you would like the Cost Price of an Item to be updated automatically with the latest purchase price each time you mark a Goods Receipt and save, use one of the Upd. Cost Price At Goods Receipt options in each Item record ('Costs' card).
In the example above, the Gross Profit of the Order would have been reduced by 12 if you had updated the Cost Price of Item 10127 using either method before you created the Order.

This chapter describes the more common transactions as follows:

Go back to: