OdooWiki OCA HUB

Contract Split

contract_split folder_open OCA/contract open_in_new
Sales License: AGPL-3

Adds a new button "Split" on a contract to be able to split lines across several contracts.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

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.

On any contract form you get a new highlighted "Split" button in the header. It opens a small pop-up window showing the contract, its customer and invoice address, and a Lines tab listing every contract line with its product, description, original quantity, unit of measure and a "Quantity to move" field.

For each line you can enter how much quantity should go to the new contract: - Leave it at zero to keep the line where it is. - Enter the full original quantity to simply move the whole line to the new contract. - Enter a smaller quantity to split the line: a copy is created on the new contract with that quantity, and the original line's quantity is reduced by the same amount.

The system refuses to move more than the original quantity of a line and shows a validation message. When you confirm with the Split button, a new contract is created using the same name, customer and invoice address as the original, with line recurrence enabled. Lines that were moved or split keep a reference to the contract and line they came from, and the new contract keeps a reference to the original contract, so the history of the split stays visible.

It works together with the Contracts app on contract.contract and contract.line.

Depends on

Models and fields (4)
  • contract.line · extends an existing modelsplitted_from_line_id, splitted_from_contract_id
  • split.contract · new modelpartner_id, split_line_ids, main_contract_id, invoice_partner_id
  • contract.contract · extends an existing modeloriginal_contract_ids
  • split.contract.line · new modelname, uom_id, product_id, original_qty, quantity_to_split (Quantity to move), split_contract_id, original_contract_line_id

Text generated by AI (DeepSeek) from reading the Odoo 14.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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 14.0
  • On a contract, hit the button "Split" and select which lines and/or quantities must be spitted to another contract.

No verified information in OCA: Installation, Configuration.

info

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.