This module adds an Agreement object to Odoo so that contracts and other agreements concluded with customers and suppliers can be registered and followed in one place. Each agreement has a code, a name, a partner, a Sale or Purchase domain, and signature, start and end dates. The partner may be a contact person of a company: the company is stored on the agreement as Commercial Entity, and the agreement code must be unique per commercial entity and company.
Agreements have a chatter with tracked field changes and activities, can be archived, are listed on the partner form through a smart button, and are protected by three access roles (Read-Only Users, User and Manager). Optionally, agreements can be classified with agreement types, which preset the domain, and flagged as templates that can be duplicated to create new agreements.
This module is the base of the OCA agreement modules. Its settings page lets you install extensions for stages, signatures, revisions, termination, legal content, and links to sales, products, projects and rebates.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Register and follow customer and supplier agreements in one place, with a code, partner, sale or purchase domain, and signature, start and end dates. Agreements appear on the partner form and can be classified by type or used as templates.
This module adds an Agreements app to Odoo where you record contracts and other agreements concluded with customers or suppliers. Each agreement has a code, a name, a partner, a domain (Sale or Purchase), and signature, start and end dates. The partner may be a contact person of a company: the company is stored as the Commercial Entity, and the agreement code must be unique per commercial entity and company.
- Agreements are listed under the Agreements menu, with a list, form and kanban view, and can be searched by name or code, filtered by Sale, Purchase or Archived, and grouped by partner, commercial entity, signature date or domain.
- On the partner form a smart button shows how many agreements the partner has and opens the filtered list.
- A chatter tracks changes to key fields and lets you schedule activities; agreements can be archived.
- If enabled in Settings, agreements can be classified with agreement types (which preset the domain) and flagged as templates; templates do not require a partner and are listed separately under Configuration > Templates.
- Access is controlled by three roles: Read-Only Users, User and Manager; a multi-company rule limits agreements to the allowed companies.
Depends on
Required by other modules
Menus it adds
Models and fields (4)
- agreement · new modelcode, name, active, domain, end_date, company_id (Company), partner_id (Partner), start_date, is_template (Is a Template?), signature_date, agreement_type_id (Agreement Type), commercial_partner_id (Commercial Entity)
- res.partner · extends an existing modelagreement_ids (Agreements), agreements_count
- agreement.type · new modelname, active, domain (_domain_selection)
- res.config.settings · extends an existing modelmodule_agreement_sale, module_agreement_type, module_agreement_legal, module_agreement_stage, module_agreement_rebate, group_use_agreement_type (Use agreement types), module_agreement_product, module_agreement_project, module_agreement_revision, module_agreement_signature, group_use_agreement_template (Use agreement template), module_agreement_termination, module_agreement_legal_content
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/agreement.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0Access rights
The module creates an Agreement privilege with three roles. Assign them in Settings \> Users & Companies \> Users, tab Access Rights:
- Read-Only Users: see the Agreements menu and read agreements.
- User: create, edit, delete and archive agreements, and read agreement types. When the module is installed, every existing internal user receives this role.
- Manager: in addition, manage agreement types and the Agreements settings.
Agreement types and agreement templates are available to every user with one of these roles.
Settings
Go to Agreements \> Configuration \> Settings (Manager role required).
- Advanced Features offers shortcuts to the agreement types and agreement templates and lets you install the extension modules for signatures, termination, stages, hierarchical types, revisions and legal content.
- Connections lets you install the modules linking agreements to projects, sales, rebates and products.
Agreement types
Go to Agreements \> Configuration \> Types (Manager role required) and create the types you need. Each type has a name and a default domain (Sale or Purchase) that is applied to agreements of that type. Types can be archived.
Usage
Source · Odoo 19.0Create an agreement
- Go to Agreements \> Agreements and click New.
- Enter the Agreement Name and the Code. The code must be unique per commercial entity and company. Agreements are displayed as
[code] nameeverywhere. - Select the Partner. You can pick a contact person of a company: the company is then shown as Commercial Entity above the partner.
- Choose the Domain: Sale for agreements with customers, Purchase for agreements with suppliers. If you select an Agreement Type, the domain of the type is applied; you can still change it.
- Enter the Signature Date, Start Date and End Date.
- In a multi-company setup, check the Company of the agreement.
Changes to the code, name, partner, domain and dates are tracked in the chatter, where you can also log notes, send messages and schedule activities.
Find agreements
The agreement list can be searched by name or code and by partner. The Sale and Purchase filters restrict the list to one domain, and the Archived filter shows archived agreements. Group the list by partner, commercial entity, signature date or domain. The Commercial Entity column is optional and can be shown from the column selector.
On the partner form, the Agreements smart button shows the number of agreements linked directly to that partner and opens them. A new agreement created from there is pre-filled with the partner.
Duplicate and archive agreements
- Actions \> Duplicate copies an agreement. As the code must be unique, the copy gets the code of the original followed by (copy).
- Actions \> Archive hides an agreement without deleting it. Archived agreements are shown with the Archived filter and can be unarchived from there.
Agreement templates
Templates are agreements used as a starting point for new agreements. They do not require a partner and are not shown in the main agreement list.
- Go to Agreements \> Configuration \> Templates and create a template, or tick Is a Template? on an existing agreement.
- To create an agreement from a template, open the template and use Actions \> Duplicate. The copy is a regular agreement: the template flag is not copied. Rename it, set the code and the partner.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.