Consignment & VMI
Track supplier-owned and customer-held consignment stock with settlement on consumption
Consignment and vendor-managed inventory usually live in spreadsheets, where consumption goes unrecorded and supplier bills never match what was actually used. That gap ties up cash, triggers disputes and leaves stock you do not own untracked on your balance sheet. Distributors, manufacturers and suppliers running consignment or VMI arrangements feel this pain every settlement cycle. This module puts agreements, movement-level consumption, automatic settlement runs and on-hand valuation into Odoo, so ownership and money always reconcile.
Key Features
Inbound & Outbound Agreements
The consignment.agreement model handles both supplier consignment you hold and customer VMI you place at their site, selected via the agreement_type field. Each agreement carries partner, consignment location, start/end dates and terms, and moves through draft, active, on-hold and closed states.
Four-Quantity Stock Lines
Every consignment.line computes received, consumed, returned, on-hand and unsettled quantities from its underlying movements. Balances update automatically as you post receipts and consumption, so you always see true on-hand stock without manual tallying.
Movement-Based Consumption Recording
The consume wizard posts receive, consume or return movements against a line, blocking any consume or return that exceeds on-hand quantity. Each consignment.movement stamps quantity, unit price and amount, giving a complete, tamper-resistant consumption ledger.
Settlement Documents with Auto Invoice / Bill
Unsettled consumption is batched into a settlement that groups movements per product into summary lines. On confirm, click Create Vendor Bill / Invoice: the module creates a real account.move - a vendor bill for inbound supplier consignment or a customer invoice for outbound VMI - so ownership and money always reconcile in Odoo Accounting.
Automatic Settlement Cron
A daily ir.cron runs cron_auto_settle, generating settlements for active agreements whose weekly or monthly settlement_day falls due and that have auto_invoice enabled. This means recurring consignment billing happens on schedule without anyone remembering to run it.
Min/Max Replenishment Signals
Each line compares on-hand quantity against its min_qty and max_qty to set needs_replenishment and a suggested replenish_qty. Vendor-managed locations surface a clear top-up signal before stock runs out, keeping VMI shelves filled.
On-Hand & Unsettled Valuation
The agreement rolls up stored onhand_value and unsettled_value monetary fields from line quantities and unit prices. Finance can see at a glance how much consigned stock is sitting on site and how much consumption is still awaiting settlement.
Close-Time Settlement Guard
action_close refuses to close any agreement that still has unsettled consumption, forcing settlement first. Combined with mail.thread tracking on state and the per-movement audit trail, ownership and money always reconcile before an agreement is archived.
Use Cases
Screenshots
Consignment Agreements
Settlements
Why Choose This Module
Manage stock you do not own yet (supplier consignment held at your site) and stock you own but hold at a customer’s site (VMI / customer consignment). Consumption is recorded against agreements and, when confirmed, a real Odoo vendor bill (inbound) or customer invoice (outbound) is generated automatically — so ownership and money always reconcile and consignment stops living off-system in spreadsheets.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: stock, product, account
- Support: support@pokutsoft.com
Update date: 2026-07-02