Inventory Postings and Valuation

As standard, Odoo is configured to use Standard Cost and Manual Inventory Valuation. This means that you enter the standard cost for each product and no accounting entries are posted for any inventory transactions.

To take full advantage of having an integrated ERP system you may want to use:

  • Average Cost or FIFO (based on purchase prices)
  • Automated Inventory Valuation (with accounting entries)

Fortunately it’s easy to change the configuration. This is defined on the Product Category, so it’s best to decide what you want before you create multiple Product Categories.

Note: this article is primarily about so-called “Anglo-Saxon accounting“. If you use Continental (Rhine) accounting some of the postings are different.

The fields are described below.

Configuration

Costing Method

  • Standard Cost (uses the cost entered on the product)
  • Average Cost (based on purchase prices)
  • FIFO (First In First Out, uses purchase price for each receipt)

Inventory Valuation

  • Manual (or Periodic)
    • No accounting entries are created for inventory movements or adjustments.
  • Automated Inventory Valuation
    • Accounting entries are automatically created, using the accounts specified (see below). These can be entered in the following places:
      1. On the Product Category
      2. On the product (Income and Expense accounts, Price Difference account)
      3. For the location (Input and Output accounts)

Note also that if you make any changes to the above two fields, Odoo will display a warning message.

Account properties

Price Difference Account – used if the price on Vendor Bill (Supplier Invoice) is different from PO.

Income Account

Used when a product is sold to a customer (generates income so will show on the Profit & Loss).

Expense Account

Used when buying a product. This is an expense that will show on the Profit & Loss.

Note: these three accounts can be overridden for a product on the Accounting tab:

Account stock properties

Accounts

  1. Stock Input account – for all incoming receipts of stockable items (e.g. goods received from vendors)
    • This is an interim account to record the future liability to pay the vendor. When a Vendor Bill is created this is converted to Accounts Payable.
  2. Stock Output account – for all outgoing stock moves (e.g. goods delivered to customers)
    • This is an interim account to record that the customer should pay you for the goods you have shipped. When a Sales Invoice is created this is converted to Accounts Receivable.
  3. Stock Valuation Account – updated for all stock moves

Note that for “Anglo-Saxon accounting” these three stock accounts are all asset accounts (on the Balance Sheet).

If you invoice the customer immediately after delivery, you can simplify postings by using this free add-on

Stock Journal

Select the Stock Journal to be used. This should be automatically created

Inventory adjustment postings

Inventory adjustments are used to correct inventory balances. Normally this would be done as part of periodic stocktaking or cycle counting.

If you are using Automated Inventory Valuation (and the Invoicing or Accounting apps are installed), inventory adjustments will post journals.

As standard, these will post to the same accounts that are defined for receipts and deliveries for the product category.

  • This seems reasonable (because increasing the inventory balance is similar to a receipt, whereas reducing the balance is like a delivery to a customer).
  • However, in Anglo-Saxon Accounting these are “interim” accounts that are designed to be used temporarily and then automatically cleared, which won’t happen with an Inventory Adjustment, so it’s better to use other accounts.

This is setup in Inventory Configuration for the Inventory Adjustment “virtual” location.

Start by navigating to Inventory / Configuration / Locations

Remove the filter (“Internal”) and all locations will be displayed:

As shown above, the Accounting Information is left blank as standard, which means that the stock input and output accounts in the Product Category are used.

Instead, you can:

  1. Create another “current asset” account, specifically for stock adjustments.
    • You then need to manually clear this account by posting a journal that will transfer the gain or loss to Profit & Loss (P&L).
  2. OR select an Expense account so P&L is updated immediately.

In both cases only one account is required and Odoo will post Credits or Debits depending upon whether the inventory balance is increased or reduced.

Let’s create an account (6000200) for Inventory Write-Off. This is an Expense account in the P&L (option #2 above).

Now we will enter an inventory adjustment to reduce the inventory balance

This is the posting

Stock Valuation is reduced, Expenses are increased.

Price Differences

If the price on Vendor Bill (Supplier Invoice) is different from the PO price and you have specified a Price Difference Account (on the Product or Product Category, as described above) a posting will be made to that account.

This only applies to Anglo-Saxon accounting (and, of course, you must have the Invoicing or Accounting app installed).

Here’s an example of the postings if you use the Price Difference account:

If you don’t specify a Price Difference Account, the posting to the Stock Interim account will not match what was posted on the Goods Receipt, and you will have a balance that you will have to manually adjust later.

It is therefore recommended to select an Expense P&L account as the Price Difference Account for each Product Category.

Links to Odoo documentation

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s