OdooWiki OCA HUB

OCA contracts and documents modules for Odoo

Recurring contracts and their invoicing, agreements, document signing, document management and knowledge bases. The catalogue has 101 modules in this area, 33 of them confirmed in Odoo 19.0 (reviewed on 2026-11-03).

Confirmed modules per version

12.0
48 modules
13.0
30 modules
14.0
48 modules
15.0
36 modules
16.0
51 modules
17.0
44 modules
18.0
75 modules
19.0
33 modules
20.0
0 modules

OCA repositories in this area

Other areas

Modules in this area

  • account_dms_field

    Adds a Documents tab to invoices and journal entries so users can store and manage related files directly inside the accounting document.

  • AgreementsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    agreement

    Register 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.

  • Agreement AccountOdoo 12, 14, 17, 18
    agreement_account

    Link customer invoices and vendor bills to an agreement, and see all related invoices directly from the agreement form.

  • agreement_helpdesk_mgmt

    Link helpdesk tickets to agreements and see all tickets related to an agreement from a smart button on the agreement form.

  • agreement_helpdesk_mgmt_fieldservice

    When a helpdesk ticket linked to an agreement creates a Field Service order, the same agreement is automatically carried over to the new order.

  • agreement_helpdesk_mgmt_sale

    Automatically fills in the Agreement on a Helpdesk ticket from its linked Sales Orders, but only when the ticket has no agreement yet and all linked orders share the same one.

  • agreement_helpdesk_mgmt_serviceprofile

    Adds a Service Profile field to helpdesk tickets, letting users link a ticket to a service profile from the related agreement and group tickets by service profile in search.

  • Agreements LegalOdoo 12, 13, 14, 15, 16, 17, 18
    agreement_legal

    Manage 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.

  • agreement_legal_sale

    When a sales order is confirmed, this module automatically creates a customer agreement from a chosen agreement template, copying the order lines and generating service profiles for service products.

  • agreement_legal_sale_fieldservice

    When a sales order is confirmed, this module automatically fills in the Field Service location on the related agreement using the customer's service location, so users don't have to set it manually.

  • Maintenance AgreementsOdoo 12, 13, 14, 16
    agreement_maintenance

    Link maintenance agreements to equipment and maintenance requests, so you can see which contract covers each machine and each repair job.

  • Agreement - MRPOdoo 12, 14
    agreement_mrp

    Link manufacturing orders to an agreement and see how many MOs belong to each agreement from a smart button on the agreement form.

  • Agreement - ProjectOdoo 12, 14, 17, 18, 19
    agreement_project

    Link projects and their tasks to an agreement, and see a Tasks counter button on the agreement form that opens the related tasks.

  • Agreement RebateOdoo 13, 15, 16, 18, 19
    agreement_rebate

    Lets you define rebate conditions on agreements and automatically calculate, settle and invoice the rebates owed to customers or vendors based on their invoiced amounts.

  • agreement_rebate_partner_company_group

    Extends rebate agreements so that when a rebate settlement is created, it can include all members of the agreement partner's company group, not just the partner itself.

  • Agreement - RepairOdoo 12, 14, 17, 18
    agreement_repair

    Link repair orders to an agreement and see all related repair orders from the agreement form with a smart button.

  • Agreement SaleOdoo 12, 13, 14, 16, 17, 18, 19
    agreement_sale

    Links sales orders to agreements and agreement types, and shows a Sale Orders counter button on the agreement form. Sales managers get full access to agreements and agreement types.

  • Agreement Service ProfileOdoo 12, 13, 14, 15, 16, 18
    agreement_serviceprofile

    Adds a Service Profile object to agreements, letting you track the services delivered under a contract with their own stages, products and notes.

  • agreement_sign_oca

    Send any agreement for electronic signature directly from Odoo and automatically move it to a chosen stage once fully signed, attaching the signed PDF.

  • agreement_stock

    Link stock transfers, moves and lots/serials to an agreement, and see counters and lists of the related stock documents directly from the agreement form.

  • agreement_tier_validation

    Adds an approval workflow to agreements: an agreement in draft must be reviewed and validated by the assigned reviewers before it can become active.

  • Atachment CategoryOdoo 12, 13, 14, 17
    attachment_category

    Lets you organise documents (attachments) into hierarchical categories and filter or search attachments by those categories.

  • Preview attachmentsOdoo 12, 13, 14, 15, 18
    attachment_preview

    Preview PDF and LibreOffice attachments directly inside Odoo without downloading them. A preview button appears on attachments and binary fields, opening a side panel or a new tab.

  • Attachment Zipped DownloadOdoo 14, 15, 16, 17, 18, 19
    attachment_zipped_download

    Lets users select several attachments in Odoo and download them together as a single ZIP file. It also gives developers a reusable helper so any record can offer a 'download all attachments' action.

  • Recurring - Contracts ManagementOdoo 12, 13, 14, 15, 16, 17, 18, 19
    contract

    Create customer and supplier contracts with recurring lines that automatically generate draft invoices on a schedule, and let customers view their contracts in the portal.

  • Contract Analytic TagOdoo 16, 17, 18, 19
    contract_analytic_tag

    Lets you add analytical tags on contract lines so the invoices generated from those contracts automatically carry the same tags.

  • contract_delivery_zone

    Shows the delivery zone of a customer directly on contracts, so you can see and filter contracts by delivery zone without opening the customer record.

  • contract_digitized_signature

    Adds a customer signature field to contracts, letting you capture a handwritten signature on screen and print it on the contract PDF report.

  • Contract ForecastOdoo 12, 16, 18
    contract_forecast

    Adds a forecast of future contract invoices, showing expected amounts and invoice dates per contract line, and lets you view them in a pivot, graph or list report.

  • contract_forecast_variable_quantity

    This module makes contract forecasts refresh automatically when you change how a contract line calculates its quantity, so the forecast stays in line with the new quantity rule.

  • contract_invoice_auto_validate

    Automatically validates (posts) invoices generated from contracts when the company option is enabled. A new setting in the Contract configuration lets you turn this behaviour on or off.

  • contract_invoice_manually

    Adds a "Manually Invoiced" option on contracts so they are skipped by automatic invoice generation and can instead be invoiced on demand from Accounting. A company setting turns the feature on or off.

  • Contract Invoice Start End DatesOdoo 12, 14, 16, 17, 18, 19
    contract_invoice_start_end_dates

    When a contract generates an invoice, this module automatically fills the start and end dates on the invoice line for products that require dates, using the contract's billing period.

  • contract_layout_category_hide_detail

    Lets you hide the detail lines, subtotals and line amounts of sections on contracts, their printed reports, the customer portal and the invoices generated from them.

  • contract_line_defer

    Lets you mark contract lines as deferred so they are not invoiced while their start date is unknown, then activate them later with a start and end date. A company setting can defer new contract lines automatically.

  • contract_line_defer_successor

    When a contract line is deferred, this module blocks the successor, stop and cancel actions on it and greys it out in the contract lines list, so users cannot act on a line that has been postponed.

  • contract_line_successor

    Manage the full life of contract lines: stop, suspend, plan a successor, cancel, un-cancel and renew them, with automatic renewal and clear lifecycle states.

  • Contract MandateOdoo 12, 13, 14, 16, 17, 18
    contract_mandate

    Lets you attach a direct debit mandate to a contract so that invoices created from that contract automatically carry the mandate. The mandate field only appears when the contract's payment method requires a mandate.

  • contract_payment_auto

    Lets you turn on automatic payment for contracts, so invoices created from them are posted, emailed and charged to a saved payment token without manual work.

  • Contract Payment ModeOdoo 12, 13, 14, 15, 16, 17, 18, 19
    contract_payment_mode

    Adds a Payment Mode field to contracts so that invoices generated from a contract automatically carry the same payment mode as the contract.

  • Contract Price RevisionOdoo 12, 13, 15, 17, 18
    contract_price_revision

    Lets you revise contract line prices by applying a percentage change or a fixed new price, creating a new line and closing the old one the day before the new start date.

  • Contract Queue JobOdoo 12, 14, 16, 17, 18
    contract_queue_job

    When enabled, contract invoicing and contract line renewals are split into background jobs instead of being processed all at once, and a new button lets you enqueue invoice creation from the manual invoice wizard.

  • contract_refund_on_stop

    Lets users stop a contract line even after it has already been invoiced: when the stop date falls before the last invoiced date, a refund invoice is created automatically for the unused period and the line's last invoiced date is moved back to the stop date.

  • Contract from SaleOdoo 12, 13, 14, 15, 16, 17, 18, 19
    contract_sale

    Gives salespeople access to recurring contracts directly from the Sales app, without needing accounting permissions. Sales users see their own contracts, while sales managers see all contracts.

  • Contracts Management - Recurring SalesOdoo 12, 14, 15, 16, 17, 18
    contract_sale_generation

    Lets contracts generate sales orders instead of invoices on their recurring schedule, with an option to confirm those orders automatically. Users can also see how many sales orders a contract has produced and open them from the contract form.

  • contract_sale_invoicing

    Lets you add pending sales orders to a recurring contract invoice when they share the same analytic account, either merged into the contract invoice or as separate invoices.

  • contract_sale_invoicing_pricelist

    When recurring invoices are generated from a contract, the invoice automatically uses the contract's pricelist and currency instead of the customer's default pricelist.

  • contract_sale_mandate

    When a sale order with a banking mandate is turned into a contract, the mandate is automatically carried over to the contract.

  • contract_sale_payment_mode

    Lets you choose a different payment mode for contracts generated from sale orders than the one used for invoices, controlled by a company-level setting.

  • contract_sale_tag

    Adds a "Contract tags" field to sale orders and automatically copies the tags from the contract when a sale order is generated from it.

  • contract_sale_transmit_method

    When a contract is created from a sale order, the transmit method chosen on the sale order (email, post, portal, etc.) is automatically copied to the contract.

  • contract_service_dates

    Adds Service Start Date and Service End Date fields to contract lines, so you can record the real service period separately from the billing dates. The service dates follow the contract line dates automatically unless you change them by hand.

  • contract_split

    Adds a Split button on contracts so you can move or divide contract lines into a brand-new contract, keeping a link back to the original contract and line.

  • contract_termination

    Lets authorized users terminate a contract with a reason, comment and date, and reactivate it later. Terminated contracts show a warning and become read-only, and their lines can no longer be renewed or modified.

  • contract_transmit_method

    Lets you choose how each contract should be sent (email, post, portal, etc.) and automatically copies that choice onto the invoices generated from the contract.

  • Contract Last Date UpdateOdoo 14, 16, 17, 18, 19
    contract_update_last_date_invoiced

    Lets authorized users manually correct the last invoiced date and the next invoice date on a contract line, for example after invoices were deleted. A refresh button on the contract line opens a small pop-up to set both dates.

  • contract_variable_qty_prorated

    Adds a "Prorated Quantity" formula for contract lines, so invoices can bill a quantity proportional to the days actually covered in the invoicing period.

  • contract_variable_qty_sale_order_line

    Adds a new formula option for contract quantity calculation that uses the linked sale order line quantity. This lets users invoice based on the ordered quantity from a sale order.

  • Contract Variable Qty TimesheetOdoo 12, 13, 15, 16, 17, 18
    contract_variable_qty_timesheet

    Adds three new quantity formulas to recurring contracts so that invoice lines can be automatically filled with hours logged in Timesheets (analytic lines) for the matching period.

  • Variable quantity in contract recurrent invoicingOdoo 12, 13, 14, 15, 16, 17, 18, 19
    contract_variable_quantity

    Lets you set contract lines to invoice a quantity calculated by a formula instead of a fixed number, and optionally skip lines whose computed quantity is zero.

Data imported from GitHub: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.