Define backends, exchange types, exchange records, basic automation and views for handling EDI exchanges.

Technical Name:
Creu Blanca, ACSONE
  • Odoo Version


Alpha License: LGPL-3 OCA/edi Translate me on Weblate Try me on Runbot

Base EDI backend.

Provides following models:

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

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


This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status

Table of contents


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

Known issues / Roadmap

The module name has been changed from edi to edi_oca.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • Creu Blanca


This module is maintained by the OCA.

Odoo Community Association

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.

Current maintainers:

simahawk etobella

This module is part of the OCA/edi project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

This is a preview of the recently viewed products by the user.
Once the user has seen at least one product this snippet will be visible.

Recently viewed Products