Negotiate Once, Deliver with Confidence
Manage long-term sales agreements with a fixed price and committed quantity, then release call-off orders against a live remaining balance — no re-keyed prices, no over-shipped commitments.
The problem
Sales teams that run annual supply agreements re-key the same negotiated price into every order and track the remaining commitment by hand. Nothing stops an order from exceeding what was actually agreed, so pricing disputes and over-shipped volume are only discovered after the fact.
The solution
Sales Blanket Order captures the agreement once — price, quantity, and validity period — then locks that price into every call-off order it generates. A live remaining-balance guardrail blocks or warns before any order exceeds what is left, so the commitment stays accurate from the first order to the last.
Everything a blanket agreement needs
Every capability below is implemented in the module.
Blanket Sales Agreements
Create multi-line agreements per customer with a fixed negotiated price, committed quantity, and validity period for each product.
Live Consumption Tracking
Ordered and remaining quantities recompute in real time from confirmed sale orders — never a manually maintained counter.
Over-Consumption Guardrail
Choose per agreement whether a call-off exceeding the remaining balance is blocked outright or allowed with a warning.
Guided Order Generation
A step-by-step wizard releases a chosen subset of lines and quantities into a new sale order with the negotiated price locked in.
Distribution Planner
Auto-split the committed quantity into an even monthly or quarterly release schedule between the order date and expiry, then adjust it by hand.
Consumption Dashboard
List and kanban views show committed, ordered, and remaining quantities with progress bars at a glance, grouped by agreement status.
Full Audit Trail
Every generated sale order links back to its blanket order and line, so the full history of an agreement's call-offs is always traceable.
Automatic Expiry
A daily scheduled action moves agreements past their validity date to Expired and notifies the owner with an activity.
Explicit Lifecycle
Draft, Open, Expired, Done, and Cancelled states with sequence-numbered documents keep every agreement's status unambiguous.
How it works
Create the Agreement
Add product lines with committed quantities, negotiated prices, and a validity period for the customer.
Plan the Releases
Run the distribution planner to spread the committed quantity into a monthly or quarterly schedule.
Release Call-Off Orders
Use the guided wizard to release a subset of lines into a price-locked sale order, checked against the remaining balance.
Track to Completion
Watch progress bars update as orders confirm, until the agreement is fully consumed or its validity date expires.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Each agreement has a configurable guardrail: set it to Block to stop the order outright, or Warn to allow it while flagging that the commitment has been exceeded.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Sales Blanket Order
Negotiated pricing and committed quantities locked into every call-off, with live consumption tracking, an over-consumption guardrail, a distribution planner, automatic expiry and a full audit trail.
Buy on Odoo App Store