OdooWiki OCA HUB

EDI Storage backend support

edi_storage_oca folder_open OCA/edi-framework open_in_new
Uncategorised License: LGPL-3

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.0

Lets 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.

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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 6 confirmed, 3 with no information of 9 versions.

Sources · Odoo 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/edi-framework.

terminal Installation and usage

OCA documentation · Odoo 19.0

This 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.

Go to "EDI -\> EDI backend" then configure your backend to use a storage backend.

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.