# Edoo Export Data
This module was created by our company with the aim of helping other companies or Odoo partners in their processes of integrating or exporting data from one version of Odoo to another.
Especially older environments that are thinking about migrating and with that, there is always some concern with the currently existing data whether it will be usable in a new Odoo environment.
It is also possible to use this module for organizations that have separate environments, due to some need for processes or even location. Then the subsidiary company can then integrate its data online to the parent company environment, so the data centralizing company could have the data of its subsidiary companies in real time.
In this documentation, we will show some scenarios or settings using an Odoo13CE version as a base, but the screens are very similar for other installed versions, whether they are V11, V12 or any other.
# Compatible Editions
# Compatible Environments
- On-Premise (odoo.mycompany.com)/
- Odoo.sh (mycompany.odoo.com)
# Compatible Versions for Installation
- 11.0 (Version available)
- 12.0 (Version available)
- 13.0 (Version available)
- 14.0 (Version available)
- 15.0 (Version available)
# Compatible Versions to receive the data
- All versions listed also for installation, even some other new version to be distributed by odoo.com, example: V16 in 2022
- So if you install our version in V11, you can export data to V12, V13, V14, V15 or V16
- If you install our version in V12, you can export data to V13, V14, V15 or V16
- And so for the other versions, the same behavior
# Module Technical Information
- Technical Name: **edoo\_export\_data**
- Technical Name: **queue_job**
- This module was created by OCA and customized by us for this export scenario
- This module is responsible for creating the connection with Destination V15 or V16 and then inserting/updating the records
- Here is the link of version 13 of this module, it is necessary to install in your environment with the compatible version obviously
- Special configuration for this module (../odoo.conf)
- For Odoo.sh, need some adjust too
# After Install Module
- Only users belonging to the technical menu group
- If you run the environment in debug mode and with access to the technical menu, then the module icon will appear on the initial screen of your environment, or through the side menu for Odoo Community versions without any more advanced theme backend
# Required settings in origin environment
- For a source environment to be able to perform its data export, it is necessary to determine some values in res.company.
- We create a TAB to insert connection data such as url, user, password and database name
- **URL**, in this field you will inform the http address of your environment where the data will be inserted, the destination environment
- **User**, in this field you will need to inform the authorized user in your target environment so that the authentication and insert of records can be performed. We suggest that you create a specific internal user for this connection.. and then you will be able to follow the record creation in lognote of templates with the id whether the record was created by the data integration user or a common internal user
- **Password**, in this place you need to inform the password defined for the user that you created in the target environment.
- **Database**, in this field you need to inform the name of the target database, that is, the name of the database (postgres db) that your target environment is running on. This information you get through your settings or even accessing your environment through debug mode, below your user your DB name is displayed.
# All done in settings, so let's go..
- From now on you can access our app and then you will be able to start defining the models of your environment that need to export the data
- When you access the app, a listview with the module's defined by you is displayed by default. If this list is empty then you can create an initial module
# Select model
- In this formview you need to define the data model you want to configure to export
- It is important to inform that the selected data model must exist in your Odoo Destination, as it is not possible to export from a source model to a different destination model, that is, the product can be exported to a 'model=product.product'
# Fields of this form
- **Model**, Place indicated for you to select an Odoo data model that you need to export. We have implemented a list to be able to select any application data model, at some point when you try to select a more technical or internal Odoo model it may not be possible. You can also select data model created with OdooStudio for example
- **Exported JSON**, when you create an export template you will be able to export the settings in a json file and then this will serve as a backup for you to create again, in case of accidental removal or in case you need to install this same template in another Odoo environment.
- **Fields**, here, you can create fields manually from your source model. Just select the field you want and then the system will know that this field needs to be exported to destination. There is an action button further up the form that helps you automatically create all fields in the selected template. And then you can go on removing the fields that will not be needed for export.
- **Test Connection Fields**, it is extremely important that you test the connection of your fields and model to see if there is any immediate inconsistency. In lognote of this formview, the test result will appear, if successful.. then you are on the right path. We always indicate to include a new field, so do a connection test.. to avoid creating 200 fields and in the middle of this list having to adjust some specific field.
## Fields (columns (field's) internal)
- **Src Field**, is the original model field that you need to identify
- **Dest Field**, is the field where you need to identify it as your field in the target environment, in this case it is necessary to inform the technical name of the target field. For example, it may be that in your source environment the "image" field has a different technical name in new versions of Odoo, so the target technical name could be: image_1920 (this has already occurred in new versions of Odoo for product image field or contacts). In other words, this is the key field for us to locate at your destination so that the integration succeeds in exporting.
- **Key Search**, this field will be an indicator for our integration to locate a target field, by default the field is created as a name, but in some other field the key for this field could be "code" for example.. so you can make the best use of it.
- **Relation Model**, in this field it is important to inform if the destination field has any relation with a related model in Odoo destination. For example, you want to export a field account, but this field has a relationship with the object account.account, in this case it is important for our integration to know if there is this related to objects external to the model. If the field is native only to the model (text field, numeric, date, etc), it is not necessary to inform the relation object
# Model Sample - To Export
# New Features
## Listview Smartbutton
- In recent versions of our module, it is possible to quickly access the listview corresponding to the model you want to export. With this you go straight to the selection of records for data export
- This new button was created with the aim of facilitating access to the records you need to export. At another time you created an export model for res.partner for example and it was necessary for you to access the contacts application to then display the records in list order.. and only then export your records.
- In this case, the new button makes things more straightforward. Once the template for exporting res.partner has been defined, clicking on this new button gives you direct access to the list of contacts, simply selecting the records to export.
- Another very positive point are models that are not available in application menus, something like "sale.order.line". So now you create this export model and then you can click on the button to see all the records of this model and then export at this very moment.
- This facility makes work faster and without having to access applications where the models actually exist.