OdooWiki OCA HUB
Uncategorised License: LGPL-3

Base EDI backend.

Provides following models:

  • EDI Backend, to centralize configuration
  • EDI Backend Type, to classify EDI backends (eg: UBL, GS1, e-invoice, pick-yours)
  • EDI Exchange Type, to define file types of exchange
  • EDI Exchange Record, to define a record exchanged between systems

Also define a mixin to be inherited by records that will generate EDIs

auto_awesome What this module does

AI-generated from the code · Odoo 13.0

Set up EDI backends, exchange types and exchange records to exchange electronic documents with external systems, with automatic generation, sending, receiving and processing of files.

This module gives you the building blocks to exchange electronic documents (invoices, orders, etc.) with external systems. You configure 'backends' (connections to a partner or service) and 'exchange types' (the kind of file exchanged, its direction and file naming).

On any business record that supports it, a button lets you create an exchange record manually; if only one backend matches the exchange type it is used automatically, otherwise a wizard asks you to pick one. Each exchange record shows its state (new, waiting to be sent, sent, received, processed, error), the file, the error message, and links to the related business record and to related exchanges such as acknowledgements.

Automatic behaviours: two scheduled jobs look for pending exchanges. One generates and sends outgoing files; the other receives and processes incoming files. Files can be generated automatically when the exchange type is set that way. If an exchange type requires an acknowledgement, the system creates the ACK record and tracks when it is received. Failed exchanges can be retried with a button that moves the state back. Messages are posted on the related business record when a file is sent, received, processed or fails.

It adds menus under EDI for Backends, Exchanges and Config, plus access rules and a manager group for advanced settings.

Depends on

Menus it adds

BackendsExchangesConfigmenu_edi_backend_typemenu_edi_exchange_type
Models and fields (13)
  • edi.backend · new modelname, active, backend_type_id (EDI Backend type), output_sent_processed_auto
  • edi.backend.type · new modelcode, name
  • edi.exchange.type · new modelcode, name, direction, model_ids, backend_id (Backend), ack_type_id (Ack exchange type), enable_domain (Enable on domain), enable_snippet (Enable on snippet), job_channel_id, backend_type_id (Backend type), exchange_file_ext, advanced_settings_edit (Advanced YAML settings), exchange_filename_pattern, exchange_file_auto_generate
  • edi.component.mixin · new model
  • edi.exchange.record · new modelname, model, res_id (Record), type_id (Exchange type), direction, parent_id, retryable, backend_id, identifier, ack_expected, exchanged_on (Exchanged on), exchange_file, exchange_error (Exchange error), ack_exchange_id (ACK exchange), ack_received_on (ACK received on), exchange_filename, edi_exchange_state (Exchange state), external_identifier, related_exchange_ids (Related records), exchange_file_auto_generate
  • edi.component.send.mixin · new model
  • edi.component.check.mixin · new model
  • edi.component.input.mixin · new model
  • edi.component.output.mixin · new model
  • edi.exchange.record.create · new modelmodel, res_id, backend_id, backend_type_id, exchange_type_id
  • edi.component.receive.mixin · new model
  • edi.exchange.consumer.mixin · new modeledi_auto_disabled, exchange_record_ids, exchange_record_count, has_expected_edi_configuration
  • edi.component.validate.mixin · new model

Text generated by AI (DeepSeek) from reading the Odoo 13.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 13.0

This module aims to provide an infrastructure to simplify interchangability of documents between systems providing a configuration platform. It will be inherited by other modules in order to define the proper implementations of components.

In order to define a new Exchange Record, we need to configure:

  • Backend Type
  • Exchange Type
  • Backend
  • Components

Component definition

The component usage must be defined like `edi.{direction}.{kind}.{code}` where:

* direction is `output` or `input`
* kind can be: `generate`, `send`, `check`, `process`, `receive`
* code is the `{backend type code}` or `{backend type code}.{exchange type code}`

User EDI generation

On the exchange type, it might be possible to define a set of models, a domain and a snippet of code. After defining this fields, we will automatically see buttons on the view to generate the exchange records. This configuration is useful to define a way of generation managed by user.

After certain operations or manual execution, Exchange records will be generated. This Exchange records might be input records or outputs records.

The change of state can be manually executed by the system or be managed through by ir.cron.

Output Exchange records

An output record is intended to be used for exchange information from Odoo to another
system.

The flow of an output record should be:

* Creation
* Generation of data
* Validation of data
* Sending data
* Validation of data processed properly by the other party

Input Exchange records

An input record is intended to be used for exchange information another system to odoo.

The flow of an input record should be:

  • Creation
  • Reception of data
  • Checking data
  • Processing data

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.