OdooWiki OCA HUB

OCA technical tools and administration modules for Odoo

Interface improvements, contacts, multi-company, approvals, permissions, reports, email, authentication and server utilities: the technical foundation many other modules rely on. The catalogue has 1,101 modules in this area, 14 of them confirmed in Odoo 20.0 (reviewed on 2026-11-03).

Confirmed modules per version

12.0
459 modules
13.0
396 modules
14.0
523 modules
15.0
400 modules
16.0
606 modules
17.0
417 modules
18.0
592 modules
19.0
298 modules
20.0
14 modules

OCA repositories in this area

Other areas

Modules in this area

  • partner_utm_source

    Adds a UTM Source field to contacts so you can record where each contact came from and group contacts by that source.

  • Partner VAT UniqueOdoo 12, 13, 14, 15, 16, 17, 18, 19
    partner_vat_unique

    Adds an optional setting that prevents two contacts or companies from sharing the same VAT number. When enabled, Odoo blocks saving a duplicate VAT with an error message.

  • Password SecurityOdoo 12, 13, 14, 15, 16, 17, 18, 19
    password_security

    Lets administrators define company-wide password rules (expiry, minimum length, required lowercase/uppercase/digits/special characters, reuse history, waiting time between changes) and enforces them whenever users set or reset a password.

  • payment_environment

    Lets administrators store payment acquirer settings (such as the enabled/disabled state) in server environment configuration files instead of the Odoo database, so sensitive or environment-specific values stay outside the database.

  • pdf_xml_attachment

    This module provides technical helpers to read XML attachments embedded inside PDF files and to add an XML attachment into a PDF. It does not add menus or user screens; it is meant to be used by other modules or developers.

  • pglogicalOdoo 12
    pglogical

    This module makes Odoo replicate database structure changes (like creating or altering tables) to configured pglogical replicas, so replicated databases stay in sync with the main one.

  • pingen

    Lets you flag any Odoo attachment to be sent as a physical letter through the paid pingen.com postal service, and tracks each letter's status, cost and delivery information inside Odoo.

  • pingen_env

    Lets administrators keep the Pingen.com connection settings (client ID, secret, organization, staging mode, webhook secret) in server environment variables instead of typing them in Odoo.

  • portal_debranding

    Removes Odoo branding from customer portal pages and the login screen, hiding the Odoo promotion block, the sidebar branding element and the "Powered by Odoo" link.

  • Remove Odoo Branding from WebsiteOdoo 12, 13, 14, 15, 16, 17, 18
    portal_odoo_debranding

    Removes Odoo branding from portal pages by hiding the Odoo promotion block and the hidden sidebar element on customer portal screens.

  • portal_partner_data_no_edit

    Lets you block a customer's portal user from editing their own contact details. When enabled on a contact, the portal 'My Account' page becomes read-only and shows a 'View' link instead of 'Edit'.

  • portal_partner_select_all

    Adds a checkbox to the portal invitation wizard that lets you invite all listed contacts at once instead of ticking them one by one.

  • portal_user_login_email_change

    When a portal user changes their own contact email address, this module also updates the login email of their linked Odoo user, so they can keep signing in with the new address.

  • pos_category_multicompany

    Adds a Company field to Point of Sale categories so each category can belong to a specific company. Users only see categories of their allowed companies, keeping multi-company POS data separated.

  • pos_environment

    Lets administrators add a custom header and footer text to Point of Sale receipts, so tickets printed in test, pre-production or production environments can be told apart.

  • pos_operating_unit

    Assign operating units to Point of Sale configurations so that users only see the POS configs, sessions, orders, order lines and payments that belong to their allowed operating units.

  • pos_restaurant_multi_company

    This module lets you assign restaurant floors, tables and printers to a specific company in Odoo Point of Sale Restaurant. Users only see the floors, tables and printers that belong to their allowed companies.

  • postgres_vacuum

    Adds two scheduled jobs that clean up and refresh Odoo's database tables: one weekly analysis job and one monthly full vacuum job (inactive by default).

  • Printer ZPL IIOdoo 12, 13, 14, 15, 16, 17, 18, 19
    printer_zpl2

    Lets you design ZPL II labels (text, barcodes, shapes, images) for any Odoo model and print them on Zebra printers, with a preview via the Labelary service and an import tool for existing ZPL code.

  • printing_auto_base

    Lets you set up rules that automatically send a report or an existing attachment to a printer when a document is processed, without clicking anything. Other modules use it to add automatic printing to their own documents.

  • printing_auto_label_printer

    Adds a "Label" option to automatic printing rules so a report or attachment can be sent to the user's default label printer when no specific printer is chosen.

  • printing_simple_configuration

    Lets administrators record print servers and the printers attached to them, per company or warehouse, so other Odoo workflows can find the right printer for a given usage.

  • Data Privacy and ProtectionOdoo 12, 13, 14, 15, 16, 17, 18
    privacy

    Adds a Privacy area in Odoo where you can record data processing activities, naming who controls and processes personal data, and which partners are affected. Access is controlled by two new user groups.

  • Privacy - ConsentOdoo 12, 13, 14, 15, 16, 17, 18
    privacy_consent

    Ask contacts for explicit consent to include their data in a data processing activity, send them accept/reject emails, and track their answers automatically.

  • privacy_partner_report

    Lets a data protection officer pick a partner and see every record in Odoo that mentions that partner, then export the whole list to an Excel file.

  • privacy_partner_to_be_forgotten

    Lets authorized users permanently anonymize contacts (and their linked user accounts, messages and attachments) to comply with GDPR erasure requests. The action is available from the Contacts list and form views and cannot be undone.

  • product_account_multicompany_default

    Copy a product's or product category's income and expense accounts to your other companies, matching accounts by code. Buttons appear on the product and category forms, and new records are propagated automatically.

  • product_allergen

    Add allergen information to products and show allergen icons on product labels that have no barcode. Includes a pre-loaded list of the 14 major allergens (FDA/EU) with icons.

  • product_category_company

    Lets you assign each product category to a specific company, so categories can be shared or kept private per company in a multi-company database.

  • product_category_company_favorite

    Lets each company mark product categories as favorites, so only relevant categories appear when picking a category on a product. This reduces mistakes in multi-company setups where companies should not share all categories.

  • product_category_inter_company

    Lets you assign a company to product categories so each company sees only its own categories (plus shared ones), and prevents mixing categories from different companies.

  • product_category_multi_company

    Lets you share product categories across several companies and automatically blocks inconsistent company settings between categories, their parents/children and the products inside them.

  • product_default_code_res_company_code

    Automatically generates the internal reference (default code) of products using a per-company sequence prefixed by the company code, and makes the field read-only for company-specific products.

  • Product FAO FishingOdoo 12, 13, 14, 15, 16, 17, 18
    product_fao_fishing

    Adds ready-made FAO fishing area and fishing technique attributes to products, so you can tag each product with where and how it was caught.

  • product_intercompany_account

    Lets you set separate income and expense accounts for sales and purchases made between companies of the same group, so intercompany invoices post to the right accounts automatically.

  • product_meat_unece

    Adds a UNECE Meat tab on product forms where you classify meat products (species, cut, refrigeration, packing, etc.) and Odoo automatically builds the standardized UNECE meat code.

  • Product multi-companyOdoo 12, 13, 14, 15, 16, 17, 18, 19
    product_multi_company

    This module lets you choose, for each product, in which companies it is available. On the product form, the single company field is replaced by a list of allowed companies.

  • product_multi_company_stock

    Prevents removing a company from a product's allowed companies when that company still has stock quantities or stock moves for the product. Also adjusts how the company is set on lot/serial numbers for products shared across companies.

  • Operating Unit in ProductsOdoo 12, 14, 16, 17, 18, 19
    product_operating_unit

    Adds operating units to products and product categories, so users only see products and categories belonging to their allowed operating units. Product operating units are inherited from the product category and kept consistent.

  • product_packaging_unece

    Adds official UNECE packaging type codes (Rec 21) to Odoo, so you can tag each packaging level with the standard packaging type it represents.

  • product_pricelist_operating_unit

    Adds an Operating Unit to product pricelists, suggests the user's default unit when creating one, and limits which pricelists each user can see based on their allowed operating units.

  • product_supplierinfo_group_intercompany

    Adds a supplier sequence number to intercompany pricelists so you can control the order of supplier price lists, and protects automatically generated supplier groups from manual changes.

  • product_supplierinfo_intercompany

    Lets a company flag one of its pricelists as an intercompany supplier pricelist, so that the prices defined on it automatically become vendor prices (supplier info) for the other companies in the same Odoo database.

  • product_supplierinfo_intercompany_multi_company

    Makes intercompany vendor pricelists work correctly when products are shared between several companies. It shows which companies a supplier pricelist line applies to and only creates intercompany vendor info when the product belongs to both the vendor and…

  • Product Tax Multi Company DefaultOdoo 12, 13, 14, 15, 16, 17, 18, 19
    product_tax_multicompany_default

    Keeps product sales and purchase taxes consistent across all companies. When a product is created, its taxes are automatically copied to every company, and a button lets you re-align taxes after changes.

  • profilerOdoo 12, 13, 14
    profiler

    Lets administrators record and analyse the performance of Odoo itself, capturing Python code execution and PostgreSQL query statistics for a chosen period and showing the slowest or most frequent operations.

  • Project MembersOdoo 12, 13, 14
    project_members

    Adds a Members tab to the project form where you can list the users who belong to a project.

  • project_multi_company

    Adds a Company field to project stages and task stages, so each stage can belong to a specific company. Users only see the stages of the companies they are allowed to work in.

  • Project with Operating UnitsOdoo 12, 14, 15, 16, 17, 18
    project_operating_unit

    Adds an Operating Unit to projects and tasks, so each project belongs to a business unit and users only see projects and tasks from their allowed operating units.

  • proxy_trusted_hops

    Lets administrators tell Odoo how many reverse proxies sit in front of it, so the real client IP address is used instead of an internal proxy address when several proxies are chained.

  • purchase_deposit_operating_unit

    When you create a purchase deposit from a purchase order, the deposit automatically inherits the operating unit of that order.

  • Operating Unit in Purchase OrdersOdoo 12, 13, 14, 15, 17, 18
    purchase_operating_unit

    Adds an Operating Unit to purchase orders and their lines, carries it through to vendor bills, and restricts which purchase orders each user can see based on their allowed operating units.

  • purchase_operating_unit_access_all

    Adds a security group that lets selected users see and work on purchase orders from every operating unit, instead of only the operating units assigned to them.

  • purchase_quick_intercompany

    Shows the selling company's free stock directly in the quick purchase product list, and lets you set a dedicated intercompany unit of measure per product.

  • purchase_request_operating_unit

    Adds an Operating Unit to purchase requests and their lines, so each request belongs to a specific business unit. Users only see requests from the operating units they are allowed to access.

  • purchase_request_operating_unit_access_all

    Adds a security group that lets selected users see and work on purchase requests from every operating unit, without having to assign those operating units to their user profile.

  • Purchase Request Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_request_tier_validation

    Adds a multi-level approval workflow to Purchase Requests: requests must be reviewed and validated by assigned reviewers before they can be confirmed.

  • purchase_request_to_requisition_operating_unit

    When you turn purchase requests into a call for bids (purchase agreement), this module carries the Operating Unit from the request lines over to the new agreement, and blocks mixing lines from different operating units.

  • purchase_requisition_operating_unit

    Adds an Operating Unit to purchase requisitions (tenders) so each requisition and its lines belong to one operating unit, and only users with access to that unit can see them.

  • purchase_requisition_operating_unit_access_all

    Adds a security group that lets selected users see and work with all Purchase Agreements (purchase requisitions) from every Operating Unit, instead of only their own.

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.