server-tools is a free, open source erp & operations project written in Python and released under AGPL-3.0. It has 966 GitHub stars, 1,732 forks and 286 open issues, and was last pushed 10 hours ago. On this registry it ranks #15 of 24 tracked projects in ERP & Operations, with 5 head-to-head comparisons available. It gained 16 stars over the last 30 tracked days.

What is server-tools?

server-tools is a collection of Odoo addons maintained by the Odoo Community Association (OCA) that gives administrators and technical staff finer control over an Odoo server, and it is written for people who run, host, or extend Odoo rather than for end users of the ERP itself.

What it is

server-tools is an OCA repository of installable Odoo modules, written in Python and licensed under AGPL-3.0. Each capability lives in its own addon directory with its own version string, such as auditlog at 18.0.2.0.9 or base_exception at 18.0.1.2.0, and the repository targets the Odoo 18.0 branch. The modules sit on top of the Odoo framework and extend base behaviour: models, views, scheduled actions, attachments, and the database layer. The README lists the addons in a generated table of name, version, maintainers, and summary, and the project is tagged erp, hacktoberfest, odoo, and python.

The concrete problem it solves is that stock Odoo does not ship many of the operational and technical controls that a production instance needs. There is no built-in audit trail across models, no module for scheduled database backups, no queue for file-processing, no mechanism to stop two scheduled actions from running at once, and no fuzzy search on relation fields. Administrators normally close those gaps by writing and maintaining one-off custom modules per deployment. server-tools replaces that per-instance custom development with maintained, versioned addons that are released against a known Odoo branch and covered by shared CI.

Key capabilities

  • auditlog records changes made to records, providing an audit trail across models rather than a single hand-built log.
  • auto_backup backs up the database, and database_autovacuum_tuning adds scheduled checks for autovacuum behaviour.
  • attachment_queue adds a queue concept for processing files, with attachment_synchronize for synchronisation and attachment_delete_restrict to restrict deletion of attachments.
  • autovacuum_message_attachment automatically deletes old mail messages and attachments, while attachment_unindex_content disables indexing of attachment content.
  • base_exception provides an abstract model for customizable exceptions that can be applied to different models, such as sale order or invoice.
  • base_search_fuzzy adds fuzzy search using the PostgreSQL trigram extension, and base_name_search_improved makes typing in relation fields friendlier.
  • bus_alt_connection is needed when PgBouncer is used as a connection pooler, and base_cron_exclusion lets an administrator select scheduled actions that must not run simultaneously.

Who uses it and how

  • Odoo administrators running an Odoo 18.0 instance who need server-side controls that core does not provide, installed module by module from the addon directories.
  • Teams with compliance or traceability requirements, who enable auditlog to record record-level changes.
  • Deployments running PostgreSQL behind PgBouncer, which depend on bus_alt_connection for the connection pooling case, and instances that enable the trigram extension for base_search_fuzzy.
  • Operations staff responsible for data retention and recovery, using auto_backup for scheduled database backups and autovacuum_message_attachment to prune old mail messages and attachments.
  • Contributors and integrators: the repository carries the hacktoberfest topic, runs pre-commit and build workflows on the 18.0 branch, reports coverage through codecov, and hosts translations on the OCA translation platform.

Getting started

The addons are installed onto an Odoo 18.0 server from the repository, and a prebuilt instance can be tried through Runboat at runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=18.0.

How it compares

No paid or proprietary products are named in the facts, and no comparable tool is named either, so server-tools stands alone in this registry. Its positioning comes from its licence and its community ownership: it is AGPL-3.0 code maintained by the Odoo Community Association, with the project page hosted at odoo-community.org/psc-teams/tools-30.

When to use it — and when not to

A self-hoster takes on the operation of the Odoo server, the PostgreSQL database, and the scheduled actions that modules such as auto_backup and database_autovacuum_tuning depend on; the facts describe no hosted service, no pip package, and no Docker image, only the Runboat try-me build. Anyone who wants a managed, plug-and-play product, or who runs an ERP other than Odoo, should look elsewhere. The honest caution is maintenance volume and sparse top-level documentation: the repository carries 286 open issues, and the README is a generated addon table, so the meaningful guidance for any single module lives inside that addon's own directory.

project readme (upstream, from github) — read inline

Runboat Pre-commit Status Build Status codecov Translation Status

server-tools

server-tools

Available addons

addon version maintainers summary
attachment_delete_restrict 18.0.1.0.0 yostashiro Kev-Roche Restrict Deletion of Attachments
attachment_queue 18.0.1.0.1 florian-dacosta sebastienbeau Base module adding the concept of queue for processing files
attachment_synchronize 18.0.1.0.0 florian-dacosta sebastienbeau GSLabIt bealdav Attachment Synchronize
attachment_unindex_content 18.0.1.0.0 moylop260 ebirbe luisg123v Disable indexing of attachments
auditlog 18.0.2.0.9 Audit Log
auto_backup 18.0.1.0.1 Backups database
autovacuum_message_attachment 18.0.1.0.1 florian-dacosta Automatically delete old mail messages and attachments
base_conditional_image 18.0.1.0.0 This module extends the functionality to support conditional images
base_cron_exclusion 18.0.1.0.1 LoisRForgeFlow ChrisOForgeFlow Allow you to select scheduled actions that should not run simultaneously.
base_exception 18.0.1.2.0 hparfr sebastienbeau This module provide an abstract model to manage customizable exceptions to be applied on different models (sale order, invoice, ...)
base_fontawesome 18.0.2.0.0 Up to date Fontawesome resources.
base_fontawesome_web_editor 18.0.1.0.0 Integration between base_fontawesome and web_editor for FontAwesome >= 6.7.2 support.
base_force_record_noupdate 18.0.1.0.0 Manually force noupdate=True on models
base_m2m_custom_field 18.0.1.0.0 Customizations of Many2many
base_model_restrict_update 18.0.1.0.0 yostashiro aungkokolin1997 Update Restrict Model
base_multi_image 18.0.1.0.0 Allow multiple images for database objects
base_name_search_improved 18.0.1.1.1 Friendlier search when typing in relation fields
base_partition 18.0.1.0.1 Base module that provide the partition method on all models
base_remote 18.0.1.0.0 Remote Base
base_search_fuzzy 18.0.2.0.0 Fuzzy search with the PostgreSQL trigram extension
base_sequence_option 18.0.1.0.1 kittiu Alternative sequence options for specific models
base_sparse_field_list_support 18.0.1.0.0 add list support to convert_to_cache()
base_technical_user 18.0.1.0.1 Add a technical user parameter on the company
base_temporary_action 18.0.1.0.0 This addon allows to create temporary actions
base_time_parameter 18.0.1.0.0 appstogrow nimarosa Time dependent parameters Adds the feature to define parameters with time based versions.
base_time_window 18.0.1.1.1 Base model to handle time windows
base_view_inheritance_extension 18.0.1.0.2 Adds more operators for view inheritance
bus_alt_connection 18.0.1.0.0 Needed when using PgBouncer as a connection pooler
database_autovacuum_tuning 18.0.1.0.1 Scheduled checks for Odoo autovacuum thresholds and scale factors
database_cleanup 18.0.1.0.2 Database cleanup
database_size 18.0.1.0.2 Database Size
dbfilter_from_header 18.0.1.0.0 Filter databases with HTTP headers
excel_import_export 18.0.1.0.0 kittiu Base module for developing Excel import/export/report
fetchmail_attach_from_folder 18.0.2.0.0 NL66278 Attach mails in an IMAP folder to existing objects
fetchmail_notify_error_to_sender 18.0.1.0.0 If fetching mails gives error, send an email to sender
field_vector 18.0.1.0.0 lmignon New specialized field to store vector data
html_text 18.0.1.0.0 Generate excerpts from any HTML field
iap_alternative_provider 18.0.1.0.0 sebastienbeau Base module for providing alternative provider for iap apps
jsonifier 18.0.1.1.1 JSON-ify data for all models
mail_cleanup 18.0.1.0.2 Mark as read or delete mails after a set time
mail_template_attachment_per_lang 18.0.1.0.0 Set language specific attachments on mail templates.
module_analysis 18.0.1.0.0 legalsylvain Add analysis tools regarding installed modules to know which installed modules comes from Odoo Core, OCA, or are custom modules
module_auto_update 18.0.1.0.2 Automatically update Odoo modules
module_change_auto_install 18.0.1.0.3 legalsylvain Customize auto installables modules by configuration
odoo_test_xmlrunner 18.0.1.0.0 This module override Odoo testing method to run them with xmlrunner tool.
onchange_helper 18.0.1.0.1 Technical module that ease execution of onchange in Python code
rpc_helper 18.0.1.0.2 simahawk Helpers for disabling RPC calls
scheduler_error_mailer 18.0.1.0.0 Scheduler Error Mailer
sentry 18.0.1.0.4 barsi naglis versada moylop260 fernandahf Report Odoo errors to Sentry
sequence_python 18.0.1.0.0 Calculate a sequence number from a Python expression
session_db 18.0.1.0.2 sbidoul Store sessions in DB
test_auditlog 18.0.1.0.3 Additional unit tests for Audit Log based on accounting models
test_base_time_window 18.0.1.0.0 Test Base model to handle time windows
tracking_manager 18.0.1.1.0 Kev-Roche sebastienbeau This module tracks all fields of a model, including one2many and many2many ones.
tracking_manager_domain 18.0.1.0.1 CRogos This module extends the tracking manager to allow to define a domain on fields to track changes only when certain conditions apply.
upgrade_analysis 18.0.1.4.6 StefanRijnhart legalsylvain Performs a difference analysis between modules installed on two different Odoo instances

Licenses

This repository is licensed under AGPL-3.0.

However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA) policy. Consult each module's __manifest__.py file, which contains a license key that explains its license.


OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Frequently asked questions

Is server-tools free to use?

server-tools is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does server-tools do?

Tools for Odoo Administrators to improve some technical features on Odoo.

What is server-tools written in?

server-tools is primarily written in Python. Its source is publicly available at https://github.com/OCA/server-tools, and it has 966 GitHub stars.