Importar clientes e fornecedores com ID externo e atualizá-los na virada
Na virada de outro sistema para o Odoo, o administrador leva clientes e fornecedores de uma planilha que traz o ID externo de cada contato. O Odoo liga as colunas aos campos, valida o CNPJ como no cadastro manual, testa e cria os contatos. Na carga seguinte, com os telefones corrigidos na mesma planilha, o ID externo faz o Odoo atualizar os contatos em vez de criar outros. Para um arquivo CSV sem ID externo, veja Importar cadastros em lote.
- Perfil: Administrador
- Área: Implantação da empresa
- Odoo 18.0
Antes de começar
- Planilha do sistema anterior com um contato por linha: ID externo, nome, CNPJ, telefone, se é empresa, se é cliente ou fornecedor e o marcador Carga da virada.
- CNPJ válidos e sem repetição na base.
- Vale no Brasil como está: o CNPJ passa pela mesma validação do cadastro manual (dígitos verificadores) e a importação grava só os dígitos; a inscrição estadual entra em outra coluna do mesmo arquivo, quando o contato tem.
Exemplo usado neste cenário
No ensaio da virada, o administrador da Guatambu Móveis carrega do sistema anterior três clientes (Canjerana Móveis Comércio, Timbaúva Móveis e Decorações e Bracatinga Móveis) e três fornecedores (Guaçatonga Ferragens e Estamparia, Distribuidora Vereda Grande e Pitangueira Distribuidora de Utilidades). Na conferência, o telefone da Timbaúva e o da Pitangueira estavam errados na planilha: o administrador corrige o arquivo e o carrega de novo.
Como os valores são calculados:
- A planilha tem 6 linhas de dados e 8 colunas: a primeira carga cria 6 contatos; a segunda, com os mesmos 6 IDs externos, atualiza os 6 e não cria nenhum: continuam 6 contatos.
- Dígitos verificadores do CNPJ, módulo 11 com pesos 5,4,3,2,9,8,7,6,5,4,3,2 e 6,5,4,3,2,9,8,7,6,5,4,3,2: 98.146.900/0001-46 (soma 216, DV 4; soma 214, DV 6), 98.281.712/0001-20 (185, DV 2; 220, DV 0) e 97.830.755/0001-55 (226, DV 5; 281, DV 5).
- 98.417.236/0001-22 (229, DV 2; 218, DV 2), 98.765.412/0001-17 (208, DV 1; 213, DV 7) e 99.106.595/0001-21 (273, DV 2; 274, DV 1). Resto menor que 2 dá DV 0; senão DV = 11 menos o resto.
- Correção da segunda carga: o telefone da Timbaúva passa de (51) 3341-7250 para (51) 3341-7259 e o da Pitangueira de (31) 3412-6580 para (31) 3412-6850; o restante da linha não muda.
Passo a passo
- Confira a planilha do sistema anterior: um contato por linha, com ID externo, CNPJ, telefone e cliente ou fornecedor.

- Abra o aplicativo Contatos, clique na engrenagem ao lado do título e escolha Importar registros.

- Clique em Carregar arquivo de dados e escolha a planilha: o Odoo liga cada coluna ao seu campo.
- Clique em Teste: Tudo parece válido.

- Clique em Importar e passe para a lista: os seis contatos entram, com o CNPJ e o telefone.

- Confira a planilha corrigida: o telefone da Timbaúva e o da Pitangueira mudaram, com os mesmos IDs externos.

- Importe a planilha corrigida: engrenagem, Importar registros, Carregar arquivo de dados, Teste e Importar.

- Confira a lista: continuam seis contatos, sem duplicar, e os dois telefones foram atualizados.

Resultado esperado
Seis contatos (três clientes e três fornecedores) importados da planilha, com o CNPJ validado, e atualizados pela mesma planilha corrigida sem duplicar: continuam seis, com os telefones da Timbaúva e da Pitangueira corrigidos.
Se houver erro
- O Teste mostra erro numa linha, como CNPJ inválido. A linha da planilha não passa na validação do cadastro. Corrija o CNPJ na planilha e carregue de novo; nada é gravado enquanto houver erro.
- Depois da segunda carga aparecem contatos repetidos. A coluna ID externo foi importada vazia ou com valores diferentes dos da primeira carga, e o Odoo criou contatos novos. Arquive os repetidos, confira que o ID externo da planilha é o da primeira carga e importe de novo.
- A importação recusa por CNPJ duplicado. O CNPJ já existe na base, em um contato sem aquele ID externo. Retire a linha da planilha ou dê ao contato existente o mesmo ID externo e importe de novo.
Módulos usados
- Localização brasileira, cadastros básicos

