This guide explains how Odoo Inventory connects with the Accounting, Manufacturing, Sales, and Purchase modules in Odoo 19. You will learn what each integration does, which automatic triggers fire behind the scenes, and which configuration choices determine whether your stock data flows correctly into the general ledger.
📋 Key Takeaways
- Odoo 19 replaced the old Anglo Saxon and Continental terminology with Perpetual and Periodic valuation. The underlying logic changed significantly.
- Perpetual valuation in Odoo Inventory now posts accounting entries at the invoice level, not at every stock move. The result is fewer journal items and a cleaner ledger.
- Periodic valuation posts vendor bills as expenses. Stock valuation is updated through a cumulative closing entry generated from the Inventory Valuation screen.
- Interim accounts such as Stock Interim Received and Stock Interim Delivered no longer exist in Odoo 19.
- Most inventory to accounting mismatches are caused by missing valuation accounts on product categories or inconsistent costing methods, not by software bugs.
📑 Table of Contents
- How Odoo Inventory Connects to Accounting in Odoo 19
- Perpetual vs Periodic Valuation in Odoo 19
- How Odoo Inventory Connects to Manufacturing
- How Odoo Inventory Connects to Sales
- How Odoo Inventory Connects to Purchase
- Setup Decisions That Enable or Break Integration
- What Breaks When Integration Is Misconfigured
- Frequently Asked Questions
How Odoo Inventory Connects to Accounting in Odoo 19
Odoo 19 fundamentally changed how Odoo Inventory valuation creates accounting entries. Valuation layers are gone. Interim accounts are gone. The system is simpler, but the configuration decisions are more critical.
What Changed in Odoo 19
- The Anglo Saxon and Continental terminology has been replaced with Perpetual and Periodic valuation
- Valuation layers have been eliminated. Valuation is now stored directly on stock moves.
- Stock Interim Received and Stock Interim Delivered accounts no longer exist
- Perpetual valuation posts entries at the invoice level, not at every stock move
- The result is significantly fewer journal items, a cleaner general ledger, and better auditability
In perpetual mode, four actions trigger accounting entries.
1 Vendor Bill Posted (Purchase)
- Debit: Stock Valuation, since the asset increases
- Credit: Accounts Payable
- The receipt itself updates inventory quantities but does not post an accounting entry
- The bill is what triggers the valuation entry. No interim accounts are involved.
2 Customer Invoice Posted (Sale)
- Debit: Cost of Goods Sold, which is an expense
- Credit: Stock Valuation, since the asset decreases
- The delivery updates stock quantities. The invoice triggers the accounting entry.
- Sales revenue and COGS are both posted at invoice confirmation
3 Inventory Adjustment
- A stock count reveals a discrepancy and an adjustment is posted
- Debit or Credit: Inventory Loss or Gain account against Stock Valuation
- In perpetual mode, adjustment entries post automatically. In periodic mode, they are included in the closing entry.
4 Manufacturing Order Completion
- Raw material value is removed from Stock Valuation
- Finished goods value is added to Stock Valuation
- Any variance posts to the Cost of Production account
- The Bill of Materials must be priced correctly and the costing method must be consistent across categories
Perpetual vs Periodic Valuation in Odoo 19
This is the most important configuration decision for Odoo Inventory integration. The setting is found in Accounting, then Settings, then Inventory Valuation.
- Accounting entries created when invoices and bills are posted
- Stock Valuation reflects live inventory value
- COGS posted at customer invoice confirmation
- Adjustments and manufacturing post entries automatically
- Best for businesses needing live margin reporting or audit ready books
- Vendor bills posted as expenses by nature
- Stock changes accumulate in the Stock Variation account
- Cumulative closing entry generated from the Inventory Valuation review screen
- Frequency can be manual, daily, or monthly
- Best for businesses operating on monthly close cycles
What Perpetual Valuation Requires
- The Accounting module installed and configured
- A costing method selected per product category: Standard Price, AVCO, or FIFO
- A Stock Valuation account assigned on each product category
- A COGS expense account assigned on each product category
- A Stock Variation account to capture differences between invoiced and received quantities
What Periodic Valuation Requires
- A Stock Valuation account assigned on product categories
- A Stock Variation account to accumulate all uninvoiced value changes
- The closing entry frequency decided as manual, daily, or monthly
- The finance team trained to generate the closing entry from the Inventory Valuation review screen. The Odoo accounting configuration checklist covers every account that must be in place before the first close.
How Odoo Inventory Connects to Manufacturing
Manufacturing depends on Odoo Inventory for component availability, stock reservation, and cost tracking.
When a Manufacturing Order Is Confirmed
- Odoo checks component stock against the Bill of Materials
- If components are in a location not covered by the manufacturing route, Odoo issues a warning even when physical stock exists elsewhere
- Components are reserved against the manufacturing order
When a Manufacturing Order Is Completed
- Raw material value is removed from Stock Valuation
- Finished goods value is added to Stock Valuation
- Any variance posts to the Cost of Production account configured on the production location
- The WIP account must be assigned on the product category. A missing WIP account causes entries to fail silently.
- The scheduler runs daily and evaluates confirmed manufacturing orders against stock and lead times
- It auto generates purchase orders for missing components when reordering rules and vendor pricelists exist
- Without reordering rules and vendors, the scheduler runs but produces no output
- The Make To Order route connects sales directly to manufacturing so a confirmed sales order auto creates a manufacturing order
How Odoo Inventory Connects to Sales
When a customer orders a product, Odoo Inventory works alongside Sales and Accounting to reserve stock, ship goods, and post financial entries in sequence.
Order to Delivery to Invoice Flow
- When a sales order is confirmed, a delivery order is created based on the outgoing route
- Stock is reserved at confirmation. Insufficient stock creates a Waiting state.
- When the delivery is validated, stock quantities decrease
- In perpetual mode, the COGS entry is created when the invoice is posted
- In periodic mode, the cost impact is captured in the period end closing entry
- A customer return triggers a reverse stock move
- In perpetual mode, the COGS and Stock Valuation entries reverse when the credit note is posted
- A credit note must be issued separately. The stock return and the credit note are linked but not automatic.
How Odoo Inventory Connects to Purchase
The Purchase module triggers stock receipts that flow into Odoo Inventory and post valuation entries once the vendor bill is processed.
RFQ to Receipt to Bill Flow
- The receipt triggers a stock move and quantities update in Odoo Inventory
- When the vendor bill is posted in perpetual mode, Stock Valuation is debited and Accounts Payable is credited. Odoo 19 has no interim accounts.
- Three way matching reconciles the purchase order, receipt, and bill. The bill quantity is populated from received quantity, not ordered quantity. Overbilling is flagged automatically.
Landed Costs
- Freight, customs, and insurance are allocated to received inventory
- Costs are distributed by quantity, weight, or volume
- The system updates stock valuation and creates additional accounting entries
- Landed costs must be configured before the first import shipment
Setup Decisions That Enable or Break Cross Module Integration
A small number of configuration choices decide whether your Odoo Inventory data flows correctly into accounting and manufacturing. Each choice below should be reviewed before any live transaction is posted.
- No valuation account on a product category. Automated entries cannot post. The receipt validates but no accounting entry is created. Often undetected until month end.
- No Stock Variation account in periodic mode. Uninvoiced changes have nowhere to accumulate. Closing entry generation fails.
- Costing method mismatch. Different methods on raw material and finished goods categories produce incorrect manufacturing cost entries.
- Wrong invoicing policy. "Invoice on order" applied to physical goods recognises revenue before delivery.
- Missing WIP account. Manufacturing journal entries fail silently. COGS does not reflect production costs.
- Route mismatch. Product route does not match warehouse outgoing route. Deliveries are created but stock is not reserved.
What Breaks When Integration Is Misconfigured
When something goes wrong, symptoms appear in finance reports rather than in the inventory module. The table below maps common symptoms to root causes.
← Scroll to see all columns →
| Symptom | Root Cause |
|---|---|
| Inventory valuation does not match general ledger | Product categories without valuation accounts, or mixing periodic and perpetual across categories |
| Manufacturing costs do not appear in COGS | Missing WIP account or incorrect Cost of Production account on the production location |
| Delivery orders created but stock not reserved | Route mismatch between product route and warehouse outgoing route |
| Revenue posted before goods delivered | Invoicing policy set to "on order" instead of "on delivery" |
| Closing entry shows unexpected amounts | Stock Variation account not assigned, or bills not matched to purchase orders before closing |
| Landed costs not reflected in stock valuation | Landed cost allocation not configured before first import receipt |
Not Confident Your Inventory, Accounting, and Manufacturing Are Correctly Connected?
Tatvamasi Labs configures cross module integration as standard scope. Costing methods, valuation accounts, MRP routes, and accounting mode are all included.
Book a Free Implementation Review →Frequently Asked Questions
Common questions about how Odoo Inventory connects with Accounting, Manufacturing, Sales, and Purchase modules.
📖 Related Reading
Prefer a quick chat? WhatsApp the Tatvamasi Labs team and we respond within the hour.
💬 CHAT ON WHATSAPP
