Repository
OCA/multi-company · module folder · Try on Runboat
Module version
1.0.1
Category
Purchase Management
Folder size
0.12 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/multi-company
Last tracking update
2026-08-07 09:06:27
Authors
Akretion, Odoo SA, Odoo Community Association (OCA), Tecnativa
Maintainers
Akretion, Odoo SA, Odoo Community Association (OCA), Tecnativa
Committers
Marina Alapont, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module is useful if there are multiple companies in the same Odoo
database and those companies sell goods or services among themselves. It
allows to create a sale order in company A from a purchase order in
company B.

Imagine you have company A and company B in the same Odoo database:

- Company A purchase goods from company B.
- Company A will create a purchase order with company B as supplier.
- This module automate the creation of the sale order in company B with
  company A as customer.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings form Inherits account_invoice_inter_company.res_config_settings_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • intercompany_sale_order_id Many2one → sale.order
    comodel_name='sale.order' compute='_compute_intercompany_sale_order_id' compute_sudo=True
Public methods (2)
  • button_approve(self, force=False)
    Generate inter company sale order base on conditions.
  • button_cancel(self)

New fields (1)
  • intercompany_sale_line_id Many2one → sale.order.line
    comodel_name='sale.order.line' compute='_compute_intercompany_sale_line_id' compute_sudo=True
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    Sync lines between an confirmed unlocked purchase and a confirmed unlocked sale order
  • write(self, vals)
    Sync values of confirmed unlocked sales

New fields (3)
  • intercompany_sale_user_id Many2one → res.users
    comodel_name='res.users' string='Intercompany Sale User'
  • sale_auto_validation Boolean
    default=True help='When a Sale Order is created by a multi company rule for this company, it will automatically validate it.' string='Sale Orders Auto Validation'
  • so_from_po Boolean
    help='Generate a Sale Order when a Purchase Order with this company as supplier is created.\n The intercompany user must at least be Sale User.' string='Create Sale Orders when buying to this company'
Public methods (0)

No public methods.

New fields (3)
  • intercompany_sale_user_id Many2one → res.users
    comodel_name='res.users' help='User used to create the sales order arising from a purchase order in another company.' readonly=False related='company_id.intercompany_sale_user_id' string='Intercompany Sale User'
  • sale_auto_validation Boolean
    help='When a Sale Order is created by a multi company rule for this company, it will automatically validate it.' readonly=False related='company_id.sale_auto_validation' string='Sale Orders Auto Validation'
  • so_from_po Boolean
    help='Generate a Sale Order when a Purchase Order with this company as supplier is created.\n The intercompany user must at least be Sale User.' readonly=False related='company_id.so_from_po' string='Create Sale Orders when buying to this company'
Public methods (0)

No public methods.

New fields (1)
  • auto_purchase_order_id Many2one → purchase.order
    comodel_name='purchase.order' copy=False readonly=True string='Source Purchase Order'
Public methods (1)
  • action_confirm(self)

New fields (1)
  • auto_purchase_line_id Many2one → purchase.order.line
    comodel_name='purchase.order.line' copy=False readonly=True string='Source Purchase Order Line'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…