Allow exchange files using storage backends from OCA/storage.
This module adds a storage backend relation on the EDI backend. There you can configure the backend to be used (most often and SFTP) and the paths where to read or put files.
Often the convention when exchanging files via SFTP is to have one input forder (to receive files) and an output folder (to send files).
Inside this folder you have this hierarchy:
input/output folder |- pending |- done |- error
- pending folder contains files that have been just sent
- done folder contains files that have been processes successfully
- error folder contains files with errors and cannot be processed
The storage handlers take care of reading files and putting files in/from the right place and update exchange records data accordingly.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you exchange EDI files through a storage backend such as SFTP, with separate pending, done and error folders for incoming and outgoing files. A scheduled job scans the input folder and creates exchange records automatically.
This module connects EDI backends to a file storage backend (for example SFTP) so files can be exchanged automatically instead of manually.
On the EDI backend form a new "Storage" tab lets you pick the storage and set six folders: input pending, input done, input error, output pending, output done and output error. The usual layout is a pending folder for new files, a done folder for successfully processed files and an error folder for failed ones.
A scheduled job runs every hour and checks the pending input folder of every backend that has a storage configured. For each input exchange type it looks for files matching the configured filename pattern (or takes all files if no pattern is set) and creates a new exchange record for each file found, so users do not have to create them by hand. Each record remembers which storage it came from.
When an exchange is sent, the file is written to the output pending folder. When an exchange is received, the file is read from the input pending folder. Two ready-made configurations (inactive by default) can move input files from pending to done when the exchange succeeds, or from pending to error when it fails; you must set the backend on them before activating.
Exchange types gain a filename pattern field, used to filter incoming files and to build outgoing file names.
Depends on
Required by other modules
Models and fields (4)
- edi.backend · extends an existing modelstorage_id (FS Storage), input_dir_done (Input done directory), input_dir_error (Input error directory), output_dir_done (Output done directory), output_dir_error (Output error directory), input_dir_pending (Input pending directory), output_dir_pending (Output pending directory)
- edi.exchange.type · extends an existing modelexchange_filename_pattern
- edi.exchange.record · extends an existing modelstorage_id (FS Storage)
- edi.oca.storage.handler · new model
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 6 confirmed, 3 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/edi.
terminal Installation and usage
OCA documentation · Odoo 19.0Configuration
Source · Odoo 19.0This module has two inactive global edi.configuration records that move the input file across the storage directories on on_edi_exchange_done / on_edi_exchange_error:
- *Storage: move input file, pending → done (fallback error → done)
- *Storage: move input file, pending → error
Before enabling them you must set backend_id on the record: otherwise the global match runs against every backend in the database, including non-storage ones.
Usage
Source · Odoo 19.0Go to "EDI -\> EDI backend" then configure your backend to use a storage backend.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.