Product receptions and returns with real-time inventory valuation in Odoo

In this blog post I will describe the account journal entries related to Purchase Orders for stockable product receptions and Purchase Order Returns, using real-time inventory valuation in Odoo.

I will also  explain why I consider that a new module “Account Creditor Price Difference” implemented by Eficent is required to bring-in the proper account journal entries, and why the module “Account Anglo Saxon” should not be used.

Receive product from supplier

These are the Account Journal Entries that should be produced:


At the time when the product is accepted into stock the Stock Input Account is Credited. This account usually called in the business context as “Goods Received Not Invoiced (GRNI). I think that calling it “Stock Input Account” adds a lot of confusion.

But so far, so good. This is what the module “Account Anglo Saxon” would do…

Return product to supplier

You can see that a return to a supplier is simply a reversal of the postings explained in “Receive Products from supplier”. This is what should be, and what “Account Creditor Price Difference” delivers.


Without this module, this is what happens:


The Stock Input Account is debited in step “2. Return 1 product”, but never balanced.
The Stock Output Account is credited in step “3. Supplier refund”, but never balanced.

Only if Stock Input Account = Stock Output account would the flow from “Anglo Saxon Accounting” make sense.

But as I explained, both accounts have different meaning!

Supplier invoices and refunds without reference to a stock move

In case that the user may create a supplier invoice or refund not directly from a stock move, it does not make sense that the application should propose the Stock Input or Stock Output accounts (as it is doing now), because the user well may be creating this invoice/refund associated to a drop shipment.

In my opinion, in the scenario where a user creates a supplier invoice or refund without reference to an preceding document, the system should not accept it to be validated, until the invoice is properly referenced, the quantities match and the price variance is under the tolerance limit.

  • Invoice lines referencing to stockable or consumable products should refer to a stock move.
  • Invoice lines referencing to services should refer to a purchase order line.

..But this is still work in progress.. :)

More information

The module that implements the features described in this post is available for free under the AGPL license. If you are interested to use this module and seek further assistance, please contact us and we will be happy to provide you with instructions on how to install it.

Leave a Reply

Your email address will not be published. Required fields are marked *