| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi-framework |
| GIT | |
| GIT | https://github.com/OCA/edi-framework.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi-framework/tree/18.0/edi_storage_oca |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Hector Vior, Arnau |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi-framework |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/edi: - base_edi OCA/edi-framework: - edi_core_oca OCA/server-env: - server_environment OCA/storage: - fs_storage odoo/odoo: - base - base_setup - web - bus - web_tour - html_editor - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyYAML openupgradelib fsspec>=2024.5.0 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edi_backend_view_form |
edi.backend | notebook | Inherits edi_core_oca.edi_backend_view_form |
input_dir_done
Char
help='Path to folder for doneful operations'
args: 'Input done directory'
input_dir_error
Char
help='Path to folder for error operations'
args: 'Input error directory'
input_dir_pending
Char
help='Path to folder for pending operations'
args: 'Input pending directory'
output_dir_done
Char
help='Path to folder for doneful operations'
args: 'Output done directory'
output_dir_error
Char
help='Path to folder for error operations'
args: 'Output error directory'
output_dir_pending
Char
help='Path to folder for pending operations'
args: 'Output pending directory'
storage_id
Many2one → fs.storage
comodel_name='fs.storage'
help='Storage for in-out files'
ondelete='restrict'
string='FS Storage'
No public methods.
storage_id
Many2one → fs.storage
comodel_name='fs.storage'
help='Record created from a file found in this FS storage'
readonly=True
string='FS Storage'
No public methods.
exchange_filename_pattern
Char
help='For output exchange types this should be a formatting string with the following variables available (to be used between brackets, `{}`): `exchange_record`, `record_name`, `type` and `dt`. For instance, a valid string would be {record_name}-{type.code}-{dt}\nFor input exchange types related to storage backends it should be a regex expression to filter the files to be fetched from the pending directory in the related storage. E.g: `.*my-type-[0-9]*.\\.csv`'
No public methods.
No new fields.
Public methods (3)check(self, exchange_record)
receive(self, exchange_record)
send(self, exchange_record)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi-framework |
| GIT | |
| GIT | https://github.com/OCA/edi-framework.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi-framework/tree/17.0/edi_storage_oca |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Luis Rodriguez |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi-framework |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - component_event - component OCA/edi: - base_edi OCA/edi-framework: - edi_oca OCA/queue: - queue_job OCA/server-env: - server_environment OCA/storage: - fs_storage odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyYAML cachetools requests fsspec>=2024.5.0 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edi_backend_view_form |
edi.backend | notebook | Inherits edi_oca.edi_backend_view_form |
input_dir_done
Char
help='Path to folder for doneful operations'
args: 'Input done directory'
input_dir_error
Char
help='Path to folder for error operations'
args: 'Input error directory'
input_dir_pending
Char
help='Path to folder for pending operations'
args: 'Input pending directory'
output_dir_done
Char
help='Path to folder for doneful operations'
args: 'Output done directory'
output_dir_error
Char
help='Path to folder for error operations'
args: 'Output error directory'
output_dir_pending
Char
help='Path to folder for pending operations'
args: 'Output pending directory'
storage_id
Many2one → fs.storage
comodel_name='fs.storage'
help='Storage for in-out files'
ondelete='restrict'
string='FS Storage'
No public methods.
storage_id
Many2one → fs.storage
comodel_name='fs.storage'
help='Record created from a file found in this FS storage'
readonly=True
string='FS Storage'
No public methods.
exchange_filename_pattern
Char
help='For output exchange types this should be a formatting string with the following variables available (to be used between brackets, `{}`): `exchange_record`, `record_name`, `type` and `dt`. For instance, a valid string would be {record_name}-{type.code}-{dt}\nFor input exchange types related to storage backends it should be a regex expression to filter the files to be fetched from the pending directory in the related storage. E.g: `.*my-type-[0-9]*.\\.csv`'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi-framework |
| GIT | |
| GIT | https://github.com/OCA/edi-framework.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi-framework/tree/16.0/edi_storage_oca |
| VERSION | |
| VERSION | 1.2.3 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Sébastien Alix, JordiMForgeFlow, Weblate, OCA-git-bot, Simone Orsi, oca-ci, duongtq, thien, Tran Anh Tuan |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi-framework |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-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 OCA/storage: - fs_storage odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyYAML cachetools requests fsspec>=2024.5.0 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edi_backend_view_form |
edi.backend | notebook | Inherits edi_oca.edi_backend_view_form |
input_dir_done
Char
help='Path to folder for doneful operations'
args: 'Input done directory'
input_dir_error
Char
help='Path to folder for error operations'
args: 'Input error directory'
input_dir_pending
Char
help='Path to folder for pending operations'
args: 'Input pending directory'
output_dir_done
Char
help='Path to folder for doneful operations'
args: 'Output done directory'
output_dir_error
Char
help='Path to folder for error operations'
args: 'Output error directory'
output_dir_pending
Char
help='Path to folder for pending operations'
args: 'Output pending directory'
storage_id
Many2one → fs.storage
comodel_name='fs.storage'
help='Storage for in-out files'
ondelete='restrict'
string='FS Storage'
No public methods.
storage_id
Many2one → fs.storage
comodel_name='fs.storage'
help='Record created from a file found in this FS storage'
readonly=True
string='FS Storage'
No public methods.
exchange_filename_pattern
Char
help='For output exchange types this should be a formatting string with the following variables available (to be used between brackets, `{}`): `exchange_record`, `record_name`, `type` and `dt`. For instance, a valid string would be {record_name}-{type.code}-{dt}\nFor input exchange types related to storage backends it should be a regex expression to filter the files to be fetched from the pending directory in the related storage. E.g: `.*my-type-[0-9]*.\\.csv`'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi |
| GIT | |
| GIT | https://github.com/OCA/edi.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi/tree/15.0/edi_storage_oca |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, jcoux, Weblate, OCA-git-bot, Iryna Vyshnevska, oca-ci, Jasmin Solanki |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:34 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - component_event - component OCA/edi: - edi_oca - base_edi OCA/queue: - queue_job OCA/server-env: - server_environment OCA/storage: - storage_backend odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
PyYAML cachetools requests |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edi_backend_view_form |
edi.backend | notebook | Inherits edi_oca.edi_backend_view_form |
input_dir_done
Char
help='Path to folder for doneful operations'
args: 'Input done directory'
input_dir_error
Char
help='Path to folder for error operations'
args: 'Input error directory'
input_dir_pending
Char
help='Path to folder for pending operations'
args: 'Input pending directory'
input_dir_remove
Boolean
output_dir_done
Char
help='Path to folder for doneful operations'
args: 'Output done directory'
output_dir_error
Char
help='Path to folder for error operations'
args: 'Output error directory'
output_dir_pending
Char
help='Path to folder for pending operations'
args: 'Output pending directory'
storage_id
Many2one → storage.backend
comodel_name='storage.backend'
help='Storage for in-out files'
ondelete='restrict'
string='Storage backend'
No public methods.
exchange_filename_pattern
Char
help='For output exchange types this should be a formatting string with the following variables available (to be used between brackets, `{}`): `exchange_record`, `record_name`, `type` and `dt`. For instance, a valid string would be {record_name}-{type.code}-{dt}\nFor input exchange types related to storage backends it should be a regex expression to filter the files to be fetched from the pending directory in the related storage. E.g: `.*my-type-[0-9]*.\\.csv`'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi |
| GIT | |
| GIT | https://github.com/OCA/edi.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi/tree/14.0/edi_storage_oca |
| VERSION | |
| VERSION | 1.8.1 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Lois Rilo, Alexey Pelykh, JordiMForgeFlow, jcoux, oca-travis, Weblate, OCA-git-bot, Simone Orsi, oca-ci, fshah |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - component_event - component OCA/edi: - edi_oca - base_edi OCA/queue: - queue_job OCA/server-env: - server_environment OCA/storage: - storage_backend odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pyyaml cachetools requests |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edi_backend_view_form |
edi.backend | notebook | Inherits edi_oca.edi_backend_view_form |
input_dir_done
Char
help='Path to folder for doneful operations'
args: 'Input done directory'
input_dir_error
Char
help='Path to folder for error operations'
args: 'Input error directory'
input_dir_pending
Char
help='Path to folder for pending operations'
args: 'Input pending directory'
input_dir_remove
Boolean
output_dir_done
Char
help='Path to folder for doneful operations'
args: 'Output done directory'
output_dir_error
Char
help='Path to folder for error operations'
args: 'Output error directory'
output_dir_pending
Char
help='Path to folder for pending operations'
args: 'Output pending directory'
storage_id
Many2one → storage.backend
comodel_name='storage.backend'
help='Storage for in-out files'
ondelete='restrict'
string='Storage backend'
No public methods.
exchange_filename_pattern
Char
help='For output exchange types this should be a formatting string with the following variables available (to be used between brackets, `{}`): `exchange_record`, `record_name`, `type` and `dt`. For instance, a valid string would be {record_name}-{type.code}-{dt}\nFor input exchange types related to storage backends it should be a regex expression to filter the files to be fetched from the pending directory in the related storage. E.g: `.*my-type-[0-9]*.\\.csv`'
No public methods.
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/edi-framework |
| PULL REQUEST | |
| PULL REQUEST | [19.0][MIG] edi_storage_oca: Migration to 19.0 (#254) |