Consignment Settlement
Consignment Settlement connects completed supplier-owned stock movements to native vendor bills and credit notes. It supports a supplier and period review, partial quantity allocation, customer-return reconciliation and a printable supplier statement. Inventory and Accounting remain authoritative.
Installation and requirements
Install corvus_consignment_settlement from Apps on Odoo 20. Dependencies are
Inventory (stock), Accounting (account) and Discuss (mail). Configure
your company, purchase journal, expense/payable accounts, supplier, products and
currencies using the normal Odoo setup. A fresh installation supplies the
CST/year/number sequence and application menus. Optional demo records are
separate from normal data and use fictional suppliers and native stock moves.
Tested on Odoo 20 Enterprise, including installation with and without demo data and focused workflow checks. Community edition has not been qualified. The addon uses standard Inventory, Accounting and Discuss dependencies. No external service or hardware is needed.
Roles and company access
Assign the Consignment Settlement privilege in user settings:
- Preparer creates batches, collects or clears draft sources, reviews agreed costs and reads statements. This role includes native Inventory user and Billing access; assign it only to staff permitted to see supplier accounting.
- Settlement Manager also approves review, allocates bills, creates draft documents, marks batches matched, reopens them and records cancellation.
Every batch, source and allocation belongs to one company. Users must have that company selected and authorized. Bills, source movements and suppliers must be compatible with it. Currency is fixed after sources have been collected.
Source eligibility and dates
A source is a completed native stock move line with a positive native quantity, owned by the exact supplier company selected on the batch. Internal-to-customer moves are deliveries; customer-to-internal moves are returns. Company-owned stock, other suppliers, receipts from vendors, internal transfers, unfinished moves, scrap and supplier returns are excluded. Select the commercial supplier, not an invoice contact. Ownership must already be correct in native Inventory.
The start and end dates are inclusive UTC dates. A batch starting 1 November and ending 30 November includes movement timestamps from 00:00 UTC on 1 November through the end of 30 November. Odoo may display those timestamps in the user's timezone. At most 2,000 eligible movement lines are collected at once; divide a larger period into shorter batches. Previously claimed sources are excluded.
A source is claimed in full by one active batch. Partial billing is handled by multiple allocations inside that batch, never by claiming the movement again in another batch. Cancelled batches release claims while retaining their source snapshots and cancellation reason.
Worked example: Willow House
- In Inventory, receive 40 Oak Serving Boards with Willow House Furnishings as owner. Complete customer deliveries of 12 and 6 boards, retaining that owner. Complete a customer return of 2 boards, also retaining the supplier owner.
- Open Consignment > Settlements and create a batch for Willow House, the company, currency and movement period. Select Collect Sources. The three source quantities are 12, 6 and -2 boards. A company-owned delivery in the same period is not collected.
- Review the agreed Unit Cost. At 18.50 per board, the expected net is
(12 + 6 - 2) x 18.50 = 296.00. Save changes, then a manager selects Approve Review. - On the 12-board row, choose Match, select the supplier's native bill product line, and allocate 6 boards. This leaves 6 boards on that source, 6 on the second delivery and 2 on the return outstanding.
- Match further bill lines to deliveries and a vendor credit line to the return. One source can use several bills; one bill line can cover several compatible sources up to its native quantity. Quantities entered in the wizard are always positive and in the product's unit shown beside them.
- Once every source has no quantity outstanding, select Mark Matched. Print Supplier Settlement Statement from the Print menu.
The demo includes a partially matched Willow House batch, a fully matched Juniper Homeware batch, an empty draft and a cancelled period.
Costs, rounding and outstanding balances
The initial unit-cost suggestion uses the current product cost in the batch company. It is converted from company currency to batch currency at the native movement date. It is not a historical inventory valuation or a supplier price agreement. Review the suggestion before approval. A zero agreed cost is allowed; negative or non-finite costs are rejected.
Source quantities are converted to the product default unit at collection and retained with their unit. Native Odoo 20 unit precision and currency rounding are used. A bill unit must share the source unit's reference. Bill quantities are converted to source units before checking capacity.
Expected Net is signed source quantity multiplied by agreed unit cost. Matched Net apportions the native untaxed bill subtotal by matched quantity, positive for bills and negative for credits. Outstanding Estimate values unmatched quantities at the agreed cost. Cost Variance is matched actual amount less the expected amount of those matched quantities. Totals are untaxed; they do not represent payments. Partial amount rounding can leave a smallest currency-unit variance when several allocations split the same line.
All documents in a batch must use its currency and supplier. Foreign-currency bills belong in a matching-currency batch. No exchange-difference entries are created. List totals are not combined across mixed currencies.
Creating draft documents
Instead of matching existing bills, a manager may select Create Draft Documents after review. The explicit confirmation creates a native draft vendor bill for outstanding deliveries and a separate native draft credit note for outstanding returns. Each source becomes a product line using the reviewed cost and remaining quantity. Those lines are immediately allocated to the batch. Calling the action again cannot create documents for already matched quantities.
Review the resulting document's account, taxes, date, journal and supplier reference in Accounting before posting. Product and company configuration drive native account and tax defaults. The addon never posts bills, pays suppliers, changes stock valuation, or validates a stock transfer. Matched means quantity matching is complete; the documents may still be drafts.
Corrections and exceptions
- Before review, use Clear Sources to release draft claims and change the supplier, company, currency or period. Recollect after correcting the scope.
- To revise costs after review, a manager removes all matches and selects Revise Costs. If the batch is matched, reopen it first. Edit the costs in draft, then select Approve Review before matching again.
- To correct a match, use Remove Match on the Bill and Credit Matches tab, then match the proper document or quantity. Native documents remain intact.
- Reopen a matched batch before removing any match. Reopening retains history through the native chatter's tracked status changes.
- A native stock source's commercial facts are protected while actively claimed. For a genuine physical return, use a new native return transfer. For a mistaken source or scope, remove allocations, cancel the batch with a reason, correct Inventory through its normal procedures and create a replacement batch.
- Linked bill lines cannot change their product, unit, quantity, price, discount or taxes while matches exist. Remove matches first. Accounting posting rules still apply. A matched bill cannot be cancelled until its matches are removed.
- Before cancellation, reopen a matched batch if needed and remove every match. Select Cancel and enter a reason. Cancelling does not cancel or delete a bill. Retained cancelled source rows are historical context and are excluded from future claim conflicts.
- Only an empty draft batch can be deleted. Cancel other batches for a retained explanation. Cancellation cannot be reversed; create a replacement batch.
Lists, drill-down and statement
The settlement list shows supplier, period, sources, expected net, outstanding estimate, responsibility and status. Search by reference, supplier or responsible user; filter open, matched or cancelled batches and period end. Group by supplier, status or company. The Stock Sources smart button opens native move lines; Vendor Documents opens the linked bills and credits.
The statement prints the company and supplier, UTC movement period, signed source quantities, agreed costs, matches and remaining estimate. It includes native document status so a draft bill is distinguishable from a posted one. The statement is a reconciliation aid, not a legal invoice or payment receipt.
HTML report rendering is verified. Server PDF output requires a working native Odoo PDF engine in your deployment. PDF output was not qualified in the tested runtime.
Upgrades and troubleshooting
The normal sequence is marked non-updatable so its user-edited prefix and numbering survive an upgrade. Business batches and optional demo records are not reset by upgrade. Back up the database and filestore using your normal process before upgrading and review custom extensions against this release.
If no sources appear, check completed status, exact owner, movement direction, company, UTC dates and prior claims. If a match is refused, check document type, supplier, currency, product, compatible unit, positive quantity, cancelled status and existing allocations. If draft creation reports missing accounts or journals, complete native Accounting setup. If a period is too large, use shorter dates. If costs cannot be changed, remove matches and return the in-review batch to draft.
Support: Corvus Nexus Technologies LTD, support@corvusnexus.com.
Website: https://corvusnexus.com. Include the addon version, Odoo version,
workflow step and a sanitized error description. Do not send credentials.
Availability
This guide covers the Odoo 20 package. Older-version packages are not part of this release.