Skip to Content
Menu

Dynamic Import Export Records

by
Odoo

759.13

v 18.0 Third Party
Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Inventory (stock)
Discuss (mail)
Invoicing (account)
Community Apps Dependencies
Lines of code 2312
Technical Name dynamic_import_export_records
LicenseOPL-1
Websitehttps://www.vrajatechnologies.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Inventory (stock)
Discuss (mail)
Invoicing (account)
Community Apps Dependencies
Lines of code 2312
Technical Name dynamic_import_export_records
LicenseOPL-1
Websitehttps://www.vrajatechnologies.com
Enterprise Community Odoo.sh

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

Seamless support for CSV, TSV, and Excel (XLSX) formats for both import and export operations.
For import, allows comma , and semicolon ; as delimiters for CSV files, and supports UTF-8 and ISO-8859-1 encoding for CSV and TSV files.
Flexible field mapping with support for flat and relational (one2many) structures across various Odoo models.
Option to split large import files by enabling the Split the Records of a File setting for efficient batch processing.
Dynamic data validation and error handling during import, ensuring data accuracy and consistency.
Manual upload support for import, and FTP/SFTP server integration for both import and export processes.
Fully customizable export configurations with field selection, filtering, and required field checks.
Supports simultaneous export of data from multiple models in structured formats.
Comprehensive logging for both import and export activities to maintain traceability.
Clean, user-friendly interface designed for ease of use and operational efficiency.

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.

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 & SFTP protocol to transfer files.
Which file format supported?
  • CSV, TSV, XLSX file formats are supported.
Once records exported from Odoo to FTP/SFTP, is that export again?
  • 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

COPY LINK

support@vrajatechnologies.com

Contact Us

COPY LINK

vrajatechnologies.com/contactus

Support

COPY LINK

vrajatechnologies.com/support-policy

Vraja Technologies Services 

Odoo Implementation
Odoo App  Integration Services
Odoo Customization
Odoo Consultation
Odoo Support & Maintenance
Odoo Developer Outsourcing

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

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