Skip to Content
Retour aux modules
Sales & Purchase

Sales Framework Agreements (Blanket Orders)

Yearly customer agreements with agreed prices and committed quantities, call-off orders at the agreed price, consumption tracking, over-commitment control, end-of-term alerts and renewal.

20.0 19.0 18.0 17.0 16.0
Sales Framework Agreements (Blanket Orders)
Sales Framework Agreements (Blanket Orders)

Présentation du module

Nalios
Odoo Gold Partner · Belgium

/ Odoo 20 · Sales

Sales Framework Agreements (Blanket Orders)

For suppliers of public bodies, industry and B2B distribution working with yearly agreements. Agree prices and quantities with a customer once, let every quotation pick the agreed price, and see at any time what was ordered, delivered, invoiced and what is still to come.

Accords-cadres / contrats-cadres Agreed prices beat pricelists Ordered, delivered, invoiced, remaining Warning or blocking Community & Enterprise

Standard Odoo or the app

What Odoo already does, what this app adds

Blanket orders with vendorsStandard Odoo, purchase side only: Purchase Agreements (purchase_requisition) on every version from 16 to 20. Nothing changes there.
Customer pricesStandard pricelists give a customer special prices, possibly with dates. They know nothing about committed quantities, consumption or end of term.
Recurring salesSubscriptions (Enterprise) invoice the same thing every period. A framework agreement is the opposite: the customer orders when needed, against a yearly commitment.
Sales framework agreementsNot in standard Odoo, Community or Enterprise, on any version from 16 to 20. Added by this app: agreement, call-offs, consumption, controls, alerts, renewal and reporting.

The agreement

Your conditions, written once

One framework agreement per customer and per period, under Sales > Orders > Framework Agreements. Numbered, with its own chatter and states: Draft, Active, Expired, Closed.

For the whole customer

The agreement is set on the commercial entity: every contact and delivery address of the customer orders against it.

Agreed price and discount

Per product, in the unit and currency of the agreement. Payment terms and terms & conditions are part of it.

Quantity and/or amount

Commit on a quantity (200 chairs), on an untaxed amount (12,000 of acoustic screens), or on nothing (price only). Optional minimum and maximum per order.

Printed for signature

A PDF with validity, customer reference (tender or contract number), agreed prices, commitments, per-order limits and your conditions.

Active framework agreement: agreed prices, committed quantities and amounts, ordered, delivered, invoiced, remaining and consumption per product

Call-off orders

The agreed price, without thinking about it

Every confirmed order of the customer consumes the agreement. Quotations stay normal sales orders: delivery, invoicing and portal work as usual.

From the agreement

New Call-off lists the products with their remaining quantity: type the quantities, get a quotation linked to the agreement, with its payment terms and reference.

Or from any quotation

Add a product of an active agreement to a quotation of that customer: the line is linked and gets the agreed price and discount instead of the pricelist.

Several agreements match?

Choose in the settings: link automatically (the agreement ending first wins), let the salesperson pick in the Agreement column, or always pick by hand.

Only within the dates

Only active agreements valid on the quotation date and of the order's company are proposed. Confirmed orders keep their link and their price.

Quotation: the drawers are linked automatically, two agreements match the chairs and the salesperson chooses

New call-off

Order against the agreement in a few keystrokes

New call-off wizard: remaining quantity per product and quantity to order

Controls

Above the commitment? You decide

Per agreement, with a default in the settings: No control, Warning or Blocking.

While typing

As soon as a quantity brings the line above the committed quantity or above the maximum per order, a warning tells the salesperson by how much.

At confirmation

Committed quantity or amount exceeded, order below the minimum or above the maximum per order, agreement expired or closed: with Warning the order is confirmed and the problem is logged on the order and the agreement; with Blocking it cannot be confirmed.

Also after confirmation

Adding a line or raising a quantity on a confirmed order is checked against the commitment too.

Visible on the agreement

Lines above their commitment turn red, and a banner says so on the agreement.

Warning while typing: the quantity brings the agreement above its commitment and above the maximum per order

Blocking

When the contract is the limit

Typical for public procurement: the order cannot be confirmed above the maximum per order or outside the agreement.

Blocking control: the order exceeds the maximum per order of the agreement

Consumption

Ordered, delivered, invoiced, remaining

Per product line and in total, in quantity and in the agreement currency.

Ordered

Confirmed orders only: quotations do not count, cancelled orders stop counting. This is what consumes the commitment.

Delivered

The delivered quantity of the order lines: from the deliveries when Inventory is installed (returns included), or entered by hand for services.

Invoiced

The invoiced quantity of the order lines, net of credit notes, as in standard Sales.

Remaining and consumption

Committed minus ordered, consumption percentage next to the time elapsed: you see at a glance who is behind.

Framework agreements list with committed, ordered, invoiced amounts and consumption

Alerts and renewal

No agreement ends by surprise

Before the end

An activity for the salesperson N days before the end date (30 by default), with the consumption reached.

At a consumption threshold

An activity when the agreement reaches X % of its commitment (80 by default): time to talk about the next one.

Expiry

A daily job sets the agreements past their end date to Expired: they no longer give their prices to new quotations.

Renewal in one click

Renew creates the next agreement in draft, from the day after the end and for the same duration, with the same commitments, the remaining quantities only, or the same commitments plus the remaining quantities. The current one can be closed at the same time.

Renew wizard: new validity, commitments carried over and closing of the current agreement

End of term

The activity lands on the right desk

End alert activity on an agreement ending in 20 days with 32% consumed

Reporting

Who is behind their commitment?

Sales > Reporting > Framework Agreements: committed, ordered, delivered, invoiced and remaining by customer, agreement, product or end date, in pivot, graph or list. Agreements Ending Below Commitment lists the active agreements in their end alert period with less than 100 % ordered.

Agreement consumption by customer and product

Agreement consumption by customer and product

Agreements ending below their commitment

Agreements ending below their commitment

The document

A clean agreement to send and sign

Printed framework agreement: validity, references, agreed prices, commitments and conditions

Under the hood

Precise details

DependenciesOnly sale. Works on Community and Enterprise, Odoo.sh and on premise. With Inventory, delivered quantities come from the deliveries.
SettingsSales > Configuration > Settings > Framework Agreements: link on quotations (automatic / automatic, ask when several agreements match / manual), default control, default alerts. Per company.
AccessUser (every salesperson) prepares agreements, follows them and creates call-offs. Administrator (sales administrators) activates, closes, renews, resets to draft and deletes. Multi-company rules included.
AmountsUntaxed. Orders in another currency are converted into the agreement currency at the order date; the agreed price is converted into the order currency the same way.
ChangesProducts, prices and commitments are locked once the agreement is active: reset it to draft to amend it. Confirmed orders keep their link and price.
LanguagesEnglish and French (also used for Belgian French).

FAQ

Good to know

Does it replace pricelists?

No. Products outside the agreement keep the pricelist price. On a linked line, the agreed price and discount replace the pricelist ones.

Are eCommerce orders linked?

No. Agreement prices are applied to backend quotations and call-offs, not to website carts, so the shop never shows a price different from the cart.

Can a line have both a committed quantity and a committed amount?

Yes. Both are checked. The consumption percentage uses the quantity when there is one, else the amount.

What does the consumption of the agreement measure?

The ordered value of the lines with a commitment, compared with their committed value (committed amount, or committed quantity at the agreed net price). Price-only lines are shown but do not count.

Can I change an active agreement?

Dates, reference, salesperson, payment terms, conditions, controls and alerts: yes. Products, prices and commitments: reset to draft, change, activate again. Existing orders are not repriced.

Are combo products supported?

No, on Odoo 18 and later combo products cannot be put in an agreement; their components follow the normal pricing.

A question? A problem? Talk to the people who built it.

We will get back to you within 8 business hours.

Contact us

Email us directly at

[email protected]

Published by

Nalios — Odoo Gold Partner, Belgium — nalios.be