Agreements & Call-Offs
Agreements turn approved quote conditions into reusable purchasing arrangements. Customers can start later quote drafts with the agreed products and prices instead of rebuilding the request from scratch.
When To Use Agreements
Use agreements when a quote represents a negotiated framework instead of a one-time purchase.
Typical examples:
- annual purchasing agreements
- blanket orders with fixed item prices
- project-specific quantity commitments
- staged deliveries from one negotiated offer
Agreement Lifecycle
Approved Quote → Agreement → Call-Off Quote → Order
An agreement can be created from a customer quote when the quote has a workflow state that is eligible for conversion:
| Quote State | Agreement Creation |
|---|---|
| Approved | Allowed |
| Accepted | Allowed |
| Ordered | Allowed |
| Draft / Submitted / Review | Not allowed |
| Rejected / Cancelled / Expired | Not allowed |
The quote must belong to a customer and contain items. Guest quotes and empty quotes cannot be converted into agreements.
Agreement Statuses
| Status | Meaning |
|---|---|
active |
Available for call-off ordering |
inactive |
Kept for reference, but not available for call-offs |
exhausted |
Quantities are fully consumed |
expired |
Validity date has passed or the agreement was closed by date |
Only active agreements can start a call-off quote.
Agreement Data
Each agreement stores:
- agreement number
- name
- customer
- optional project
- source quote
- store scope
- validity dates
- notes
Each agreement item stores:
- product, SKU, and name
- agreed quantity
- consumed quantity
- agreed price
- optional item validity dates
- notes
Customer Workflow
Customers can open My Agreements in their account area.
From the agreement detail page they can:
- review agreement metadata
- see agreed, consumed, and available quantities
- enter call-off quantities
- start a new draft quote from the selected quantities
The call-off quote keeps the agreement relation and uses the agreed item price. Creating the draft does not automatically increase the agreement item's consumed quantity; see Agreement Call-Offs before relying on the displayed remaining balance.
Quantity Rules
Call-off quantities are validated before a draft quote is created.
| Rule | Behavior |
|---|---|
| no quantity entered | request is rejected |
| quantity above available amount | request is rejected |
| inactive agreement | request is rejected |
| valid quantity | draft quote is created |
Admin Workflow
Admins can manage agreements in the Magento admin under Sales → B2B Quotes → Agreements.
Admins can:
- create agreements manually
- convert eligible quotes into agreements
- edit agreement metadata
- add or update agreement items
- set status and validity dates
- delete agreements when no longer needed
See Agreement Management for the admin UI details.
Database Tables
Agreements use these tables:
| Table | Purpose |
|---|---|
b2b_quote_agreement |
Agreement header records |
b2b_quote_agreement_item |
Agreement item quantities and prices |
The base quote tables also contain agreement references:
| Table | Column | Purpose |
|---|---|---|
b2b_quote |
agreement_id |
Links a quote to the source agreement |
b2b_quote_item |
agreement_item_id |
Links quote lines to agreement items |