When using FIFO Costing Method and Automated Inventory Valuation, there's a discrepancy when users create return orders and credit notes, how to correct that discrepancy?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project
- MRP
This question has been flagged
Here is an example to break down the implication of Accounting when you perform a return order with FIFO Costing Method (Average costing method should have similar implication).
I will use a use case and break it down to Purchase, Sales, and Return flow and explain the accounting journal entry.
Use Case:
Costing Method: First In First Out (FIFO)
Inventory Valuation: Automated
Anglo-Saxon Accounting (COGS recorded during Invoice)
Invoice Delivered Quantities
Flow:
Purchasing a product with 2 POs, each with 10 units but different cost.
Sell 13 of them, invoice them.
Return all 13 of them, and create credit note.
Purchase Flow:
Perform a few purchases orders:
PO1: 10 quantity $10
PO2: 10 quantity $15
Check the Inventory Valuation model:
10 * $10 = $100
10 * $15 = $150
Check the Journal Entries:
Sales Flow:
Now, let’s create a Sales Order to sell 13 units of that product:
Check the Inventory Valuation:
What happens here is that system is taking 10*$10 + 3*$15 = $145
Check the Journal Entires:
Let’s go ahead and Invoice this Sales Order and check the journal entries:
We can see that the Journal items that the system generated is according to the Inventory Valuation, which should be correct.
Return Flow:
Let’s say the customer wants to return the product, we can go ahead and click “return” from the delivery order. Let’s say all 13 units are returned.
Check the Inventory Valuation:
Check the journal entries:
You will see that there’s a discrepancy from the initial delivered value, this is due to how Odoo computes the total value. If you use Studio to pull out the “Unit Value” field on Inventory Valuation, you will see that:
When the delivery was done, even though the Unit Value was $11.15, the real value used here was $145/13, which equals to 11.153846153……
However, when the return order was done, the Unit Value used was actually $11.15, which multiplied by 13 equals to $144.95
To Issue a Credit Note, there’s 3 method:
Go to Invoices, click “Add Credit Note”, and do a full refund
Go to Invoices, click “Add Credit Note”, and do partial refund and Confirm.
Go to Sales Order and click “CREATE INVOICE” (DO NOT SUGGEST)
Method 1: Go to Invoices, click “Add Credit Note”, and do a full refund.
If you select the Full Refund, system will reverse the initial Invoice entirely, which the Cost taken here would be 145 instead of 144.95.
Implication: This will cause a discrepancy between your Inventory Valuation journal entry and Credit Note journal entry, you will need to manually change the Inventory Valuation journal entry to match. (Changing the Inventory valuation journal from 144.95 to 145).
Method 2: Go to Invoices, click “Add Credit Note”, and do a partial refund and confirm.
Choose a partial refund
The Journal entry created will take the value from Inventory Valuation, which is $144.95.
Implication: In this case, since both the Inventory Valuation journal entries and Credit Note journal entries already match, you have two options: either you choose to live with the small discrepancy, all you can change BOTH the journal entries to match the OUT journal entry.
Method 3: Go to Sales Order and click “CREATE INVOICE” (DO NOT SUGGEST)
Since the Invoice Policy here is “Delivered Quantity”, you can even use the “Create Invoice” button on Sales Order, because Odoo knows that you have 0 Delivered quantity (since you have returned all 13 units) but 13 Invoiced quantity,
Implication: Odoo will NOT be taking any value from the Inventory Valuation model, Odoo will directly take the CURRENT COST of the product on the product template (which is $15) and multiply it by quantity instead. Which obviously will cause a HUGE difference in the journal entry. You will need to manually change it from $195 to $145.
Summary
BOTTOMLINE: There's implications for each method and all will need some sort of manual adjustment. With how Odoo is currently developed, you should double check your journal entry EVERY TIME you create a return/credit note to make sure that it is accurate.
Even though the discrepancy here seems insignificant, the difference becomes HUGE when the quantity to return increases (ex.: $0.003846153 * 20,000 = 76.92). It might not affect retail businesses, but if you run a B2B trading business, you will need to handle the discrepancy
- Out of all 3 methods, a full refund is most accounting accurate because it reverses the whole entry from the invoice, but do NOTE that it will still cause the discrepancy between the return Inventory Valuation and the Credit Note. So you need to change the Inventory Valuation journal entry manually (In this case, changing the Inventory valuation journal from 144.95 to 145).
- Sometimes, customers DO NOT return the whole order. If they do a partial refund, both journal entries for the Return Inventory Valuation and a Credit note will match. However, you will need to live with the discrepancy caused by decimal places or change BOTH the Inventory Valuation journal entry AND the credit note journal entry.
- ABSOLUTELY NEVER USE THE “CREATE INVOICE” BUTTON BECAUSE IT WILL CAUSE A HUGE DISCREPANCY AND WILL BE A MESS TO TRACE BACK.
I am happy to know if anyone found a better solution!
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Apr 21
|
2614 | ||
|
3
May 25
|
5583 | ||
|
3
Jun 25
|
31924 | ||
|
1
May 24
|
6196 | ||
|
2
Jul 25
|
1652 |