OCA/server-tools
OCA community repository with 116 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
- Restrict Deletion of AttachmentsOdoo 12, 14, 16, 18attachment_delete_restrict
Control who is allowed to delete attachments in Odoo. Set a global rule, or a specific rule per document type, so only the creator, admins, or chosen users and groups can remove files.
- Attachment LoggingOdoo 16, 17attachment_logging
Shows who uploaded each attachment and when, directly in the chatter attachment preview, and can post a note in the record's chatter whenever a file is added or removed.
- Attachment QueueOdoo 12, 14, 16, 17, 18attachment_queue
Adds an attachment queue that processes files in the background, with status tracking, manual run/reschedule buttons, and failure email notifications.
- Attachment Queue EmailOdoo 18attachment_queue_email
Automatically turn email attachments received by an incoming mail server into Attachment Queue files, based on rules you define (sender, recipient, subject, file extension).
- Attachment SynchronizeOdoo 12, 14, 16, 18attachment_synchronize
Create scheduled tasks that automatically import files from an external storage backend into Odoo attachments, or export Odoo attachments back to that backend, with options to rename, move, delete or skip duplicates.
- Attachment Unindex ContentOdoo 12, 13, 14, 15, 16, 18, 19attachment_unindex_content
Stops Odoo from storing the text content of attachments in the database, saving space and avoiding duplicate data. Existing stored content is cleared when the module is installed.
- Audit LogOdoo 12, 13, 14, 15, 16, 17, 18, 19auditlog
Lets administrators record who created, read, changed, deleted or exported records of chosen models, and review those traces, including the web requests and user sessions behind them.
- Database Auto-BackupOdoo 12, 13, 14, 15, 16, 17, 18, 19auto_backup
Create and schedule automatic database backups, stored on the server disk or on a remote SFTP server, with optional automatic deletion of old backup files.
- Auto Backup Fs FileOdoo 17auto_backup_fs_file
Adds a new 'Fs File' backup method to the database backup configuration, letting Odoo store backups as files on a configured filesystem and notify a responsible user when a backup is ready to download.
- AutoVacuum Mail Message and AttachmentOdoo 12, 13, 14, 16, 18autovacuum_message_attachment
Create rules that automatically delete old mail messages and attachments after a chosen number of days, to keep the database small. Rules are managed from the Email menu and run by two daily scheduled jobs.
- Track record changesetsOdoo 12, 13, 14, 15, 16base_changeset
Lets administrators decide which fields of which records must be approved before the change is really saved, instead of being written directly. Pending changes appear in a 'Changes' button on the record form and can be applied or rejected by authorised users.
- Conditional ImagesOdoo 12, 14, 15, 16, 18base_conditional_image
Lets administrators define reusable images that are automatically shown on records based on conditions, avoiding duplicate image storage. A new "Conditional Images" menu appears under Settings > Technical.
- Contextvars PatchOdoo 14base_contextvars
Technical patch that changes how Odoo stores its internal database environment, making it work correctly with asynchronous Python code. It adds no screens, menus or business features for end users.
- Base Cron ExclusionOdoo 12, 13, 14, 15, 16, 17, 18, 19base_cron_exclusion
Lets you mark scheduled actions (automated tasks) as mutually exclusive so they never run at the same time. You pick the other scheduled actions that must not overlap with the one you are editing.
- Base Custom InfoOdoo 12, 13, 14, 15base_custom_info
Lets you add extra fields to any Odoo record without changing the database, by defining templates of properties and filling in values on records such as partners.
- Deterministic Session GCOdoo 12, 13, 14base_deterministic_session_gc
Replaces Odoo's random session cleanup with a scheduled, predictable one. Sessions inactive for more than a week are deleted by a recurring job instead of at random moments.
- Base Domain Inverse FunctionOdoo 13, 16base_domain_inverse_function
Adds helper functions that split a normalized Odoo search domain into its individual parts, so developers can modify one part and rebuild the domain.
- Exception RuleOdoo 12, 13, 14, 15, 16, 17, 18, 19base_exception
Lets administrators define custom exception rules that flag or block records on any Odoo model, and shows users a popup listing the outstanding exceptions before they continue.
- Base FontawesomeOdoo 12, 13, 14, 15, 16, 17, 18, 19base_fontawesome
Updates the icon library used across Odoo to Font Awesome 6.7.2, so icons look modern and consistent in the backend, the website and printed reports.
- Base Fontawesome Web EditorOdoo 17, 18base_fontawesome_web_editor
Makes FontAwesome 6.7.2 and newer icons appear correctly in Odoo's web editor, so users can pick and insert icons when editing web pages and content.
- Force Record No-updateOdoo 14, 16, 17, 18base_force_record_noupdate
Adds a "Force No-Update" checkbox on models so that existing and future records linked to those models are protected from being overwritten by module updates.
- Future ResponseOdoo 14base_future_response
Technical backport that lets Odoo 14 code set cookies on the final web response before that response is built, matching a mechanism available in Odoo 16.
- base_generate_codeOdoo 14base_generate_code
Provides a reusable way to automatically generate short, human-readable codes (like barcodes) for records, avoiding confusing characters such as O, 0, I and L. Other modules can use it to fill in a code field automatically when a record is created.
- base_import_default_enable_tracking
When importing data into Odoo, the "Track history during import" option is switched on by default, so imported records keep a history of changes without you having to tick the box yourself.
- Import Module GroupOdoo 12base_import_module_group
Restricts who can import modules into Odoo to members of a dedicated security group. Administrators get this right automatically; other users are blocked with an error.
- Import from OdooOdoo 13, 14, 16base_import_odoo
Connect Odoo to another Odoo database and import records from it, with rules for handling duplicates, field mappings and automatic scheduled imports.
- Base JSONifyOdoo 12, 13, 14base_jsonify
This module is a compatibility bridge: it keeps the old "Base JSONify" name working by depending on the newer jsonifier module. It adds no new screens or features of its own.
- Kanban - Stage SupportOdoo 12, 14, 15, 16, 19base_kanban_stage
Adds a reusable Kanban stage system to Odoo, letting you define stages per model and manage cards with priority, status, colour and assigned user. It is a technical foundation that other modules inherit to get Kanban boards with stages.
- Base Kanban Stage StateOdoo 12, 14, 15base_kanban_stage_state
Adds a State field to Kanban stages so each stage can be mapped to a status such as New, In Progress, Pending, Done, Cancelled or Exception.
- Locale - Default UoMOdoo 12base_locale_uom_default
Lets you set default units of measure per language, so each language can have its own preferred unit for each unit category (e.g. weight, length).
- Base Many2many Custom FieldOdoo 12, 13, 14, 16, 17, 18base_m2m_custom_field
Adds a new technical field type that lets developers control whether the database link table for a many-to-many relation is created automatically. It changes nothing visible for everyday users.
- Update Restrict ModelOdoo 12, 14, 15, 16, 17, 18base_model_restrict_update
Lets administrators make specific models read-only for everyone except chosen user groups, and mark individual users as read-only so they cannot change any business records.
- Multiple images baseOdoo 12, 14, 15, 16, 18base_multi_image
Adds a reusable image gallery to any Odoo record, letting users store several images per record from a URL, a file, the database, the filestore or an attachment, and pick one as the main image.
- Improved Name SearchOdoo 13, 14, 16, 17, 18base_name_search_improved
Makes Odoo's record lookup more forgiving: typing words in any order still finds the record, and administrators can add extra fields (like city or phone) to search into.
- Name Search Multi LangOdoo 13, 14base_name_search_multi_lang
Lets users find records by typing a name in any installed language, not just the one they are currently using. A checkbox on each model's settings turns this multi-language search on or off.
- Base order by relatedOdoo 14base_order_by_related
Allows list views to be sorted by related fields that are not stored in the database, such as a customer's country shown on a sales order.
- Base PartitionOdoo 16, 17, 18, 19base_partition
Adds three helper methods to every Odoo model so developers can group records by a value, split them into smaller chunks, and read data record by record. These are technical tools used by other modules, not new screens for end users.
- Remote BaseOdoo 12, 13, 14, 15, 16, 18base_remote
Stores every remote (external IP address) that connects to Odoo, with its hostname and whether it can be resolved on the network. It also blocks logins coming from remotes that cannot be identified.
- Report qweb auto generationOdoo 14, 16base_report_auto_create_qweb
Create QWeb report templates automatically when you add a report in Odoo, and duplicate an existing report with a custom suffix, including its linked QWeb views.
- Fuzzy SearchOdoo 12, 13, 14, 15, 16, 17, 18, 19base_search_fuzzy
Lets administrators create PostgreSQL trigram indexes on text or character fields so that other addons can perform fuzzy (approximate) searches, and registers the '%' fuzzy search operator in search domains.
- Base Search MultiOdoo 13base_search_multi
Lets users search several values at once in any Odoo list view by typing them inside curly brackets, instead of adding them one by one.
- Default Fields with SequenceOdoo 14, 16base_sequence_default
Lets you give any text field on any record a default value taken from an Odoo sequence, so new records automatically get an incremental reference. You set it up by creating a sequence whose code follows a special naming pattern.
- Base Sequence OptionOdoo 14, 15, 16, 17, 18base_sequence_option
This base module lets administrators define alternative numbering sequences for documents, chosen automatically by matching rules on the document's own values. It does nothing on its own; other modules must enable it for each document type.
- Base Sparse Field List SupportOdoo 13, 14, 15, 16, 17, 18base_sparse_field_list_support
Technical module that lets Odoo store lists (not only dictionaries) in serialized fields. It changes how serialized field values are converted when read into memory, so lists are saved correctly.
- Base Technical UserOdoo 12, 13, 14, 15, 16, 17, 18, 19base_technical_user
Lets you designate a dedicated technical user on each company, so automated or batch processes can run under that user instead of a real person.
- Base Temporary ActionOdoo 18base_temporary_action
This technical module adds a flag to mark actions as temporary and automatically deletes them one hour after creation. It does not add any visible screen or menu by itself.
- Time ParameterOdoo 14, 15, 18base_time_parameter
Lets you store values that change over time (rates, thresholds, flags) and read the right value for any given date. Access is through a new Time Parameters menu under Technical settings.
- Base Time WindowOdoo 13, 14, 15, 16, 17, 18, 19base_time_window
Provides reusable building blocks (a weekday list and a time-window mixin) so other Odoo modules can define opening hours or availability slots with automatic overlap and validity checks.
- Base Translation Field LabelOdoo 13, 15base_translation_field_label
This module makes the Translations list easier to read by showing the human-friendly label of the translated field instead of the technical field name, which is hidden by default.
- Base UrlOdoo 18base_url
This module provides a technical foundation for giving Odoo records clean, human-readable web addresses (URLs) instead of numeric IDs, and it automatically keeps old addresses working by redirecting them when they change.
- Base video linkOdoo 14base_video_link
Lets you store videos (with provider, identifier, URL and thumbnail) in Odoo and link them to any record that uses the video mixin. A Video menu is added under the Custom menu.
- base_view_full_arch
Adds a read-only "View Architecture" field on view records that shows the fully combined XML of a view, including all views that inherit from it. Useful for developers and analysts to inspect how a view is actually built.
- Extended view inheritanceOdoo 12, 13, 14, 15, 16, 17, 18, 19, 20base_view_inheritance_extension
Adds new operators to Odoo view inheritance so developers can wrap text in elements and update, extend or merge attribute values (contexts, domains, text) when customizing existing screens.
- Base - Write DiffOdoo 17, 19base_write_diff
Prevents Odoo from saving field values that are identical to what is already stored, so records are only updated when something really changes. It adds a new write_diff method that developers can use to skip useless updates.
- Bus Alt ConnectionOdoo 12, 13, 14, 16, 17, 18, 19bus_alt_connection
Allows Odoo to work with PgBouncer as an external database connection pooler by letting the instant-messaging dispatcher connect to a separate database host and port.
- Company CountryOdoo 12, 13company_country
This module is deprecated and adds no new screens or features. It only existed to set the country on the main company before the accounting module was installed, so the right localisation was chosen.
- Configuration HelperOdoo 12, 13, 14configuration_helper
This is a developer-only helper module that does not add any screen or feature for end users. It provides a reusable base model so other modules can build configuration settings screens with less duplicated code.
- Cron daylight saving time resistantOdoo 14, 16cron_daylight_saving_time_resistant
Adds a checkbox on scheduled actions (cron jobs) so they keep running at the same local time even when daylight saving time changes the clock by one hour.
- cron_inactivity_period
Lets you define daily time windows during which a scheduled action (cron job) is skipped, so jobs do not run during maintenance or other blocked hours.
- Database Autovacuum TuningOdoo 18database_autovacuum_tuning
Automatically tunes PostgreSQL autovacuum settings on busy tables and keeps a log of what was changed. Administrators set the thresholds in Odoo settings; a daily job applies them.