Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Odobritve
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Estate Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
CFDI4.0 CartaPorte Multiple-companies email odoo.sh
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
CFDI4.0 CartaPorte Multiple-companies email odoo.sh
About this forum
  1. Miscellaneous
  2. Forum

How to Prevent Cross-Replication of Applications and Settings in a Multi-Company Environment?

Naroči se

Get notified when there's activity on this post

This question has been flagged
Multiple-companiesapps
1 Odgovori
3547 Prikazi
Avatar
Dayron

¿Is there any way to prevent the applications and settings I configure for one of my companies in a multi-company environment from being replicated in the others? For example, I have electronic invoicing for two companies in different countries, which are unrelated, yet the configurations of one are being replicated in the other.

0
Avatar
Opusti
Avatar
Gracious Joseph
Best Answer

In a multi-company environment in Odoo, managing configurations and applications independently for each company can sometimes be challenging because certain settings and applications are shared across all companies by default. However, Odoo provides mechanisms to isolate configurations and prevent cross-replication of settings.

Here’s how you can achieve this:

1. Understanding Multi-Company Configuration

  • Shared Data:
    • Some models and settings, such as users, apps, and certain configurations, are shared globally across companies.
  • Company-Specific Settings:
    • Other settings, like fiscal positions, taxes, and journals, can be configured per company.

2. Steps to Prevent Cross-Replication of Settings

A. Isolate Applications Per Company

  1. Activate Multi-Company Feature:
    • Go to Settings > Users & Companies > Companies.
    • Ensure each company is listed with the appropriate settings.
  2. Assign Users to Specific Companies:
    • Navigate to Settings > Users & Companies > Users.
    • Assign each user to their respective company under the Allowed Companies field.
    • Use the Default Company field to set the primary company for the user.
  3. Restrict User Access:
    • Ensure users are restricted to their assigned companies by enabling the multi-company rules:
      • Go to Settings > Technical > Security > Record Rules.
      • Check rules such as res.company to enforce isolation of company data.

B. Configure Applications Separately

Many applications, like Invoicing, Accounting, and Electronic Invoicing, need company-specific configurations. Here's how to isolate their settings:

  1. Electronic Invoicing:
    • Ensure separate journals, tax configurations, and fiscal positions for each company:
      • Go to Accounting > Configuration > Journals and create company-specific journals.
      • Set the Company field in each journal to the respective company.
    • Configure electronic invoicing independently for each company:
      • Go to Accounting > Configuration > Settings.
      • Switch the company context (via the dropdown in the top-right corner) and configure the settings separately.
  2. Company-Specific App Settings:
    • For apps like Sales, Purchases, and Inventory, switch the company context and configure independently:
      • For example, in Sales, create separate price lists, payment terms, and delivery methods for each company.
  3. Restrict Shared Modules:
    • Certain modules like HR or CRM might share configurations across companies. Use record rules to enforce isolation:
      • Navigate to Settings > Technical > Security > Record Rules.
      • Add a rule for the specific model (e.g., hr.employee for HR) to filter data by company:
        ['|', ('company_id', '=', False), ('company_id', '=', user.company_id.id)]
        

C. Prevent Shared Configurations in Global Settings

Some global configurations are shared by default (e.g., SMTP email servers, payment acquirers). You can isolate these by:

  1. Using Company-Specific Email Servers:
    • Go to Settings > Technical > Email > Outgoing Mail Servers.
    • Create a separate mail server for each company.
    • Assign the respective company in the Company field.
  2. Company-Specific Payment Acquirers:
    • Navigate to Settings > Payments > Payment Acquirers.
    • Configure a separate payment acquirer (e.g., PayPal, Stripe) for each company and assign it to the correct company.

3. Advanced Techniques

A. Use Record Rules for Data Isolation

Create custom record rules for critical models to prevent cross-replication of settings and records:

  1. Go to Settings > Technical > Security > Record Rules.
  2. Add a new rule for the model you want to isolate (e.g., account.journal).
  3. Use a domain like this:
    [('company_id', '=', user.company_id.id)]
    
  4. Assign the rule to the appropriate groups or users.

B. Custom Code for Deeper Isolation

For more complex scenarios, you can extend Odoo models or views to enforce company-specific logic programmatically.

Example: Restrict certain settings for a company

from odoo import models, api

class ResConfigSettings(models.TransientModel):
    _inherit = 'res.config.settings'

    @api.model
    def default_get(self, fields):
        res = super(ResConfigSettings, self).default_get(fields)
        if self.env.user.company_id.name == 'Company A':
            res['field_x'] = 'Company A Default Value'
        return res

4. Switching Companies for Configuration

Ensure you always switch to the relevant company context when configuring applications:

  • Use the company selector in the top-right corner of the Odoo interface to change the active company.
  • Configure settings, fiscal rules, or workflows for the selected company.

5. Best Practices

  • Test in a Sandbox: Always test multi-company configurations in a sandbox environment before rolling them out.
  • Document Configurations: Maintain clear documentation of what settings are applied to each company.
  • Train Users: Ensure users understand how to use the multi-company dropdown and their company restrictions.

By implementing these measures, you can effectively prevent the cross-replication of settings and applications in a multi-company Odoo environment. Let me know if you need further guidance or help implementing specific configurations!

0
Avatar
Opusti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Related Posts Odgovori Prikazi Aktivnost
How can I customise Odoo to fit my business needs?"
apps
Avatar
0
apr. 25
4
Multiple companies - how to differentiate views
Multiple-companies views-differentiation
Avatar
Avatar
1
maj 25
3188
Timbrado de complementos de pago
CFDI4.0 odoo certification apps
Avatar
0
avg. 25
1
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now