Language:


Transactions in FirstOffice - 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 FirstOffice, stock values are kept both in the Stock module and as Account balances in the Nominal Ledger. It is very difficult to have an 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 and Stock Depreciations. Whenever you enter and approve a new record in any of these registers, the physical stock levels of the Items involved and the stock valuation in the Nominal Ledger are both 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.

FirstOffice's Stock module basically uses the FIFO ('First In First Out') principle for stock calculations. Illustrated below is an example Goods Receipt, recording the arrival of three units of Item 10127 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 goods are received, the Stock Account is debited with the cost of goods, and a Creditor Suspense Account (usually given the term "Purchase Control Account" in these web pages) is credited until the Purchase Invoice arrives. The Stock Account used is the Stock Account specified in the Account Usage Stock setting.

Depending on local accounting conventions, you can add purchase costs, VAT, 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 Cost Accounts specified in the Account Usage Stock setting:

The FIFO value of each Item is the value entered in the relevant Goods Receipt, and you can decide which valuation method (e.g. FIFO, Cost Price, Weighted Average) you want to use. After receiving two further shipments of Item 10127 into stock, the Stock List report illustrated below provides a stock valuation using the individual FIFO values from the relevant Goods Receipts:

When goods are sold, stock balances are reduced and the Stock Account is credited. Normally FirstOffice will use the FIFO value for crediting stock and for debiting a Cost of Goods Account, although you can choose a different Cost Model (e.g. Cost Price or Weighted Average). Full details can be found on the page describing the Cost Model setting.

In the following example, we will sell and ship all 26 units of Item 10127. This is the Delivery record that records the shipment:

The total FIFO value of the 26 units will be credited to the Stock Account and debited to the Cost of Goods Account in the Nominal Ledger Transaction created when the Delivery is approved:

The Item History report in the Stock module shows that this total FIFO 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 10128 using two separate Goods Receipt records. The first Goods Receipt records that ten units were purchased at a price of 8.00 per unit, and the second records that ten were purchased at a price of 9.00 per unit:

We will deliver 12 units of Item 10128. In the Nominal Ledger Transaction created when the Delivery record is approved, their total FIFO value is shown to be 98.00 (i.e. 8.1667 per unit). This total FIFO value will be credited to the Stock Account and debited to the Cost of Goods Account:

The price per unit in the 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 the Item History report is recalculated after the Delivery has been made:

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 FirstOffice, you will always create Deliveries from Orders. Included in each Order row (on flip C) is a Gross Profit figure. This is calculated using the standard Cost Price of the Item on the Order, not its FIFO value. In this example, the standard Cost Price per unit of Item 10128 is 10.00:

This Cost Price is also used in the GP Orders report in the Sales Support module (the sales price is 25):

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 the Item record.

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