Multi-Company Quick-Switc
Clone config, products and templates across companies and switch fast
Setting up each company in a multi-company Odoo database means re-entering the same products, taxes, fiscal positions and configuration over and over — hours of repetitive work that is easy to get wrong. This module copies any record set from a source company to one or many target companies in a single batch, with a domain filter, de-duplication, typed field overrides and a dry-run preview. Every batch logs each created, skipped and errored record and can be reverted in full, and a quick-switch wizard changes the user's active company in a couple of clicks. Built for accountants and admins running group companies in one Odoo.
Key Features
Configurable Clone Profiles
A gb.clone.profile points at any non-transient ir.model (e.g. product.template, account.tax) and defines a source domain, a copy-active-only flag and a dedup_field used to detect existing records. Constraints validate the domain is a real list and that match and override fields exist on the model.
One-to-Many Batch Cloning
gb.clone.batch copies from one source_company_id to many target_company_ids in a single action_run_clone. For each target it re-keys company_id, applies overrides and calls copy() per record, writing a gb.clone.line result of created, skipped or error for every record.
Typed Field Overrides
gb.clone.profile.override forces field values on every cloned record, typed as text, integer, decimal, boolean or a record reference resolved from an xmlid or id. Use it to force a price list, reset a flag or repoint a many2one when copying into the target company.
Dry-Run Preview & Scope
action_preview runs preview() without writing anything, returning a per-company count of records that would be created versus already present. estimate_scope on the profile counts matching source records up front, so admins gauge a clone's size before committing.
Per-Record Logs
Each batch stores a gb.clone.line per record with the source display name, the new record id and a created/skipped/error/reverted result. created_count, skipped_count and error_count roll up on the batch, and get_clone_report groups results per target company.
Full Batch Revert
action_revert unlinks every record a completed batch created, flips each line to reverted and sets the batch state to Reverted, posting a chatter note with the count removed. De-duplication via skip_existing means re-running a batch never creates duplicates.
Quick Company Switch
The gb.company.switch.wizard sets a user's company_ids and active company_id in a couple of clicks, with an Allow All Companies toggle, then reloads the client so the new multi-company context takes effect immediately.
Scheduled Cloning
Profiles flagged auto_clone with a single explicit auto_target_company_id are run unattended by _cron_scheduled_clone, keeping a target company's products or configuration in sync with a source company overnight without manual batches.
Use Cases
Screenshots
Clone Batches
Clone Profiles
Quick Company Switch
Why Choose This Module
Setting up each company in a group is repetitive and error-prone. This module copies record sets — products, taxes, fiscal positions, payment terms and more — from a source company to one or many targets in a single run, with field overrides, de-duplication, full clone logs and a revert option. A real time-saver for accountants and admins running group companies in one Odoo.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: base, product, mail
- Support: support@pokutsoft.com
Update date: 2026-07-02