Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 37 additions & 43 deletions content/applications/essentials/export_import_data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,17 @@ can aid in reporting on activities, although, Odoo provides a precise and easy r
each available application.

With Odoo, the values can be exported from any field in any record. To do so, activate the list view
(:guilabel:`☰ (three horizontal lines)` icon), on the items that need to be exported, and then
select the records that should be exported. To select a record, tick the checkbox next to the
corresponding record. Finally, click on :guilabel:`⚙️ Action`, and then :guilabel:`Export`.
:icon:`fa-list` :guilabel:`(List)` icon, on the items that need to be exported, and then select
the records that should be exported. To select a record, tick the checkbox next to the corresponding
record. Finally, click on :icon:`fa-cog` :guilabel:`(Action)` icon, and then :guilabel:`Export`.

.. image:: export_import_data/list-view-export.png
:align: center
:alt: View of the different things to enable/click to export data.

When clicking on :guilabel:`Export`, an :guilabel:`Export Data` pop-over window appears, with
several options for the data to export:

.. image:: export_import_data/export-data-overview.png
:align: center
:alt: Overview of options to consider when exporting data in Odoo..

#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
Expand All @@ -42,17 +40,17 @@ several options for the data to export:
#. When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`,
items are separated by a comma, while `.xls` holds information about all the worksheets in a
file, including both content and formatting.
#. These are the items that can be exported. Use the :guilabel:`> (right arrow)` icon to display
more sub-field options. Use the :guilabel:`Search` bar to find specific fields. To use the
:guilabel:`Search` option more efficiently, click on all the :guilabel:`> (right arrows)` to
display all fields.
#. The :guilabel:`+ (plus sign)` icon button is present to add fields to the :guilabel:`Fields to
export` list.
#. The :guilabel:`↕️ (up-down arrow)` to the left of the selected fields can be used to move the
fields up and down, to change the order in which they are displayed in the exported file.
Drag-and-drop using the :guilabel:`↕️ (up-down arrow)` icon.
#. The :guilabel:`🗑️ (trash can)` icon is used to remove fields. Click on the :guilabel:`🗑️ (trash
can)` icon to remove the field.
#. These are the items that can be exported. Use the :icon:`fa-chevron-right` :guilabel:`(Show
sub-fields)` icon to display more sub-field options. Use the :guilabel:`Search` bar to find
specific fields. To use the :guilabel:`Search` option more efficiently, click on all the
:icon:`fa-chevron-right` :guilabel:`(Show sub-fields)` icon to display all fields.
#. The :icon:`fa-plus` :guilabel:`(Select field)` icon button is present to add fields to the
:guilabel:`Fields to export` list.
#. The :icon:`fa-sort` :guilabel:`(Sort)` icon to the left of the selected fields can be used to
move the fields up and down, to change the order in which they are displayed in the exported
file. Drag-and-drop using the :icon:`fa-sort` :guilabel:`(Sort)` icon.
#. The :icon:`fa-trash` :guilabel:`(Remove field)` icon is used to remove fields. Click the
:icon:`fa-trash` :guilabel:`(Remove field)` icon to remove the field.
#. For recurring reports, it is helpful to save export presets. Select all the needed fields, and
click on the template drop-down menu. Once there, click on :guilabel:`New template`, and give a
unique name to the export just created. The next time the same list needs to be exported, select
Expand Down Expand Up @@ -101,7 +99,6 @@ Open the view of the object to which the data should be imported/populated, and
:menuselection:`⭐ Favorites --> Import records`.

.. image:: export_import_data/import-button.png
:align: center
:alt: Favorites menu revealed with the import records option highlighted.

After clicking :guilabel:`Import records`, Odoo reveals a separate page with templates that can be
Expand All @@ -115,7 +112,6 @@ Customers` at the center of the page.
`.xlsx`).

.. image:: export_import_data/formatting.png
:align: center
:alt: Formatting options presented when a CVS file is imported in Odoo.

Make necessary adjustments to the *Formatting* options, and ensure all columns in the
Expand All @@ -138,30 +134,28 @@ Once the template is downloaded, proceed to follow these steps:
(ID) column.

.. image:: export_import_data/dragdown.gif
:align: center
:alt: An animation of the mouse dragging down the ID column, so each record has a unique ID.

.. note::
When a new column is added, Odoo may not be able to map it automatically, if its label does not
fit any field within Odoo. However, new columns can be mapped manually when the import is tested.
Search the drop-down menu for the corresponding field.

.. image:: export_import_data/field_list.png
:align: center
.. image:: export_import_data/field-list.png
:alt: Drop-down menu expanded in the initial import screen on Odoo.

Then, use this field's label in the import file to ensure future imports are successful.

.. tip::
Another useful way to find out the proper column names to import is to export a sample file
using the fields that should be imported. This way, if there is not a sample import template,
the names are accurate.
Another useful way to find out the proper column names to import is to export a sample file using
the fields to be imported. This way, if there is not a sample import template, the names are
accurate.

Import from another application
-------------------------------

The :guilabel:`External ID` (ID) is a unique identifier for the line item. Feel free to use one
from previous software to facilitate the transition to Odoo.
The :guilabel:`External ID` (ID) is a unique identifier for a line item. It is possible to use an
:guilabel:`External ID` (ID) from previous software to facilitate the transition to Odoo.

Setting an ID is not mandatory when importing, but it helps in many cases:

Expand Down Expand Up @@ -195,8 +189,7 @@ the column may be mapped to a field that is not proposed by default.
If this happens, check the :guilabel:`Show fields of relation fields (advanced) option`, then a
complete list of fields becomes available for each column.

.. image:: export_import_data/field_list.png
:align: center
.. image:: export_import_data/field-list.png
:alt: Searching for the field to match the tax column.

Change data import format
Expand Down Expand Up @@ -366,7 +359,7 @@ The tags should be separated by a comma, without any spacing. For example, if a
linked to both tags: `Manufacturer` and `Retailer` then 'Manufacturer,Retailer' needs to be encoded
in the same column of the :abbr:`CSV (Comma-separated Values)` file.

- :download:`CSV file for Manufacturer, Retailer <export_import_data/m2m_customers_tags.csv>`
- :download:`CSV file for Manufacturer, Retailer <export_import_data/m2m-customers-tags.csv>`

Import one2many relationships
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -376,23 +369,24 @@ reserved in the :abbr:`CSV (Comma-separated Values)` file for each order line. T
is imported on the same row as the information relative to order. Any additional lines need an
additional row that does not have any information in the fields relative to the order.

As an example, here is a :abbr:`CSV (Comma-separated Values)` file of some quotations that can be
imported, based on demo data:
.. example::
A company imports quotations using a :abbr:`CSV (Comma-separated Values)` file, based on demo
data:

- :download:`File for some quotations <export_import_data/o2m-quotations-order-lines.csv>`

- :download:`File for some Quotations
<export_import_data/purchase.order_functional_error_line_cant_adpat.csv>`
A company imports purchase orders with their respective purchase order lines using a :abbr:`CSV
(Comma-separated Values)` file:

The following :abbr:`CSV (Comma-separated Values)` file shows how to import purchase orders with
their respective purchase order lines:
- :download:`Purchase orders with their respective purchase order lines
<export_import_data/o2m-purchase-order-lines.csv>`

- :download:`Purchase orders with their respective purchase order lines
<export_import_data/o2m_purchase_order_lines.csv>`
A company imports customers and their respective contacts using a :abbr:`CSV (Comma-separated
Values)` file:

The following :abbr:`CSV (Comma-separated Values)` file shows how to import customers and their
respective contacts:
- :download:`Customers and their respective contacts
<export_import_data/o2m-customers-contacts.csv>`

- :download:`Customers and their respective contacts
<export_import_data/o2m_customers_contacts.csv>`

Import records several times
----------------------------
Expand Down Expand Up @@ -473,5 +467,5 @@ the original database).

The two files produced are ready to be imported in Odoo without any modifications. After having
imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three
companies (the first two contacts are linked to the first company). Keep in mind to first import
the companies, and then the people.
companies (the first two contacts are linked to the first company). Keep in mind to first import the
companies, and then the people.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Activities,Company,Customer,Order Date,Order Reference,Pricelist,Order Lines/Product Template,Order Lines/Quantity,Order Lines/Unit Price,Order Lines/Discount (%),Order Lines/Taxes
Answer questions,My Company (San Francisco),Ready Mat,2025-12-01 10:37:22,S00003,Public Pricelist (USD),Virtual Interior Design,10,30.75,0,Tax 10%
,,,,,,[FURN_7777] Office Chair,1,70,0,Tax 10%
,,,,,,Deposit,5,150,0,
,My Company (San Francisco),Ready Mat,2025-11-01 11:37:00,S00002,Public Pricelist (USD),Virtual Interior Design,24,75,0,Tax 10%
,,,,,,Virtual Home Staging,30,38.25,0,Tax 10%

This file was deleted.