Configure Anglo-Saxon and Automated Inventory Valuation, for proper Inventory Accounts
They always directly register an accounting entry when there is a stock move IN or OUT of the stock.
They record the expenses on the sales invoice and NOT on the vendor bill
Here is how the journal entry is done with Anglo-Saxon accounting:
Stock entries from validation of Receipt:
Debit => Stock valuation account
Credit => Stock input account (The value comes from the PO)
Vendor bill validation:
Debit => Stock input account
Credit => Payable account
Stock entries from validation of the Delivery:
Debit => Stock output account (The value on the product form in the field Cost)
Credit => Stock Valuation account (The value on the product form in the field Cost)
Customer Invoice:
Debit => Receivable account (From the price on the invoice)
Debit => Expense account (From the product form field Cost)
Credit => Income Account (From the price on the invoice)
Credit => Stock output account (From the product form field Cost)
Here's a documentation page from Odoo to test it: https://www.odoo.com/documentation/user/9.0/nl/inventory/management/reporting/valuation_methods_anglo_saxon.html
They don’t always have their tax periods fixed on the calendar year
They have to send their tax report electronically
If they use multi-currencies they might need to register the unrealized exchange gain or loss at month end (This doesn’t exist in Odoo yet and should arrive in V14)
This is in order to at the end of the month evaluate each entry that had been created in another currency that is not yet reconciled. For example, a receivable in another currency has not been paid yet.
What are the main impacts due to these configurations?
If you have UK accounting, you always need to go live with Sales, Purchase, Inventory, Manufacturing, and accounting at the same time otherwise either your accounting entries will not be correct or you will have to do so much manually that it is losing all added value of Odoo.
PS: It is allowed in Anglo-Saxon accounting to still use manual valuation but most customers do need/want the automated valuation most of the time. For more info check this forum entry: https://www.odoo.com/forum/help-1/can-i-use-manual-inventory-valuation-with-anglo-saxon-accounting-189798
Don't take your decision to go for one or another in a hurry, if you have doubts, stay in manual, we will be able to switch back to automated later.
Here is the checklist
Update your chart of accounts with your nominals
If you do multi-currencies => check on the Gain and Loss account on the exchange rate (Accounting=>settings). There should be the same account for gain and for loss (UK specificity). If the account is not the one you want, don't create a new one but change the configuration of an existing one. Why? Because there is a domain that doesn't allow you to select the same account in the Gain and the loss field so if you remove the standard one you will not be able to put the same one again for Gain and Loss.
On the vendor bill journals if you want to use a Cost of revenue account it is not possible in Odoo standard as there is a domain allowing you to select Expense type only. Nonetheless, you can simply define your account as an expense, put it on the vendor bill journal, and once it is configured, just change the type to Cost of Revenue.
Select the Anglo-Saxon check box on the accounting settings (In Debug)
Create your product categories with inventory valuation as Manual (for the moment) and with ordered quantity as invoicing policy (for the moment). This needs to be configured as such because of the initial inventory adjustment that you will do in a few points.
Set up your stock input, output, and valuation account on the product category
Stock Input Account = Current Liabilities
Stock Output Account = Current Assets
Stock = Current Assets
All accounts should allow reconciliation
Create your products and don’t forget to specify the cost (otherwise, your inventory valuation report will not have any data)
If you are in a multi-company environment you will need to update the cost for each company even if the product is shared.
/!\ The cost of the product that you register in the Cost field in the product form should be the average cost of the quantity of this product you have in stock even if you are in FIFO (the FIFO will be working as such at the moment you delivered all the initial quantity). /!\ If you have the product in stock you should NEVER leave the field cost at 0!
Why do you have to import the cost field?
Odoo uses the Cost field on the product form to create the stock journal entry for the delivery and for the sales invoice. Therefore if you are in FIFO, you have to specify a cost otherwise when you will deliver your first product (that you didn’t purchase in Odoo) after the initial inventory the journal entry would be at 0 which is not correct. This makes sense as if you are in FIFO, Odoo needs to take the value of your first products hence Odoo should not impact the cost field with the cost of the new purchases before the first product is delivered.
Odoo also uses that field to register the inventory valuation after the initial inventory adjustment.
Prepare your import of accounting initial balance
Prepare your stock initial balance
Import your Accounting initial balance
Import your stock initial balance
Change the inventory valuation type on the product category to automated
Beware !! In V13 and V14, it might have created journal entries but it should not so Reverse all entries that were created /!\
Go into the inventory adjustment location (virtual location) and fill in the field “Stock valuation account (incoming)” and “Stock Valuation account (outgoing)” they should be P&L account
If you are in a multi-company environment you will need to create new inventory adjustment locations for each company with the correct nominals. Don’t fill in the company field yet.
Once you created the new locations, go-to create a product and enable debug mode. Once you have the debug mode you will see in the tab “inventory” the “Counterpart Locations”.
Select in the field “Inventory location” the specific location for that company
Be in Debug and click on the small beetle in the purple bar to be able to set default values.
Click on “Set Defaults”, and specify as the default value the inventory location for this company
Reproduce the process for each company
Once done for each company specify the company on the company field on each inventory location
Why do you have to add nominals on inventory locations?
When you do an inventory adjustment you don’t have an invoice or a vendor bill to counterbalance the stock input or output journal item. Therefore you need to directly register the loss or profit in a P&L account or a current asset and current liabilities (double-check with the accountant as I got both cases with my customers).
If you do manufacturing
Go to the Production location (virtual location) and fill in the field “Stock valuation account (incoming)” and “Stock Valuation account (outgoing)” they should be P&L account or a current asset and current liabilities (double-check with the accountant as I got both cases with my customers).
If you are in a multi-company environment you will need to create a new production location for each company with the correct nominals. Don’t fill in the company field yet.
Once you created the new locations, goto create a product and put debug mode. Once you have the debug mode you will see in the tab “inventory” the “Counterpart Locations”.
Select in the field “Production location” the specific location for that company
Be in debug and click on the small beetle in the purple bar to be able to set default values.
Click on “Set Defaults”, and specify as the default value the Production location for this company
Reproduce the process for each company
Once done for each company specify the company on the company field in each Production location
If you use Landed cost
In V12
You need to create a product for your landed cost set as a service
For this landed cost product you need to create a specific product category
The valuation of this product should not be automated
In the field “stock output” you have to register an expense account (cost of goods sold for example)
This expense account should allow reconciliation
In V13/V14
You need to create a product for your landed cost set as a service
You need to specify on the product category (of the landed cost product) the same “input account” as on the product category of the physical product you are adding the landed cost.
Why do you have to create a new product and product category for landed cost ? (V12)
When you register the landed cost, you actually register the cost of the transportation for a receipt you got. That means that you are going to add an extra cost to the product you purchased and hence change its value.
For the UK all costs of products should be registered automatically in a journal entry, therefore you need to register an accounting entry for the extra cost due to the transportation.
But actually, with a landed cost, you add an extra cost on a storable product but you got invoiced on a service.
That means that when you will create your vendor bill for the cost of the transport you will have to use the specific product you created for the landed cost.
The journal entry for the vendor bill of the service will then impact the expense account and the payable.
The stock entry will be created with the landed cost. (you can create the landed cost entry directly from the vendor bill if you select the check box).
When you validate the landed cost a journal entry will be created impacting the expense account you selected in the specific product category and the stock valuation account.
This means that your expense from your vendor bill and the expense from the landed cost will be balanced and equal to 0. Why can you ask? Simply because this is the Anglo-Saxon, the real expense entry will be done at the moment of the sales invoice and with the full cost of the product, being the purchase cost and the transportation cost.
Check-in your current software if you have SO/PO open but with no invoice created and no transfer of stock done => import or create them manually in Odoo and process them when needed
Check-in your current software if you have SO/PO that has no invoice created but stock transfer done => Import or create the SO/PO but leave them as a quotation
Create a server action to change the state of the quotation to SO/PO
Check-in your current software if you have SO/PO that has an invoice but no transfer of stock done => import or create the SO/PO
Confirm manually the quotation so that it creates the delivery linked to it
Create a server action to change the invoice status to “Fully invoiced”
Use your server action once the quotation is confirmed manually
Put the invoicing policy on the product back to the delivered quantity
You need to configure your tax account to be used in your tax report and there is a small specificity for the UK. See this video for more explanation:
https://www.youtube.com/watch?v=IVVpXLKaPsM&ab_channel=KnowledgeOdoo
Remarks
If you use Kits pay the very attention to the version you are in !!
Before V13 we are limited in the configuration and flows
You cannot purchase a kit if you are in FIFO or Average as the Cost is computed from the value on the PO which is not what you will physically receive (a task in R&D exist for this normally)
Why doesn't the inventory valuation report match the inventory report's value?
There are three primary causes:
Stock in archived locations
Stock for archived products
The automatic valuation was enabled when items were in stock
You will typically only see this error when using automatic inventory valuation. This is because in auto valuation, the valuation report is built using account.move.line records where product=product, account=product's valuation account. The quantity and value of each move is used to compute the report value.
Items 1 and 2 are a problem because: Stock in these conditions is hidden from reports built using stock move but not from accounting. In other words, you've hidden the stock quantities but the ledger impact remains. You should have written off all value of a product before you archived it and written off or moved all stock out of a location before you archived it.
You can correct the issue by unarchiving the locations/products, removing their stock, and then rearchiving.
Item 3 is a problem because the stock and account move records are discontinuous. Accounting entries do not exist corresponding to some stock moves, obviously resulting in a discrepancy.
You can fix the issue by backfilling the missing journal entries. When creating these backfilled entries, be sure to pick the correct product, account, quantity, and value. A negative quantity on an account move deducts quantity while a positive quantity adds it (from the perspective of the valuation report).