Skip to Content
Menu

EDI Connector (FTP/SFTP Connector / XML File Format)

by
Odoo

566.86

v 15.0 Third Party 10
Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Inventory (stock)
Lines of code 2554
Technical Name odoo_edi_integration
LicenseOPL-1
Websitehttp://www.vrajatechnologies.com
Versions 14.0 15.0 16.0 17.0 18.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Inventory (stock)
Lines of code 2554
Technical Name odoo_edi_integration
LicenseOPL-1
Websitehttp://www.vrajatechnologies.com
Versions 14.0 15.0 16.0 17.0 18.0
Enterprise Community Odoo.sh

EDI Odoo Integration (FTP/SFTP Import/Export Records)

EDI Odoo Integration integrate with FTP/SFTP servers to retrieve folder structures and create file attachments, allowing seamless file management within Odoo. It supports importing and exporting various data, facilitating efficient data transfer to and from Odoo.

EDI Key Features 

Connect With Multiple FTP/SFTP Servers

Supported Any XML File
Format

Auto Import/Export Any Transaction

Auto Import Inventory From FTP/SFTP

Manage Detailed Log For Each Process

Interactive User
Interface

GET INSTANT PERSONALIZED DEMO

Recommended Solutions

Integration Steps

1. Installation

After downloading the Odoo EDI Integration App from the Odoo store, place it in the Odoo Addons path or any desired location. Restart your Odoo instance and go to the Apps section in the dashboard. Click on "Update Apps List" from the menu. Once the list is updated successfully, the Odoo EDI Integration app will appear in the Apps section.

Click the "Install" button, and you're all set! You can now use the Odoo EDI Integration app in your Odoo instance.

2. FTP/SFTP Configuration (From menu Sync FTP/SFTP Syncing)

You need to set up FTP syncing connection by entering the URL, port, username, and password.

After entering the proper details, the right-side ribbon indicates whether your FTP connection is properly configured or not.

You need to set up SFTP syncing connection by entering the Host, username, password, host. Additionally you need to enter root directory path, so we will import inner all directories.

After entering the proper details, the right-side ribbon indicates whether your SFTP connection is properly configured or not.

3. Fetch Directories from FTP/SFTP

After successfully syncing with FTP/SFTP, you will see the 'Sync FTP/SFTP Directories' button. Clicking this button will fetch the directories from FTP/SFTP and create corresponding records in Odoo.

4. EDI Table integration (From EDI menu)

You need to mention the required details for the incoming/outgoing table.

  • Odoo Model: Which Odoo model would you like to perform the operation on?

  • File Type If your XML file having single record then select single. - If your XML file having multiple records then select multiple.

  • XML Header: You need to specify the main header name in the XML.

  • Search record from this value: To check an existing record, Set the XML element name(s) here. Use the provided value(s) to check if existing records are available. You can specify multiple XML elements, separated by commas.

  • Default value: During the import/export process, if you want to include specific values along with the processed data, you should enter these values in dictionary format.

  • Type: Incoming/Outgoing, this table will be used for which kind of operation.

  • Server Type: From which server your file is synced.

  • Trading Partner: When the type is outgoing, you need to select the trading partner/contact from which records of the particular model will be fetched and then exported to FTP/SFTP.

  • Export file to FTP/SFTP Directory: When the type is outgoing, you need to select the FTP/SFTP directory where you want to export files.

  • Main table: You need to enable this option if your configuration is main. For example, to add a sale order record, create a configuration record with the main table option enabled for the sale order model. Additionally, create a separate configuration for the sale order line without enabling the main table option.

In Mapping XML Elements with Fields table
  • XML Element: You need to enter the exact XML element you want to map with the Odoo field.

  • Selected Model fields: You need to select the field with which you want to map the XML data.

  • Field to search for M2O: This field is optional. If you choose a Many2one field for mapping, you have the option to set the inner field of that Many2one model. This helps you search records based on that field; otherwise, the search will use the name field of the Many2one model.

  • Sub Table:For a One2Many field, you need to select a subtable where a separate configuration is available for the One2Many fields. (In the subtable, follow the same concept, but you do not need to enable the Main table option. If the "Search record from this value" field is left empty, it will create duplicate One2Many records from the CSV. If you select this option, it will update existing records.)

  • Required: When the type is outgoing, this field becomes visible. If it's enabled, the element is required and will cause an error if the value is missing.

  • Character length max: When the type is outgoing, this field becomes visible. This option allows you to limit the number of characters for a field.

Main Table
Sub Table
5. Import Records Process (From FTP/SFTP to Odoo)

Fetch Inner files/attachments from directories through button "Sync Inner Files"

We have also provided a scheduled action option for automation. A scheduled action will be created for each FTP/SFTP configuration, and you can review it using the smart button within the form view. You can configure the execution time according to your requirements.

Before pressing the button or executing the scheduled action, certain configurations must be completed. The details are provided below.

First, in the directory list view, specify which directory will be used for the Download operation, so from those directory we will fetch inner files.

In the directory configuration, there's an option stating, "Daily new file coming in this directory". If a directory receives new files with the same name every day, and you need to fetch and process them in Odoo daily, you should enable this checkbox.

Second, in the directory itself you need to select Mapping Model/Table if you don't want to search using XML header.

We’ve added a feature that allows automatic mapping table search using an XML file’s header. Enable the "Search mapping table using XML header" option in the directory form view to support multiple file formats in one directory. Ensure the mapping table is configured for different XML headers.

After making these selections of download option & mapping Model/table you need to press 'Sync Inner Files' button, that process fetch inner files/attachments from the directories chosen for downloading will be fetched into Odoo, creating Odoo attachments.

Along with FTP/SFTP attachments, EDI transaction records will also be created. (Those records will be processed when the scheduled action executes.)

Additionally, we have implemented a directory-wise auto-sync feature. If you have numerous files across different directories that are marked for download, there is a possibility where the common scheduled action of sync inner files encounters timeouts due to Odoo's processing limits, resulting in incomplete synchronization.

To address this issue, we have provided an option to enable auto-sync on a per-directory basis. Simply click the "Generate Auto Sync" button in the desired directory, and the sync process will run individually for the files within that directory, ensuring complete synchronization. You can review it using the smart button within the form view.

6. To process EDI Transactions through Scheduled Action (Cron)

From the scheduled action, all EDI transactions in the draft state are processed based on the type.

  • Incoming type: Records will be created in Odoo.

On successful EDI transaction processed that record will move to the done state, if any issue arises then it will move into the failed state & log will generated to check issue.

Scheduled Action
Incoming record created of Sale Order
Incoming record created of Purchase Order
7. Log management

A log is created for reference in case of any faults during the import/export process.

We also set a scheduled action to delete log records older than 13 days.
8. Sample XML files
Sample Sale order file which gets imported from FTP.
1. Export Records Process (From Odoo to FTP/SFTP)

Firstly you need to do some configuration.

Inside FTP/SFTP Syncing form view you need to enable Upload option beside those directory in which you want to export files from Odoo to FTP/SFTP.
In Configuration table of type outgoing, you need to select partner whom records you need to export & along with that you need to select FTP/SFTP directory in which you want to export those files/records.
A scheduled action has been created to fetch export records based on the EDI Table configuration of the Trading Partner and Odoo Model, which will then create EDI transaction records in ‘Draft’ state. (Those records will be processed when the scheduled action executes.)
If something goes wrong or required field values are missing, those EDI transaction records will be set to a failed state, and a log will be generated for them. After rectifying the issue, you can recompute the XML content by clicking the 'Re-compute' button. Upon successful recomputation, the XML content will be available, and the state will change to draft.
2. To process EDI Transactions through Scheduled Action (Cron)

From the scheduled action, all EDI transactions in the draft state are processed based on the type.

  • Outgoing type: Records will be exported/uploaded to FTP/SFTP from Odoo. Based on the configuration table, the XML file will be uploaded to the directory specified in the configuration.

On successful EDI transaction processed that record will move to the done state, if any issue arises then it will move into the failed state & log will generated to check issue.

Scheduled Action

Outgoing record: XML file is generated and exported to the configured FTP/SFTP directory.

3. Log management

A log is created for reference in case of any faults during the export process.

We also set a scheduled action to delete log records older than 13 days.

1. We are managing a distinct configuration setup for the import multiple records in a single file.
  • Odoo Model:Which Odoo model would you like to perform the operation on?

  • File Type:- If your XML file having single record then select single. - If your XML file having multiple records then select multiple. (In this case it's regarding multiple records in single file.)

  • Inventory Location: When you select Quants as the Odoo model, this field becomes visible. Here, you need to choose the location where you want to add or update stock. (It's mandatory.)

  • XML Header: You need to specify the main header name in the XML.

  • Search record from this value: To check an existing record, Set the XML element name(s) here. Use the provided value(s) to check if existing records are available. You can specify multiple XML elements, separated by commas.

  • Default value:During the import process, if you want to include specific values along with the processed data, you should enter these values in dictionary format. Type: Incoming.

  • Server Type: From which server your file is synced.

  • Main table: For importing multiple records in a file, we use a main table and sub-table concept. In the main table, you need to enable this option. (You need to create sub-table first for those model mapping configuration.)

In Mapping XML Elements with Fields table
  • XML Element: Enter the exact XML element to map with the Odoo field. Use '/' to separate elements for nested levels.

  • Sub EDI Import Table: For importing multiple records in a file, create a table without enabling the main table option, inside that table map Odoo fields to XML elements, and select that table here.

Main Table of Import multiple records in a file
Sub Table
Sub Table of Import Quants
Sample Product file which gets imported from SFTP & having multiple products data in single file.
Sample file of Import Quants
2. Import Records Process (From FTP/SFTP to Odoo)

Fetch Inner files/attachments from directories through button "Sync Inner Files"

We have also provided a scheduled action option for automation. A scheduled action will be created for each FTP/SFTP configuration, and you can review it using the smart button within the form view. You can configure the execution time according to your requirements.

Before pressing the button or executing the scheduled action, certain configurations must be completed. The details are provided below.

First, in the directory list view, specify which directory will be used for the Download operation, so from those directory we will fetch inner files.

In the directory configuration, there's an option stating, "Daily new file coming in this directory". If a directory receives new files with the same name every day, and you need to fetch and process them in Odoo daily, you should enable this checkbox.

Second, in the directory itself you need to select Mapping Model/Table if you don't want to search using XML header.

We’ve added a feature that allows automatic mapping table search using an XML file’s header. Enable the "Search mapping table using XML header" option in the directory form view to support multiple file formats in one directory. Ensure the mapping table is configured for different XML headers.

We have also introduced a feature that enables record splitting. If a file is too large or contains an excessive number of records, it will be automatically split to ensure seamless processing. This functionality applies to all files within this directory, allowing efficient handling and processing.You need to enable the "Split the records of a file" option. Once enabled, a new field will appear below it, where you must specify the XML tag used to split the file. This tag should correspond to multiple records.

After making these selections you need to press 'Sync Inner Files' button, that process fetch inner files/attachments from the directories chosen for downloading will be fetched into Odoo, creating Odoo attachments.

Along with attachments, EDI transaction records will also be created. (Those records will be processed when the scheduled action executes.)

Additionally, we have implemented a directory-wise auto-sync feature. If you have numerous files across different directories that are marked for download, there is a possibility where the common scheduled action of sync inner files encounters timeouts due to Odoo's processing limits, resulting in incomplete synchronization.

To address this issue, we have provided an option to enable auto-sync on a per-directory basis. Simply click the "Generate Auto Sync" button in the desired directory, and the sync process will run individually for the files within that directory, ensuring complete synchronization. You can review it using the smart button within the form view.

3. To process EDI Transactions through Scheduled Action (Cron)

From the scheduled action, all EDI transactions in the draft state are processed based on the type.

  • Incoming type:Records will be created in Odoo.

On successful EDI transaction processed that record will move to the done state, if any issue arises then it will move into the failed state & log will generated to check issue.

Scheduled Action
1. We are managing a distinct configuration setup for the export multiple product records in a single file.
  • Odoo Model: Which Odoo model would you like to perform the operation on? (In this case Product Variant i.e. product.product)

  • File Type: - If your XML file having single record then select single. - If your XML file having multiple records then select multiple. (In this case it's regarding multiple records in single file.)

  • XML Header: You need to specify the main header name in the XML.

  • Export Multiple Record's XML Element Name: When you export multiple records in one file at that time you need to provide XML element for those multiple records. Those muliple records belongs to which XML element.

  • Search record from this value: To check an existing record, Set the XML element name(s) here. Use the provided value(s) to check if existing records are available. You can specify multiple XML elements, separated by commas.

  • Default value: During the import process, if you want to include specific values along with the processed data, you should enter these values in dictionary format.

  • Type: Incoming.

  • Server Type: From which server your file is synced..

  • Export file to FTP/SFTP Directory: When the type is outgoing, you need to select the FTP/SFTP directory where you want to export files.

  • Main table: For importing multiple records in a file, we use a main table and sub-table concept. In the main table, you need to enable this option. (You need to create sub-table first for those model mapping configuration.)

In Mapping XML Elements with Fields table

  • XML Element: You need to enter the exact XML element you want to map with the Odoo field.

  • Selected Model fields: You need to select the field with which you want to map the XML data.

  • Field to search for M2O:This field is optional. If you choose a Many2one field for mapping, you have the option to set the inner field of that Many2one model. This helps you search records based on that field; otherwise, the search will use the name field of the Many2one model.

  • Sub Table: For a One2Many field, you need to select a subtable where a separate configuration is available for the One2Many fields. (In the subtable, follow the same concept, but you do not need to enable the Main table option. If the "Search record from this value" field is left empty, it will create duplicate One2Many records from the CSV. If you select this option, it will update existing records.)

  • Required: When the type is outgoing, this field becomes visible. If it's enabled, the element is required and will cause an error if the value is missing.

  • Character length max:When the type is outgoing, this field becomes visible. This option allows you to limit the number of characters for a field.

Main Table of Export multiple product records in a file
2. Export Multiple Product Records Process

We have given separate process for it, you need to click on 'Export Records' menu, a wizard like this will open.

You need to select mapping model of product variant which you created.

You can select single/multiple product records in products field.

Upon completion of the process, EDI transactions will be created for the Outgoing type. These transactions can be processed manually or automatically through a scheduled action.

If something goes wrong or required field values are missing, those EDI transaction records will be set to a failed state, and a log will be generated for them. After rectifying the issue, you can recompute the XML content by clicking the 'Re-compute' button. Upon successful recomputation, the XML content will be available, and the state will change to draft.

3. To process EDI Transactions through Scheduled Action (Cron)

From the scheduled action, all EDI transactions in the draft state are processed based on the type.

Outgoing type: Records will be exported/uploaded to FTP/SFTP from Odoo. Based on the configuration table, the XML file will be uploaded to the directory specified in the configuration.

On successful EDI transaction processed that record will move to the done state, if any issue arises then it will move into the failed state & log will generated to check issue.

Scheduled Action

Outgoing record: XML file is generated and exported to the configured FTP/SFTP directory.

4. Log management

A log is created for reference in case of any faults during the export process.

We also set a scheduled action to delete log records older than 13 days.

I need an extra customization in this application, how can I get it?
  • Yes, you can contact us on support@vrajatechnologies.com or can schedule a DEMO with our team to customize additional features.
Is the application compatible with Odoo Enterprise and Community?
  • Yes, this application module is supported by both. It is also compatible with test and production environments.
Do I get free upgrades and support if I purchase this application?
  • If there is a bug or any issues, our team will be there to help you out. If you need to add any new features, you will need to upgrade the application.
Is technical knowledge required to set up the integration?
  • While some technical understanding may be helpful, the integration is designed to be user-friendly. Detailed documentation and support may be provided to aid in the setup process.
Is this free customization and implementation?
  • Our team has produced a support video that guides you through the implementation process step by step. If you encounter any issues, please feel free to contact us for assistance.
Which protocol you have used to transfer file?
  • We have used FTP protocol to transfer files.
Does this support all type of import records?
  • Yes, mostly all types of records will supported, for import inventory we have given separate configuration that mentioned in documentation.
Which file format supported?
  • XML file format supported.
From one directory currently 5 files are there & those imported in Odoo, next time when there are total 10 files(5 old and 5 new) that time if I fetch inner files from same directory is it create old records again in Odoo?
  • No, we have managed that thing. Only new files will import in Odoo & from those files records will create.
Once records exported from Odoo to FTP, is that export again?
  • No, we have managed that thing. Those records which exported that not export again, system only pick fresh records next time.

Submit a Support Ticket

If you encounter any issues while using our app that are caused by the app itself, we offer complimentary support for 90 days from the date of purchase.

To create a support ticket, please register via the Vraja Technologies Support Email and provide the necessary details so we can assist you in resolving the issue.

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.