Odoo books cost of goods sold once, when the invoice is posted. If that happens before the delivery, the cost is an estimate (or nothing), and Odoo never revisits it. This module rebuilds the COGS from the real stock moves and logs what it changed.
What it does
- When a delivery or return is validated, the COGS of invoice lines costed before the goods left is rebuilt inside the posted invoice using Odoo's own COGS builder.
- Sale lines whose deliveries net to zero (delivered then returned) are costed with a FIFO run instead of the standard price.
- Invoices stay posted and payments untouched: COGS never touches the receivable.
- Every correction is written to the invoice's chatter.
- A Recompute COGS wizard lists differences, excluded lines and zero-value stock moves, for review before applying.
- Cut-off date parameter so history before go-live is left alone.
How it is used
- Install and set the cut-off date.
- Corrections happen automatically as deliveries and returns are validated.
- Run Recompute COGS for a period to review and apply remaining differences.
Who it is for
Companies with FIFO valuation that invoice before shipping or handle returns regularly.
Requirements: Odoo 19 with sale_stock and stock accounting.