Pular para o conteúdo
KMEE Entrar
Odoo 16.0 Ver Community

Exportar e importar dados

No Odoo, às vezes é necessário exportar ou importar dados para a execução de relatórios ou para a modificação de dados. Este documento aborda a exportação e a importação de dados para e do Odoo.

Exportar dados do Odoo

Ao trabalhar com uma base de dados, às vezes é necessário exportar dados em um arquivo distinto. Isso pode ajudar na geração de relatórios sobre atividades, embora o Odoo forneça uma ferramenta de geração de relatórios precisa e simples em cada um dos aplicativos disponíveis.

With Odoo, the values can be exported from any field in any record. To do so, activate the list view ☷ (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 ⚙ (Action) icon, and then Export.

Visualização dos diferentes itens a serem ativados/clique para exportar dados

Ao clicar em Exportar, uma janela pop-up Exportar dados é exibida, com várias opções para os dados a serem exportados:

Visão geral das opções consideradas ao exportar dados no Odoo.

  1. Com a opção Quero atualizar os dados (compatibilidade com importação e exportação) marcada, o sistema mostra apenas os campos que podem ser importados. Isso é útil nos casos em que os registros existentes precisam ser atualizados. Isso funciona como um filtro. Deixar a caixa desmarcada oferece muito mais opções de campo porque mostra todos os campos, não apenas os que podem ser importados.
  2. Ao exportar, há a opção de exportar em dois formatos: .csv e .xls. Com o .csv, os itens são separados por vírgula, enquanto o .xls contém informações sobre todas as planilhas em um arquivo, incluindo o conteúdo e a formatação.
  3. These are the items that can be exported. Use the > (Show sub-fields) icon to display more sub-field options. Use the Search bar to find specific fields. To use the Search option more efficiently, click on all the > (Show sub-fields) icon to display all fields.
  4. The + (Select field) icon button is present to add fields to the Fields to export list.
  5. The ^v (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 ^v (Sort) icon.
  6. The ⌫ (Remove field) icon is used to remove fields. Click the ⌫ (Remove field) icon to remove the field.
  7. Para relatórios recorrentes, é útil salvar as predefinições de exportação. Selecione todos os campos necessários e clique no menu suspenso do modelo. Nele, clique em Novo modelo e dê um nome exclusivo à exportação que acabou de ser criada. Na próxima vez que a mesma lista precisar ser exportada, selecione o modelo relacionado que foi salvo anteriormente no menu suspenso.

Importar dados para o Odoo

A importação de dados para o Odoo é extremamente útil durante a implementação ou em momentos em que os dados precisam ser atualizados em massa. A documentação a seguir aborda como importar dados para uma base de dados do Odoo.

Começar

Os dados podem ser importados em qualquer objeto de negócios do Odoo usando os formatos Excel (.xlsx) ou CSV (.csv). Isso inclui: contatos, produtos, extratos bancários, lançamentos no diário e pedidos.

Abra a visualização do objeto para o qual os dados devem ser importados/populados e clique em ⭐ Favoritos -> Importar registros.

Menu Favoritos revelado com a opção de importação de registros destacada.

Depois de clicar em Importar registros, o Odoo revela uma página separada com modelos que podem ser baixados e preenchidos com os dados da própria empresa. Esses modelos podem ser importados em um clique, pois o mapeamento de dados já está feito. Para fazer o download de um modelo, clique em Importar modelo para clientes no centro da página.

Faça os ajustes necessários nas opções de Formatação e certifique-se de que todas as colunas no Campo do Odoo e Coluna do arquivo estejam livres de erros. Por fim, clique em Importar para importar os dados.

Adaptar um modelo

Os modelos de importação são fornecidos na ferramenta de importação dos dados mais comuns a serem importados (contatos, produtos, extratos bancários, etc.). Abra-os com qualquer software de planilha eletrônica (Microsoft Office, OpenOffice, Google Drive, etc.).

Depois de fazer o download do modelo, siga estas etapas:

  • Adicione, remova e classifique colunas para melhor se adequar à estrutura de dados.
  • É altamente recomendável não remover a coluna ID externo (ID) (veja o motivo na próxima seção).
  • Defina um ID exclusivo para cada registro arrastando para baixo a sequência de IDs na coluna ID externo (ID).

Uma animação do mouse arrastando a coluna ID para baixo, para que cada registro tenha um ID exclusivo.

Importar de outro aplicativo

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

A definição de um ID não é obrigatória na importação, mas ajuda em muitos casos:

Para recriar relações entre registros diferentes, o identificador exclusivo do aplicativo original deve ser usado para mapeá-lo para a coluna ID externo (ID) no Odoo.

Quando outro registro for importado e vinculado ao primeiro, use XXX/ID (XXX/ID externo) para o identificador exclusivo original. Esse registro também pode ser encontrado pelo nome.

O ID externo (ID) também pode ser usado para atualizar a importação original, caso os dados modificados precisem ser reimportados posteriormente; portanto, é uma boa prática especificá-lo sempre que possível.

Campo ausente para mapear a coluna

Odoo tenta heuristicamente encontrar o tipo de campo para cada coluna dentro do arquivo importado, com base nas primeiras dez linhas dos arquivos.

Por exemplo, se houver uma coluna contendo apenas números, somente os campos com o tipo inteiro serão apresentados como opções.

Embora esse comportamento possa ser benéfico na maioria dos casos, também é possível que falhe ou que a coluna seja mapeada para um campo que não é proposto por padrão.

Se isso acontecer, marque a opção Mostrar campos de campos relacionais (avançado); então, uma lista completa de campos ficará disponível para cada coluna.

Busca do campo para corresponder à coluna de impostos.

Alterar o formato de importação de dados

Ao importar um arquivo CSV, o Odoo fornece opções de Formatação.

Para ver qual formato de data o Odoo encontrou no arquivo, verifique o Formato de data que é mostrado ao clicar em opções no seletor de arquivos. Se esse formato estiver incorreto, altere-o para o formato preferido usando ISO 8601.

Importar números com sinais de moeda

O Odoo suporta totalmente números com parênteses para representar sinais negativos, bem como números com sinais de moeda anexados a eles. O Odoo também detecta automaticamente qual é o separador de milhar/decimal. Se for usado um símbolo de moeda desconhecido para o Odoo, ele não será reconhecido como um número e a importação falhará.

Exemplos de números suportados (com "trinta e dois mil" como numeral):

  • 32.000,00
  • 32000,00
  • 32,000.00
  • -32000.00
  • (32000.00)
  • $ 32.000,00
  • (32000.00 €)

Exemplo que não funciona:

  • ABC 32.000,00
  • $ (32.000,00)

A tabela de pré-visualização de importação não é exibida corretamente

Por padrão, a pré-visualização da importação é definida com vírgulas como separadores de campo e aspas como delimitadores de texto. Se o arquivo CSV não tiver essas configurações, modifique as opções Formatação (exibidas na barra de arquivos Importar CSV depois de selecionar o arquivo CSV).

Alterar o formato do arquivo CSV no aplicativo de planilha

Ao editar e salvar arquivos CSV em aplicativos de planilha, as configurações regionais do computador são aplicadas para o separador e o delimitador. A Odoo sugere o uso do OpenOffice ou do LibreOffice, pois ambos os aplicativos permitem modificações nas três opções (no aplicativo LibreOffice, vá para caixa de diálogo 'Salvar como' -> Marque a caixa 'Editar configurações de filtro' -> Salvar).

O Microsoft Excel pode modificar a codificação ao salvar (caixa de diálogo 'Salvar como' -> menu suspenso 'Ferramentas' -> aba Codificação).

Diferença entre ID da base de dados e ID externo

Alguns campos definem uma relação com outro objeto. Por exemplo, o país de um contato é um link para um registro do objeto "País". Quando esses campos são importados, o Odoo precisa recriar os links entre os diferentes registros. Para ajudar a importar esses campos, o Odoo oferece três mecanismos.

Por exemplo, para fazer referência ao país de um contato, o Odoo propõe três campos diferentes para importar:

  • País: o nome ou código do país
  • País/ID da base de dados: o ID exclusivo do Odoo para um registro, definido pela coluna ID PostgreSQL
  • País/ID externo: o ID desse registro referenciado em outro aplicativo (ou o arquivo .XML que o importou)

Para Bélgica, por exemplo, use uma destas três maneiras de importar:

  • País: Bélgica
  • Identificação do país/base de dados: 21
  • País/ID externo: base.be

De acordo com a necessidade da empresa, use uma dessas três maneiras para fazer referência a registros em relações. Aqui está um exemplo de quando uma ou outra deve ser usada, de acordo com a necessidade:

  • Usar País: essa é a maneira mais fácil quando os dados são provenientes de arquivos CSV que foram criados manualmente.
  • Usar País/ID da base de dados: isso raramente deve ser usado. É usado principalmente por desenvolvedores, pois a principal vantagem é nunca ter conflitos (pode haver vários registros com o mesmo nome, mas eles sempre têm um ID de base de dados exclusivo)
  • Usar País/ID externo: use ID externo ao importar dados de um aplicativo de terceiros.

Ao usar IDs externos, importe arquivos CSV com a coluna ID externo (ID) definindo o ID externo de cada registro importado. Em seguida, é possível fazer uma referência a esse registro com colunas, como Campo/ID externo. Os dois arquivos CSV a seguir fornecem um exemplo de produtos e suas categorias.

Importar campos relacionais

Um objeto Odoo está sempre relacionado a muitos outros objetos (por exemplo, um produto está vinculado a categorias de produtos, atributos, fornecedores, etc.). Para importar essas relações, os registros do objeto relacionado primeiro precisam ser importados a partir de seu próprio menu de lista.

É possível fazer isso usando o nome ou o ID do registro relacionado, dependendo das circunstâncias. É esperado usar o ID quando dois registros têm o mesmo nome. Nesse caso, adicione / ID no final do título da coluna (por exemplo, para atributos de produto: Atributos de produto / Atributo / ID).

Opções para múltiplas correspondências em campos

Se, por exemplo, houver duas categorias de produtos com o nome secundário Vendável (por exemplo, Diversos. Produtos/Vendável e Outros produtos/Vendável), a validação será interrompida, mas os dados ainda poderão ser importados. No entanto, a Odoo recomenda que os dados não sejam importados porque todos eles serão vinculados à primeira categoria Vendável encontrada na lista Categoria de produto (Diversos. Produtos/Vendável). Em vez disso, o Odoo recomenda modificar um dos valores da duplicata ou a hierarquia da categoria do produto.

No entanto, se a empresa não quiser alterar a configuração das categorias de produtos, o Odoo recomenda o uso do ID externo para esse campo, 'Categoria'.

Importar campos relacionais many2many

Os marcadores devem ser separados por vírgula, sem espaçamento. Por exemplo, se um cliente precisar ser vinculado a ambos os marcadores: Fabricante e Varejista, então 'Fabricante, Varejista' precisa ser codificado na mesma coluna do arquivo CSV.

Importar relações one2many

Se uma empresa quiser importar um pedido de venda com várias linhas de pedido, uma linha específica deve ser reservada no arquivo CSV para cada linha de pedido. A primeira linha de pedido é importada na mesma linha que as informações relativas ao pedido. Todas as linhas adicionais precisam de uma linha adicional que não tenha nenhuma informação nos campos relativos ao pedido.

Importar registros diversas vezes

Se um arquivo importado contiver uma das colunas: ID externo ou ID da base de dados, os registros que já foram importados serão modificados, em vez de serem criados. Isso é extremamente útil, pois permite que os usuários importem o mesmo arquivo CSV várias vezes, mesmo tendo feito algumas alterações entre as duas importações.

O Odoo se encarrega de criar ou modificar os registros.

Esse recurso permite que uma empresa use a ferramenta Importar/Exportar no Odoo para modificar um lote de registros em um aplicativo de planilha.

Valor não fornecido para um campo específico

Se algum campo não estiver definido no arquivo CSV, o Odoo atribui o valor padrão ao campo não definido. Mas, se os campos forem definidos com valores vazios no arquivo CSV, o Odoo definirá o valor vazio no campo, em vez de atribuir o valor padrão.

Exportar/importar tabelas diferentes de um aplicativo SQL para o Odoo

Se os dados precisarem ser importados de tabelas diferentes, as relações deverão ser recriadas entre os registros pertencentes a tabelas diferentes. Por exemplo, se empresas e pessoas forem importadas, o vínculo entre cada pessoa e a empresa para a qual ela trabalha precisará ser recriado.

Para gerenciar relações entre tabelas, use os recursos de ID externo do Odoo. O ID externo de um registro é o identificador exclusivo desse registro em outro aplicativo. O ID externo deve ser único em todos os registros de todos os objetos. É uma boa prática prefixar esse ID externo com o nome do aplicativo ou da tabela. (por exemplo, 'empresa_1', 'pessoa_1' - em vez de '1')

Como exemplo, suponha que haja uma base de dados SQL com duas tabelas que devem ser importadas: empresas e pessoas. Cada pessoa pertence a uma empresa, portanto, o vínculo entre uma pessoa e a empresa para a qual ela trabalha deve ser recriado.

Teste esse exemplo, com uma amostra de uma base de dados PostgreSQL.

Primeiro, exporte todas as empresas e seus IDs externos. No PSQL, escreva o seguinte comando:

> copy (select 'company_'||id as "External ID",company_name as "Name",'True' as "Is a Company" from companies) TO '/tmp/company.csv' with CSV HEADER;

Esse comando SQL cria o seguinte arquivo CSV:

External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True

Para criar o arquivo CSV para pessoas vinculadas a empresas, use o seguinte comando SQL no PSQL:

> copy (select 'person_'||id as "External ID",person_name as "Name",'False' as "Is a Company",'company_'||company_id as "Related Company/External ID" from persons) TO '/tmp/person.csv' with CSV

Ele produz o seguinte arquivo CSV:

External ID,Name,Is a Company,Related Company/External ID
person_1,Fabien,False,company_1
person_2,Laurence,False,company_1
person_3,Eric,False,company_2
person_4,Ramsy,False,company_3

Nesse arquivo, Fabien e Laurence estão trabalhando para a empresa Bigees (company_1), e Eric está trabalhando para a empresa Organi. A relação entre pessoas e empresas é feita usando o ID externo das empresas. O ID externo é prefixado pelo nome da tabela para evitar um conflito de ID entre pessoas e empresas (pessoa_1 e empresa_1, que compartilhavam o mesmo ID 1 no banco de dados original).

Os dois arquivos produzidos estão prontos para serem importados para o Odoo sem nenhuma modificação. Depois de importar esses dois arquivos CSV, há quatro contatos e três empresas (os dois primeiros contatos estão vinculados à primeira empresa). Lembre-se de importar primeiro as empresas e depois as pessoas.