Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) • Invoicing (account) |
Community Apps Dependencies | Show |
Lines of code | 2312 |
Technical Name |
dynamic_import_export_records |
License | OPL-1 |
Website | https://www.vrajatechnologies.com |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Inventory (stock)
• Discuss (mail) • Invoicing (account) |
Community Apps Dependencies | Show |
Lines of code | 2312 |
Technical Name |
dynamic_import_export_records |
License | OPL-1 |
Website | https://www.vrajatechnologies.com |
.png?065340a)



All-in-One Dynamic Import & Export Records
A powerful, unified solution designed to streamline both import and export operations in Odoo. This all-in-one module supports CSV, TSV, and XLSX formats for seamless data transfer via FTP/SFTP. Manual file upload is also supported for the import process. On the import side, it offers dynamic data mapping, default value configuration, and validation mechanisms to efficiently bring in data across various Odoo models. On the export side, it provides fully customizable configurations with support for flat and relational (one2many) structures, field-level selection, filters, and required field enforcement. With complete control over data handling, error tracking, and logging, this module delivers a robust, scalable, and repeatable data integration framework—ideal for businesses aiming for reliable and structured data operations within Odoo.
Recommended Solutions










Upon installing the application, you will find two main menus: one for server configuration and the other for import/export configuration.

You can configure the FTP server under the FTP Syncing menu.

You can configure the SFTP server under the SFTP Syncing menu.

Configuration of mapping table:
Name: You need to assign an appropriate name for the configuration table as required.
Mapping Model: You need to select the model for which you want to import the records.
Type: This field specifies the type of operation the configuration table is intended for—whether it will be used for import or export.
Main Table: You need to enable this option if your configuration is main. For example if you want to add a sale order record then for the sale order model you need to create configuration record with main table enable & you need to create sale order line configuration separately without main table enable.
Which type of data import?: You need to select the type of data you want to import: Inventory or Other. If you choose Inventory, a location field will appear where you must specify the location for adding or updating the inventory data.
Company: Reference of company.
Partner: Reference of Partner/Contact – this is for your reference in case you have created multiple import mapping configurations, allowing you to easily identify which configuration belongs to which partner.
Unique Identifier Column: Set Column Alphabet (From A-CW), from this value check existing record available or not. To avoid duplication of records in Odoo this must be needed.
Set Default Field Values: During the import process, if you want to include specific values along with the processed data, you should enter these values in dictionary format.
Server Type: You need to select the server type from which the file for this configuration will be imported.
Select FTP/SFTP: You need to select the corresponding FTP or SFTP server configuration record.
File Path: You need to specify the destination file path where the file is located for the import process on your FTP/SFTP server.
Use first row as a header?: You need to select Use first row as a header? If you use Heading/Header in a import file.
CSV File Delimiter: You need to specify the delimiter for the CSV file (comma or semicolon); by default, a comma is considered.
Split the records of a file: If you have big files that need splitting for processing then you have to select the Split the Records of a File field as well.
Model Fields:
File Column Name: Set Column Alphabet (From A-CW, we have handled upto 100 columns), from this column value fetch.
Selected Model Fields: You can select the fields from the chosen model that you want to map with column data/value from import file.
Field to search for M2O: This field is not required, if you choose Many2one field for mapping then you have an option to set the inner field of that Many2one model. It helps you to search records based on that field or else search with the name field of the Many2one model.
Field to search for M2M: This field is not required, if you choose Many2many field for mapping then you have an option to set the inner field of that Many2many model. It helps you to search records based on that field or else search with the name field of the Many2many model.
Sub Table for Relational Field: For a One2many mapping field, you need to select a sub-table where a separate configuration is defined for the One2many field's model. The same concept is followed in the sub-table configuration, with the only difference being that you do not need to enable the Main Table option there.

This is a sub-table configuration where you need to specify the name, model and type; selecting the main table is not required. In addition, you can configure the Unique Identifier column and set default field values. Below are the mapping fields for the selected model, as explained in the previous step.

For each server configuration, whether it's FTP or SFTP, a scheduled action will be created to import records.

When this scheduled action is executed, it identifies the import-type mapping tables linked to the current server configuration, locates the available files based on the defined file path, and imports records from those files accordingly.

This is the defined file path on the server where the file is located for import.

This is a sample file format.

If any record's value from the file does not match existing records in Odoo, you will see a log message like this.

After the successful import process, the record is created in Odoo.

For a successful import operation, you will see log messages like these.

After the import process, the original file from the defined server path will be moved to the Archive folder to prevent re-import and avoid duplication.

We have also provided a manual file import option. In this, you simply need to select the mapping table and upload the file — the system will then import records from the file based on the selected mapping configuration.

Upon installing the application, you will find two main menus: one for server configuration and the other for import/export configuration.

You can configure the FTP server under the FTP Syncing menu.

You can configure the SFTP server under the SFTP Syncing menu.

Configuration of mapping table:
Name: You need to give the name for the configuration table.
Mapping Model: You need to select the model from which you want to export the records.
Type: This field specifies the type of operation the configuration table is intended for—whether it will be used for import or export.
Main Table: You need to enable this option if your configuration is main. For example if you want to add a sale order record then for the sale order model you need to create configuration record with main table enable & you need to create sale order line configuration separately without main table enable.
Company: Reference of company.
Partner: Reference of Partner/Contact – this is for your reference in case you have created multiple export mapping configurations, allowing you to easily identify which configuration belongs to which partner.
Enter Export File Name: You can specify the file name that will be used for the exported file.
Export File Type: You need to select the file type or format from the available options: CSV, TSV, or XLSX.
Enter Filter (Domain): If you need to export specific records from the selected mapping model, you can define a filter/domain here.
Select Upload Option: You need to select the method how you want to export the file.
Server Type: You need to select the server type to which the file for this configuration will be exported.
Select FTP/SFTP: You need to select the corresponding FTP or SFTP server configuration record.
File Path: You need to enter the destination file path where the file should be stored on your FTP/SFTP server.
Select partners to send created file in mail: You need to select the partners whom you want to send the created file via mail.
Model Fields:
Selected Model Fields: You can select the fields from the chosen model that you want to include in the exported file.
Field to search for M2O: This field is optional. If you select a Many2one field for mapping, you can specify a sub-field from the related model to export its specific value. If not specified, the default name field of the Many2one model will be used.
Field to search for M2M: This field is optional. If you select a Many2many field for mapping, you can specify a sub-field from the related model to export its specific value. If not specified, the default name field of the Many2many model will be used.
Required: You can enable this option if the field's value must not be empty. If it is marked as required and found empty, the file will not be generated.
Sub Table for Relational Field: For a One2many mapping field, you need to select a sub-table where a separate configuration is defined for the One2many field's model. The same concept is followed in the sub-table configuration, with the only difference being that you do not need to enable the Main Table option there.


This is a sub-table configuration where you need to specify the name, model and type; selecting the main table is not required. Below are the mapping fields for the selected model (as explained in the previous step).

These scheduled actions are responsible for preparing the file and exporting it to the designated server.

The initial scheduled action is responsible for generating the file to be exported.

Upon running the scheduled action, new transaction records will be generated under the Export Transactions menu.

After the file is successfully generated, it will be available within the corresponding transaction record along with the generated file.

If any field marked as required is left empty during export, the file generation will be halted to prevent incomplete data from being exported.

A transaction will be created in a failed state, and you will see a new button to re-generate the file along with log details explaining why the file was not generated.

You can review the log details directly from the transaction. In this case, the file generation failed because a required field was left empty.

Once you rectify the error—by providing the missing value for the required field in the specific record—you can click the *Re-compute* button. This will regenerate the file, and the transaction will move to the *draft* state, indicating it is now ready for export.

This is the second scheduled action, responsible for exporting files that are in the Draft state to the configured server.

You can check the transaction state as Done once the file has been successfully exported to the server, along with the corresponding log details.

You can view the detailed logs directly from the transaction record and also from the FTP/SFTP Syncing menu.

You have to set up an outgoing mail server to automatically send generated file via mail.

Generated files will be automatically sent to the partners selected in mapping table.

You have to set the email inside that partner to successfully send the file via mail.


If email is not set in any selected pertner then transaction state will be set to Not Sent. You can set the state to draft from **Reset to Draft** button after reviewing the logs.

You can view the related logs directly from the transaction record. In this case, emails were not found for any selected partner.

After making the necessary changes, you can see the transaction is done.

You can view the detailed logs directly from the transaction record. If in case, some partner have email set on them and some does not, we send the file to the partners with email.

This is the SFTP server to which the file has been successfully exported.

This is an example of the file that has been successfully exported.


- Yes, you can contact us on support@vrajatechnologies.com or can schedule a DEMO with our team to customize additional features.

- Yes, this application module is supported by both. It is also compatible with test and production environments.

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

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

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

- We have used FTP & SFTP protocol to transfer files.

- CSV, TSV, XLSX file formats are supported.

- No, 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.

Email Us
support@vrajatechnologies.com
%201.png?065340a)
Contact Us
vrajatechnologies.com/contactus

Support
vrajatechnologies.com/support-policy
Vraja Technologies Services

Odoo Implementation

Odoo App Integration Services

Odoo Customization

Odoo Consultation

Odoo Support & Maintenance

Odoo Developer Outsourcing
Suggested Application

GET INSTANT PERSONALIZED DEMO


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