Edi Exchange Deduplicate OCA

edi_exchange_deduplicate_oca
REPOSITORY
REPOSITORYOCA/edi-framework
GIT
GIThttps://github.com/OCA/edi-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi-framework/tree/19.0/edi_exchange_deduplicate_oca
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Ricardoalso, Hadrien Huvelle
WEBSITE
WEBSITEhttps://github.com/OCA/edi-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/edi:
    - base_edi
OCA/edi-framework:
    - edi_core_oca
odoo/odoo:
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES PyYAML
openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds options for deduplication records before sending step on type:  
- deduplicate_on_send: check if a fresher one does not exist for the
  same record. If so, mark the oldest one as obsolete.
- delete_obsolete_records: Delete records marked as obsolete.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
edi_exchange_type_view_form_inherit edi.exchange.type.form.inherit edi.exchange.type field Inherits edi_core_oca.edi_exchange_type_view_form
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • block_obsolescence Boolean
    default=False help='Flag record that can never be marked as obsolete'
  • edi_exchange_state Selection
    ondelete={'obsolete': 'cascade'} selection_add=[('obsolete', 'Obsolete')]
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (3)
  • deduplicate_on_exchange_record_status Char
    default='new,output_pending' groups='base.group_no_one'
  • deduplicate_on_send Boolean
    default=False help='Before sending an exchange record, check if a fresher one does not exist for same record; if so, mark oldest one as obsolete.' string='Deduplicate on Send'
  • delete_obsolete_records Boolean
    default=True help='Delete records marked as obsolete.' string='Delete obsolete records'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/edi-framework
GIT
GIThttps://github.com/OCA/edi-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi-framework/tree/18.0/edi_exchange_deduplicate_oca
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Ricardoalso
WEBSITE
WEBSITEhttps://github.com/OCA/edi-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/edi:
    - base_edi
OCA/edi-framework:
    - edi_core_oca
odoo/odoo:
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES PyYAML
openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds options for deduplication records before sending step on type:  
- deduplicate_on_send: check if a fresher one does not exist for the
  same record. If so, mark the oldest one as obsolete.
- delete_obsolete_records: Delete records marked as obsolete.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
edi_exchange_type_view_form_inherit edi.exchange.type.form.inherit edi.exchange.type field Inherits edi_core_oca.edi_exchange_type_view_form
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • block_obsolescence Boolean
    default=False help='Flag record that can never be marked as obsolete'
  • edi_exchange_state Selection
    ondelete={'obsolete': 'cascade'} selection_add=[('obsolete', 'Obsolete')]
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (2)
  • deduplicate_on_send Boolean
    default=False help='Before sending an exchange record, check if a fresher one does not exist for same record; if so, mark oldest one as obsolete.' string='Deduplicate on Send'
  • delete_obsolete_records Boolean
    default=True help='Delete records marked as obsolete.' string='Delete obsolete records'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/edi-framework
GIT
GIThttps://github.com/OCA/edi-framework.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/edi-framework/tree/16.0/edi_exchange_deduplicate_oca
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Quoc Duong
WEBSITE
WEBSITEhttps://github.com/OCA/edi-framework
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:46
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component_event
    - component
OCA/edi:
    - base_edi
OCA/edi-framework:
    - edi_oca
OCA/queue:
    - queue_job
odoo/odoo:
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES PyYAML
cachetools
requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
edi_exchange_type_view_form_inherit edi.exchange.type.form.inherit edi.exchange.type field Inherits edi_oca.edi_exchange_type_view_form
Models touched (3)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • block_obsolescence Boolean
    default=False help='Flag record that can never be marked as obsolete'
  • edi_exchange_state Selection
    ondelete={'obsolete': 'cascade'} selection_add=[('obsolete', 'Obsolete')]
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi

New fields (2)
  • deduplicate_on_send Boolean
    default=False help='Before sending an exchange record, check if a fresher one does not exist for same record; if so, mark oldest one as obsolete.' string='Deduplicate on Send'
  • delete_obsolete_records Boolean
    default=True help='Delete records marked as obsolete.' string='Delete obsolete records'
Public methods (0)

No public methods.