This module allows you to manage agreements, letter of intent and contract content. The module is meant to be used by the legal team of a company and to allow them to define sections, clauses and templates with their respective content that can be dynamic.
Based on the template, an agreement can be created and the pdf document generated.
The agreement would go through a workflow to finally become a contract with the customer signature.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Manage legal agreements, letters of intent and contracts in Odoo: build them from templates with sections, clauses, recitals and appendices, generate PDF documents, and track versions, signatures and review dates.
This module turns Odoo into a light contract-management tool for legal teams. Users create agreements from templates, and the system copies the template's recitals, sections, clauses, appendices and product lines into the new agreement. A wizard lets you pick a template and a title, and a "Reset" button can recompute an agreement from its template, replacing its content and logging a message.
Each agreement holds a title, reference code, version and revision numbers, start/end dates, signature dates, special terms, parties information and a stage shown as a status bar. Buttons create a new version (keeping the old one as a previous version) or a new agreement from a template. Content blocks (recitals, sections, clauses, appendices) can contain dynamic placeholders that are rendered automatically using the agreement's data and the partner's language.
Agreement types can define sub-types, a review user and a number of review days. A scheduled job checks agreements whose review date is reached and creates an activity for the responsible user. The module also adds settings to link agreements with maintenance, manufacturing, projects, repairs, RMAs, sales, subscriptions, stock, field service and helpdesk. Two PDF reports are available: Agreement and Agreement Preview.
Depends on
Required by other modules
Menus it adds
Models and fields (13)
- agreement · new modelcode (Reference), name (Title), color, state, active, parties, version, end_date, line_ids (Products/Services), readonly, revision, stage_id (Stage), partner_id (Partner), start_date, clauses_ids (Clauses), description, recital_ids (Recitals), template_id (Template), appendix_ids (Appendices), sections_ids (Sections), approved_date, change_notice (Change Notice (Days)), reviewed_date, special_terms, to_review_date, dynamic_parties, signed_contract (Signed Document), approved_user_id (Approved By), assigned_user_id (Assigned To), reviewed_user_id (Reviewed By)
- agreement.line · new modelqty (Quantity), name (Description), uom_id (Unit of Measure), product_id (Product), agreement_id (Agreement)
- agreement.type · extends an existing modelreview_days, review_user_id, agreement_subtypes_ids (Sub-Types)
- agreement.stage · new modelfold (Is Folded), name (Stage Name), active, readonly, sequence, stage_type (Type)
- agreement.clause · new modelname, title, active, content (Clause Content), sequence, section_id (Section), agreement_id (Agreement), dynamic_content, temp_agreement_id (Temp Agreement)
- agreement.recital · new modelname, title, active, content, sequence, agreement_id (Agreement), dynamic_content
- agreement.section · new modelname, title, active, content (Section Content), sequence, clauses_ids (Clauses), agreement_id (Agreement), dynamic_content
- agreement.subtype · new modelname (Sub-Type Name), active, agreement_type_id (Agreement Type)
- agreement.appendix · new modelname, title, active, content, sequence, agreement_id (Agreement), dynamic_content
- res.config.settings · extends an existing modelmodule_agreement_mrp (Link your manufacturing orders to an agreement.), module_agreement_rma (Link your RMAs to an agreement.), module_agreement_sale (Create an agreement when the sale order is confirmed.), module_agreement_stock (Link your pickings to an agreement.), module_agreement_repair (Link your repair orders to an agreement.), module_agreement_project (Link your projects and tasks to an agreement.), module_agreement_helpdesk (Link your Helpdesk tickets to an agreement.), module_agreement_maintenance (Manage maintenance agreements and contracts.), module_fieldservice_agreement (Link your Field Service orders and equipments to an agreement.), module_agreement_sale_subscription (Link your subscriptions to an agreement.)
- create.agreement.wizard · new modelname (Title), template_id (Template)
- agreement.dynamic.content.mixin · new modelfield_id (Field), copyvalue (Placeholder Expression), default_value, sub_object_id (Sub-model), sub_model_object_field_id (Sub-field)
- recompute.agreement.from.template.wizard · new modeltemplate_id, agreement_id
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 7 confirmed, 2 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/contract.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0To configure this module:
- Go to Agreement \> Configuration \> Templates
- Create a new template with sections and clauses and their respective content
- Go to Agreement \> Configuration \> Stages
- Create and reorder stages to match your process
Usage
Source · Odoo 18.0To use this module:
- Go to Agreement \> Agreements
- Create a new agreement
- Select a template
- Follow the process to get the required approval
- Send the invitation to the customer to review and sign the agreement
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.