Import from Odoo

base_import_odoo
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/16.0/base_import_odoo
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV, Hunki Enterprises BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV, Hunki Enterprises BV
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, Tom, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES odoorpc
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_import_odoo_database_field_form import.odoo.database.field form New
view_import_odoo_database_field_tree import.odoo.database.field tree New
view_import_odoo_database_form import.odoo.database form New
view_import_odoo_database_qweb view_import_odoo_database_qweb ir.ui.view qweb New
view_import_odoo_database_tree import.odoo.database tree New
Models touched (4)

New fields (14)
  • cronjob_id Many2one → ir.cron
    copy=False readonly=True string='Import job' args: 'ir.cron'
  • cronjob_running Boolean
    compute='_compute_cronjob_running'
  • database Char
    required=True
  • duplicates Selection
    default='skip' required=True args: [('skip', 'Skip existing'), ('overwrite', 'Overwrite existing'), ('overwrite_empty', 'Overwrite empty fields')], 'Duplicate handling'
  • import_field_mappings One2many → import.odoo.database.field
    string='Field mappings' args: 'import.odoo.database.field', 'database_id'
  • import_line_ids One2many → import.odoo.database.model
    string='Import models' args: 'import.odoo.database.model', 'database_id'
  • null_password Boolean
    default=True
  • password Char
    default='admin'
  • ssl Boolean
    compute='_compute_ssl' help='Use HTTPS'
  • ssl_bypass Boolean
    help='Bypass SSL certificate check'
  • status_data Serialized
    copy=False readonly=True args: 'Status'
  • status_html Html
    compute='_compute_status_html' readonly=True sanitize=False
  • url Char
    required=True
  • user Char
    default='admin' required=True
Public methods (2)
  • action_import(self)
    Create a cronjob to run the actual import
  • name_get(self)

New fields (10)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • field_ids Many2many → ir.model.fields
    help='If set, the mapping is only effective when setting said field' ondelete='cascade' string='Field' args: 'ir.model.fields'
  • id_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='ID field' args: 'ir.model.fields'
  • local_id Integer
    help='If you leave this empty, a new record will be created in the local database when this field is set on the remote database' args: 'Local ID'
  • mapping_type Selection
    default='fixed' required=True string='Type' args: [('fixed', 'Fixed'), ('by_field', 'Based on equal fields'), ('by_reference', 'By reference'), ('unique', 'Unique')]
  • model Char
    related='model_id.model' string='Model name'
  • model_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='Model field' args: 'ir.model.fields'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • remote_id Integer
    help='If you leave this empty, every (set) field value will be mapped to the local ID' args: 'Remote ID'
  • sequence Integer
Public methods (0)

No public methods.

New fields (7)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • defaults Char
    help='Optional defaults dict to avoid empty values'
  • domain Char
    help='Optional filter to import only a subset'
  • extra_fields Char
    help='Comma-separated list of extra fields to query for'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • postprocess Text
    help='Optional python code for postprocessing. Your code has access to `vals` which is the dictionary passed to create/write, and `env`.'
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • import_database_id Many2one → import.odoo.database
    string='From remote database' args: 'import.odoo.database'
  • import_database_record_id Integer
    args: 'Remote database ID'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/14.0/base_import_odoo
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV, Hunki Enterprises BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV, Hunki Enterprises BV
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Tom Blauwendraat, oca-ci, Kiplangatdan
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES odoorpc
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_import_odoo_database_field_form import.odoo.database.field form New
view_import_odoo_database_field_tree import.odoo.database.field tree New
view_import_odoo_database_form import.odoo.database form New
view_import_odoo_database_qweb view_import_odoo_database_qweb ir.ui.view qweb New
view_import_odoo_database_tree import.odoo.database tree New
Models touched (4)

New fields (12)
  • cronjob_id Many2one → ir.cron
    copy=False readonly=True string='Import job' args: 'ir.cron'
  • cronjob_running Boolean
    compute='_compute_cronjob_running'
  • database Char
    required=True
  • duplicates Selection
    default='skip' required=True args: [('skip', 'Skip existing'), ('overwrite', 'Overwrite existing'), ('overwrite_empty', 'Overwrite empty fields')], 'Duplicate handling'
  • import_field_mappings One2many → import.odoo.database.field
    string='Field mappings' args: 'import.odoo.database.field', 'database_id'
  • import_line_ids One2many → import.odoo.database.model
    string='Import models' args: 'import.odoo.database.model', 'database_id'
  • null_password Boolean
    default=True
  • password Char
    default='admin'
  • status_data Serialized
    copy=False readonly=True args: 'Status'
  • status_html Html
    compute='_compute_status_html' readonly=True sanitize=False
  • url Char
    required=True
  • user Char
    default='admin' required=True
Public methods (2)
  • action_import(self)
    Create a cronjob to run the actual import
  • name_get(self)

New fields (10)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • field_ids Many2many → ir.model.fields
    help='If set, the mapping is only effective when setting said field' ondelete='cascade' string='Field' args: 'ir.model.fields'
  • id_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='ID field' args: 'ir.model.fields'
  • local_id Integer
    help='If you leave this empty, a new record will be created in the local database when this field is set on the remote database' args: 'Local ID'
  • mapping_type Selection
    default='fixed' required=True string='Type' args: [('fixed', 'Fixed'), ('by_field', 'Based on equal fields'), ('by_reference', 'By reference'), ('unique', 'Unique')]
  • model Char
    related=['model_id', 'model'] string='Model name'
  • model_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='Model field' args: 'ir.model.fields'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • remote_id Integer
    help='If you leave this empty, every (set) field value will be mapped to the local ID' args: 'Remote ID'
  • sequence Integer
Public methods (0)

No public methods.

New fields (7)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • defaults Char
    help='Optional defaults dict to avoid empty values'
  • domain Char
    help='Optional filter to import only a subset'
  • extra_fields Char
    help='Comma-separated list of extra fields to query for'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • postprocess Text
    help='Optional python code for postprocessing. Your code has access to `vals` which is the dictionary passed to create/write, and `env`.'
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • import_database_id Many2one → import.odoo.database
    string='From remote database' args: 'import.odoo.database'
  • import_database_record_id Integer
    args: 'Remote database ID'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/13.0/base_import_odoo
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV, Hunki Enterprises BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV, Hunki Enterprises BV
COMMITTERS
COMMITTERSHolger Brunn, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES odoorpc
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_import_odoo_database_field_form import.odoo.database.field form New
view_import_odoo_database_field_tree import.odoo.database.field tree New
view_import_odoo_database_form import.odoo.database form New
view_import_odoo_database_qweb view_import_odoo_database_qweb ir.ui.view qweb New
view_import_odoo_database_tree import.odoo.database tree New
Models touched (4)

New fields (12)
  • cronjob_id Many2one → ir.cron
    copy=False readonly=True string='Import job' args: 'ir.cron'
  • cronjob_running Boolean
    compute='_compute_cronjob_running'
  • database Char
    required=True
  • duplicates Selection
    default='skip' required=True args: [('skip', 'Skip existing'), ('overwrite', 'Overwrite existing'), ('overwrite_empty', 'Overwrite empty fields')], 'Duplicate handling'
  • import_field_mappings One2many → import.odoo.database.field
    string='Field mappings' args: 'import.odoo.database.field', 'database_id'
  • import_line_ids One2many → import.odoo.database.model
    string='Import models' args: 'import.odoo.database.model', 'database_id'
  • null_password Boolean
    default=True
  • password Char
    default='admin'
  • status_data Serialized
    copy=False readonly=True args: 'Status'
  • status_html Html
    compute='_compute_status_html' readonly=True sanitize=False
  • url Char
    required=True
  • user Char
    default='admin' required=True
Public methods (2)
  • action_import(self)
    Create a cronjob to run the actual import
  • name_get(self)

New fields (10)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • field_ids Many2many → ir.model.fields
    help='If set, the mapping is only effective when setting said field' ondelete='cascade' string='Field' args: 'ir.model.fields'
  • id_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='ID field' args: 'ir.model.fields'
  • local_id Integer
    help='If you leave this empty, a new record will be created in the local database when this field is set on the remote database' args: 'Local ID'
  • mapping_type Selection
    default='fixed' required=True string='Type' args: [('fixed', 'Fixed'), ('by_field', 'Based on equal fields'), ('by_reference', 'By reference'), ('unique', 'Unique')]
  • model Char
    related=['model_id', 'model'] string='Model name'
  • model_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='Model field' args: 'ir.model.fields'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • remote_id Integer
    help='If you leave this empty, every (set) field value will be mapped to the local ID' args: 'Remote ID'
  • sequence Integer
Public methods (0)

No public methods.

New fields (6)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • defaults Char
    help='Optional defaults dict to avoid empty values'
  • domain Char
    help='Optional filter to import only a subset'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • postprocess Text
    help='Optional python code for postprocessing. Your code has access to `vals` which is the dictionary passed to create/write, and `env`.'
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • import_database_id Many2one → import.odoo.database
    string='From remote database' args: 'import.odoo.database'
  • import_database_record_id Integer
    args: 'Remote database ID'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/10.0/base_import_odoo
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES odoorpc
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_import_odoo_database_field_form import.odoo.database.field form New
view_import_odoo_database_field_tree import.odoo.database.field tree New
view_import_odoo_database_form import.odoo.database form New
view_import_odoo_database_qweb view_import_odoo_database_qweb ir.ui.view qweb New
view_import_odoo_database_tree import.odoo.database tree New
Models touched (4)

New fields (11)
  • cronjob_id Many2one → ir.cron
    copy=False readonly=True string='Import job' args: 'ir.cron'
  • cronjob_running Boolean
    compute='_compute_cronjob_running'
  • database Char
    required=True
  • duplicates Selection
    default='skip' required=True args: [('skip', 'Skip existing'), ('overwrite', 'Overwrite existing'), ('overwrite_empty', 'Overwrite empty fields')], 'Duplicate handling'
  • import_field_mappings One2many → import.odoo.database.field
    string='Field mappings' args: 'import.odoo.database.field', 'database_id'
  • import_line_ids One2many → import.odoo.database.model
    string='Import models' args: 'import.odoo.database.model', 'database_id'
  • password Char
    default='admin'
  • status_data Serialized
    copy=False readonly=True args: 'Status'
  • status_html Html
    compute='_compute_status_html' readonly=True sanitize=False
  • url Char
    required=True
  • user Char
    default='admin' required=True
Public methods (2)
  • action_import(self)
    @api.multi
    Create a cronjob to run the actual import
  • name_get(self)
    @api.multi

New fields (10)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • field_ids Many2many → ir.model.fields
    help='If set, the mapping is only effective when setting said field' ondelete='cascade' string='Field' args: 'ir.model.fields'
  • id_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='ID field' args: 'ir.model.fields'
  • local_id Integer
    help='If you leave this empty, a new record will be created in the local database when this field is set on the remote database' args: 'Local ID'
  • mapping_type Selection
    default='fixed' required=True string='Type' args: [('fixed', 'Fixed'), ('by_field', 'Based on equal fields'), ('by_reference', 'By reference'), ('unique', 'Unique')]
  • model Char
    related=['model_id', 'model']
  • model_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='Model field' args: 'ir.model.fields'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • remote_id Integer
    help='If you leave this empty, every (set) field value will be mapped to the local ID' args: 'Remote ID'
  • sequence Integer
Public methods (0)

No public methods.

New fields (6)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • defaults Char
    help='Optional defaults dict to avoid empty values'
  • domain Char
    help='Optional filter to import only a subset'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • postprocess Text
    help='Optional python code for postprocessing. Your code has access to `vals` which is the dictionary passed to create/write, and `env`.'
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • import_database_id Many2one → import.odoo.database
    string='From remote database' args: 'import.odoo.database'
  • import_database_record_id Integer
    args: 'Remote database ID'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/8.0/base_import_odoo
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Therp BV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Therp BV
COMMITTERS
COMMITTERSYannick Vaucher, Stefan Rijnhart, Holger Brunn, OCA Transbot, Stefan Rijnhart (Opener), oca-travis, Weblate, OCA-git-bot, Tom Blauwendraat
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES odoorpc
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_import_odoo_database_field_form import.odoo.database.field form New
view_import_odoo_database_field_tree import.odoo.database.field tree New
view_import_odoo_database_form import.odoo.database form New
view_import_odoo_database_qweb view_import_odoo_database_qweb ir.ui.view qweb New
view_import_odoo_database_tree import.odoo.database tree New
Models touched (4)

New fields (11)
  • cronjob_id Many2one → ir.cron
    copy=False readonly=True string='Import job' args: 'ir.cron'
  • cronjob_running Boolean
    compute='_compute_cronjob_running'
  • database Char
    required=True
  • duplicates Selection
    default='skip' required=True args: [('skip', 'Skip existing'), ('overwrite', 'Overwrite existing'), ('overwrite_empty', 'Overwrite empty fields')], 'Duplicate handling'
  • import_field_mappings One2many → import.odoo.database.field
    string='Field mappings' args: 'import.odoo.database.field', 'database_id'
  • import_line_ids One2many → import.odoo.database.model
    string='Import models' args: 'import.odoo.database.model', 'database_id'
  • password Char
    default='admin'
  • status_data Serialized
    copy=False readonly=True args: 'Status'
  • status_html Html
    compute='_compute_status_html' readonly=True sanitize=False
  • url Char
    required=True
  • user Char
    default='admin' required=True
Public methods (2)
  • action_import(self)
    @api.multi
    Create a cronjob to run the actual import
  • name_get(self)
    @api.multi

New fields (10)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • field_ids Many2many → ir.model.fields
    help='If set, the mapping is only effective when setting said field' ondelete='cascade' string='Field' args: 'ir.model.fields'
  • id_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='ID field' args: 'ir.model.fields'
  • local_id Integer
    help='If you leave this empty, a new record will be created in the local database when this field is set on the remote database' args: 'Local ID'
  • mapping_type Selection
    default='fixed' required=True string='Type' args: [('fixed', 'Fixed'), ('by_field', 'Based on equal fields'), ('by_reference', 'By reference'), ('unique', 'Unique')]
  • model Char
    related=['model_id', 'model']
  • model_field_id Many2one → ir.model.fields
    compute=<expr> inverse=<expr> string='Model field' args: 'ir.model.fields'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • remote_id Integer
    help='If you leave this empty, every (set) field value will be mapped to the local ID' args: 'Remote ID'
  • sequence Integer
Public methods (0)

No public methods.

New fields (4)
  • database_id Many2one → import.odoo.database
    ondelete='cascade' required=True string='Database' args: 'import.odoo.database'
  • domain Char
    help='Optional filter to import only a subset'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True string='Model' args: 'ir.model'
  • sequence Integer
Public methods (0)

No public methods.

New fields (2)
  • import_database_id Many2one → import.odoo.database
    string='From remote database' args: 'import.odoo.database'
  • import_database_record_id Integer
    args: 'Remote database ID'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/server-tools
PULL REQUEST
PULL REQUEST[MIG][12.0] base_import_odoo (#3005)