Technically, it could be viewed by Odoo that there is way you can do it ... but is it practical? Here are the steps you need to follow in v19 to make it work somehow like in v18 and previously, but ONLY on the PURCHASE side. You cannot make it compliant on the Sales side. This is assuming your setting is Perpetual and automated on the categories. You also need to specify the GRNI account as variation account on the COA in the Stock Valuation GL account (although it says it is only useful for continental (Periodic))
- Create a PO with 5 different stock items. confirm the PO
- Do the receipt for the 1st item (dont receive all the items at once, otherwise you wont know which product has which valuation in the GL) and validate (this creates a backorder for the rest)
- Then go to accounting and run the Inventory valuation report under review.
- Generate the journal
- the Edit the journal and add the product reference to the journal lines and post the journal
- This will effectively DT Stock on Hand and CT Variation account (GRNI)
- Repeat steps 2 to 5 for each one of the additional lines in the receipt
Then we get to the Vendor invoice. Well, you can now only UPLOAD a vendor invoice from PO. You cant create one like you used to. If you want to create it like before, you need to create it in accounting, then select the PO from there... Stupid!
You cant split your vendor invoice as you have only 1 invoice. So, you need to then validate the invoice. Once again go to Inventory valuation report and run it. Generate the journal. However, this is just a 2 line journal to move the hole invoice amount from GRNI (DT) to Vendor control (CT). It is not split into the lines like before where you could trace it per item. So, unless, you manually split the journal lines for GRNI, you are left to wonder why you followed the steps above...
This is JUST to make it even RESEMBLE a meaningful way of replicating Anglo Saxon like before.
And on the Sales side - sorry, you cant do it. Since the variation account is just 1 account, not 2 like before, once you run the valuation report, it will pass both purchase and sales.
Oh, and try to do a stock adjustment... No journal unless you run the stock valuation report - which post a 2 line entry for your total stock take...
Odoo 19 is NOT IFRS or GAAP compliant. Prove me wrong!
New Zealand/ Australia (NZ IAS 2, aligned with IFRS/IAS 2)
- Recognition point: Inventory is recognised when the entity has control of the goods — practically, on receipt/possession (or earlier if title/control passes before delivery under contract terms).
- Invoice role: The vendor invoice establishes the liability (Accounts Payable), not the timing of when inventory is recognised.
- Write-downs: Required when cost > NRV; reversals permitted up to original cost.
- Cost formulas allowed: FIFO, Weighted Average. No LIFO.
US GAAP (ASC 330)
- Recognition point: Same principle — inventory is recorded when the purchaser obtains ownership/risks and rewards of the goods, which is usually on receipt/shipment depending on shipping terms (FOB shipping point vs. FOB destination), not invoice date.
- Invoice role: Creates the payable, not the inventory recognition.
- Write-downs: Inventories are measured at lower of cost or market (LCM) or lower of cost and NRV depending on the method. Importantly, reversals of write-downs are prohibited under GAAP (whereas they’re allowed under IFRS/NZ IAS 2).
- Cost formulas allowed: FIFO, Average, and LIFO (LIFO is permitted under GAAP, though prohibited under IAS/NZ standards).
Key Alignment Points
- Timing of recognition: Both NZ IAS 2 and US GAAP require recognition when the entity has control/ownership, i.e. typically at receipt of goods (subject to shipping terms). Neither standard ties recognition to when the invoice is received.
- Invoice: In both frameworks, the invoice just affects the liability side, not whether the inventory sits on the balance sheet.
Thanks for your reply but I already checked all of that. I'd actually appreciate an answer from Odoo as it clearly is an omission in the build. I am VERY familiar with Anglo Saxon - been using it for a long time and yes, I am an Odoo 18 certified consultant in case you wondered.
Here is the v19 documentation of where to find the setting
demo.odoo.com (in debug)
This is the section it should be in according to the documentation for v19 (which in this regard is the same as it was in v18)
Hey Ray,
I'm sorry but that doesnt make sense at all. You cannot recognise inventory valuation at invoice stage. You need to recognise it at receipt level as the invoice in most cases comes later then the stock you receive. This is actually according to GAAP, which clearly states it should be recognised when you physically receive it, hence why you have GRNI (good received not invoiced) accounts (now missing from Odoo 19 but still clearly in the v19 documentation)
In V 19 Community Edition the perpetual (at invoicing)/Anglo Saxon is not working perfectly too. I can not do inventory adjustment or update quantity on hand for products/goods belong to product category that have perpetual inventory valuation. I am afraid this is a bug.