OCA/server-ux
OCA community repository with 65 Odoo modules confirmed in the OdooWiki catalogue (versions 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0). Reviewed on 2026-11-03.
Open on GitHubConfirmed modules per version
Modules in the repository
- AnnouncementOdoo 13, 15, 16, 17, 18announcement
Create internal announcements that pop up for targeted Odoo users, with rich content, attachments, tags and a read log showing who has read them.
- Announcement Dialog SizeOdoo 16announcement_dialog_size
Lets announcements open in a full-screen dialog by default when a system setting is enabled, instead of the normal small pop-up.
- Barcode action launcherOdoo 12, 13, 14, 15, 16, 17, 18, 19barcode_action
Lets users scan a barcode to trigger an action in Odoo, such as opening the partner whose Internal Reference matches the scanned code. A demo menu "Find partners" is provided.
- Base Action Visibility RestrictionOdoo 13, 14base_action_visibility_restriction
Lets administrators hide Server Actions and Window Actions from specific user groups by listing those groups as "Excluded Groups" on the action itself.
- base_action_visibility_restriction_domain
Lets administrators restrict who can run a specific action and on which records, by adding group and record-filter rules to window and server actions.
- Base Archive DateOdoo 13, 14, 15base_archive_date
Adds two read-only fields to every Odoo model that has an active flag: the date a record was last archived and the user who archived it. These fields are filled in automatically when a record is archived.
- Archive SecurityOdoo 16base_archive_security
Adds a new user group called "Can archive records" that controls who is allowed to archive or unarchive records in Odoo. Users without this group no longer see the archive/unarchive action and are blocked if they try it.
- Base Binary URL ImportOdoo 13, 16base_binary_url_import
Add a wizard that downloads files from URLs and stores them into any binary field of existing records, for one record or many at once. Useful for mass-loading PDFs, texts or other documents that the standard CSV import cannot handle.
- Base Cancel ConfirmOdoo 14, 15, 16, 17, 18, 19base_cancel_confirm
Provides a reusable cancel-confirmation wizard that asks users to confirm a cancellation and optionally record a reason, who cancelled and when. It is a technical building block: other modules must be adapted to use it.
- Add custom filters in standard filters and group by dropdownsOdoo 13, 14, 15, 16, 18base_custom_filter
Lets administrators define reusable custom filters, group-by options and search fields that appear inside the standard Filters and Group By dropdowns of any Odoo model, optionally restricted to specific user groups.
- Restrict records duplicatingOdoo 12, 13, 15base_duplicate_security_group
Adds a hidden security group called "Duplicate records" that controls whether a user can use the Duplicate action on records. Users without this group no longer see the Duplicate option in form views.
- Manage model export profilesOdoo 12, 13, 14, 15, 16, 17, 18, 19base_export_manager
Lets administrators create and manage reusable export profiles for any Odoo model, and control per access-right whether users are allowed to export records.
- Base Field DeprecatedOdoo 13, 15base_field_deprecated
Adds a "Deprecated" flag to the technical field list in Odoo, so administrators can see and filter which fields are marked as deprecated in the code.
- Optional CSV importOdoo 12, 13, 14, 15, 16, 17, 18base_import_security_group
This module makes CSV/Excel importing optional per user. Only users with the "Import CSV/Excel files" access right see the Import button and can actually import records; others are blocked.
- Base Actions SequenceOdoo 13base_ir_actions_sequence
Adds a Sequence number to actions (server actions, window actions and reports) so administrators can control the order in which they appear, for example in the Print menu.
- Base Menu Visibility RestrictionOdoo 13, 14, 15, 16, 17, 18, 19base_menu_visibility_restriction
Lets administrators hide specific menu items from chosen user groups by adding "Excluded Groups" to each menu, so users in those groups no longer see the menu.
- Base multi branch companyOdoo 15base_multi_branch_company
Lets you create and manage multiple branches inside each company in Odoo, with their own address and contact details, and see them listed on the company form.
- Optional quick createOdoo 12, 13, 14, 15, 16, 17, 18, 19base_optional_quick_create
Lets administrators disable the "quick create" shortcut on many2one fields for chosen models, so users must open the full create form instead of typing a name inline.
- Base RecurrenceOdoo 13, 14, 15base_recurrence
Provides a shared technical foundation so other Odoo modules can define recurring rules (daily, weekly, monthly, etc.) on any record and automatically compute the next occurrence date.
- Base Revision (abstract)Odoo 14, 15, 16, 17, 18, 19base_revision
This module is a technical building block that lets other Odoo documents keep a history of revisions. By itself it adds no menu or screen; developers use it to give documents like quotations or purchase orders a revision history.
- Base Rule Visibility RestrictionOdoo 13, 14, 16base_rule_visibility_restriction
Adds an "Excluded Groups" field to record rules so administrators can make a rule stop applying for specific user groups, giving finer control over who a security rule affects.
- Add custom filters for fields via UIOdoo 12, 13, 14, 15, 16, 17, 18, 19base_search_custom_field_filter
Lets administrators add extra search filters to any Odoo screen without coding, by defining a field (or a related field path) in a simple list. Regular users then see these filters in the search bar of that screen.
- Base Sub StateOdoo 12, 13, 14, 15, 16, 17, 18, 19base_substate
This module provides the technical foundation to add customizable sub-states (like "In negotiation", "Won", "Lost") to any Odoo record that has a state field, and to send an email when a record reaches a given sub-state. It is not useful on its own; it must…
- Technical features groupOdoo 12, 13, 14, 15, 16, 17, 18, 19base_technical_features
Lets selected users keep Odoo's technical features and technical menus switched on permanently, without having to turn on developer (debug) mode each time.
- Base Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18base_tier_validation
Adds a configurable multi-step approval workflow to any Odoo document, so records must be reviewed and approved by chosen users or groups before they can move forward.
- Tier Review Activity BoardOdoo 16base_tier_validation_board
Adds a read-only Tier Reviews board so users can see all pending and completed approval reviews in one place, grouped by status, and jump straight to the related document.
- base_tier_validation_confirm_auth
Adds an option on tier definitions so that approvers must re-enter their password (identity check) before approving, rejecting or commenting on a tier review.
- Base Tier Validation CorrectionOdoo 14, 16, 18base_tier_validation_correction
Lets authorised users replace the reviewer of pending tier validation reviews on documents, either immediately or on a scheduled date, and revert the change later.
- base_tier_validation_definition_server_action
Adds a new "Server Action" option to tier validation definitions, so a tier can be triggered by running a custom server action instead of only by a domain condition.
- Base Tier Validation FormulaOdoo 12, 13, 14, 15, 16, 17, 18base_tier_validation_formula
Lets you write Python formulas to decide when a tier approval is required and who must approve it, instead of only using fixed domains or user lists.
- Base Tier Validation ForwardOdoo 12, 13, 14, 15, 16, 17, 18base_tier_validation_forward
Adds a Forward option to tier approvals, letting an assigned reviewer pass the decision to another user instead of approving or rejecting.
- Base Tier Validation - ReportsOdoo 14, 15, 16base_tier_validation_report
Adds a Reviews section to the Odoo Dashboard where users can see the tier validation reviews they must handle and, for authorised users, all reviews with their status (pending, approved or rejected).
- Base Tier Validation - Server ActionOdoo 14, 15, 16, 17, 18base_tier_validation_server_action
Extends tier validation so each approval step can automatically run a server action when it is approved or rejected, and can auto-approve itself when a condition is met.
- Base Tier Validation - Waiting statusOdoo 14, 16base_tier_validation_waiting
Adds a new "Waiting" status to tier validation reviews, so approvals can start in a waiting state and automatically move to pending when their turn comes. Reviewers can also be notified by email when a review reaches pending.
- User ChatterOdoo 16base_user_chatter
Adds a chatter (message log, followers and scheduled activities) to the user form in Odoo, so you can keep notes and follow-up actions on each user record.
- User Locale SettingsOdoo 12, 13, 14, 15, 16, 18base_user_locale
Lets each user or the whole company override how dates, times, week start and number separators are displayed in Odoo, instead of being forced to use the language defaults.
- Base Warn OptionOdoo 15, 18base_warn_option
Lets administrators create and manage a library of predefined warning and blocking messages, so the same wording is reused consistently across Odoo.
- Chained SwapperOdoo 12, 13, 14, 15, 18chained_swapper
Lets administrators define reusable "field swap" rules that change a field value on selected records and automatically propagate the same value to related records. Each rule can be protected by constraints and restricted to certain user groups.
- Confirmation WizardOdoo 16confirmation_wizard
Adds a reusable confirmation pop-up that other modules can call from code. It shows a message and, when the user confirms, either closes the window or runs a chosen method on selected records.
- Date RangeOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20date_range
Create and manage reusable date ranges (periods) in Odoo, and filter records by those periods in list views. Ranges can be grouped into types, generated automatically, and used as a 'Period' filter in search views.
- Date Range AccountOdoo 14, 15, 16, 17, 18, 19date_range_account
Adds a Date Ranges menu inside the Invoicing app so Accounting Managers can create and manage date ranges, date range types and date range generators without leaving Accounting.
- Default Multi UserOdoo 12, 13, 14, 15, 18default_multi_user
Lets you share a user-defined default value with several users or whole user groups, instead of it applying to only one person.
- Developer MenuOdoo 16, 18, 19developer_menu
Adds a "🧰 Dev" shortcut menu under Settings that gathers the main technical screens (models, fields, rules, views, menus, crons, actions, reports, parameters, sequences, mail templates) in one place.
- Document Quick AccessOdoo 12, 13, 14, 15, 16, 17, 18, 19document_quick_access
Lets users open any Odoo record instantly by scanning or typing a QR/barcode code, and lets administrators define which models can be found this way.
- Document Quick Access Folder Auto ClassificationOdoo 12, 13, 14, 15, 16, 18document_quick_access_folder_auto_classification
Automatically reads QR codes inside PDF files and attaches each document to the right Odoo record using your existing document quick access rules. Files that cannot be matched land in a 'Documents to process' queue where a user can assign or reject them.
- Filter Multi UserOdoo 12, 13, 14, 15, 16, 18, 19filter_multi_user
Lets you share saved filters with several users at once, either by picking individual users or whole user groups, instead of adding each person one by one.
- Mail Message Destiny Link TemplateOdoo 16, 17, 18, 19mail_message_destiny_link_template
Provides a ready-to-use email/chatter template that lists the records a source record has created or modified, with clickable links to those records. It adds no visible feature on its own; developers use it in their own modules.
- Mail suggested recipient uncheckedOdoo 16, 17mail_suggested_recipient_unchecked
When you open the chatter to send a message, the extra recipients Odoo suggests (such as a lead's customer or a task's contact) are no longer ticked by default, so you must choose them yourself.
- Mass EditingOdoo 12, 13, 14, 15mass_editing
Lets users update the same field on many records at once. You configure a 'Mass Edit' server action on any model, choose the fields, then select records in a list and apply the change in one wizard.
- Mass Operation AbstractOdoo 12, 13, 14mass_operation_abstract
Technical foundation module that lets developers configure reusable "mass operations" on any Odoo model, adding a sidebar button that opens a wizard to apply an action to many selected records at once.
- Miscellaneous SettingsOdoo 16misc_settings
Adds a new "Miscellaneous" block to the Odoo Settings page, giving developers and integrators a dedicated place to group their own custom settings.
- Multi-Steps WizardsOdoo 12, 13, 14, 15, 16, 17, 18multi_step_wizard
A technical building block that lets developers create wizards with several steps (Next / Go Back / Cancel) in Odoo. It adds no visible feature by itself; other modules use it to build step-by-step screens.
- multisearch_field
Lets users search several values at once in any Odoo search box by typing them separated by a configured character (for example |, ; or ,). Odoo then returns records matching any of those values.
- Check Digit on SequencesOdoo 12, 13, 14, 15, 16, 18sequence_check_digit
Lets you add an automatic check digit to the end of any sequence number in Odoo, using standard formulas like EAN, Luhn or ISO 7064, so mistyped or swapped characters can be detected.
- Sequence Range EndOdoo 14sequence_range_end
Adds a new placeholder for sequence prefixes and suffixes that uses the end date of a date range instead of the current date, e.g. %(range_end_year)s. Useful for numbering documents based on the closing period of a range.
- Reset Sequences on selected period rangesOdoo 12, 13, 14, 15, 16, 17, 18, 19sequence_reset_period
Lets you choose how often a sequence's numbering period resets — daily, weekly, monthly or yearly — instead of only yearly. The reset period is set on each sequence and used automatically when new number ranges are created.
- Server Action DomainOdoo 14server_action_domain
Adds a Domain field to server actions so you can restrict which records the action runs on. When the action is triggered, only records matching the filter are processed.
- Mass EditingOdoo 16, 17, 18, 19server_action_mass_edit
Lets users edit many records at once from a list view: you configure a 'Mass Edit Records' server action that lists the fields to change, then a pop-up wizard applies the new values to all selected records.
- server_action_mass_edit_onchange
Extends Mass Editing server actions so each field line can trigger the normal onchange rules before values are written. Users tick 'Play onchanges' per field, and Odoo recalculates dependent fields automatically during the mass update.
- Template Content SwapperOdoo 15, 16, 18template_content_swapper
Lets you replace text in any QWeb template (reports and website pages) without writing code, by creating simple mapping records that swap one string for another.