Passar para o conteúdo principal

Importação de Produtos e Saldos via CSV

Veja como cadastrar produtos e realizar a carga inicial dos saldos de estoque em lote por meio de arquivo CSV.

Escrito por Suporte Produto

A importação de Produtos/Materiais e Saldos permite cadastrar e atualizar produtos e, no mesmo arquivo, realizar a carga inicial do saldo físico de estoque.

Durante a importação, Unidades de Medida e Depósitos que ainda não existirem podem ser criados automaticamente a partir das informações do arquivo.

Para informações sobre como acessar a importação, realizar a pré-validação, confirmar o processamento e consultar erros, consulte o artigo Como importar dados via CSV.


Disponibilidade

A importação de Produtos e Saldos está disponível somente para filiais que possuem Estoque Interno ativo e não possuem integração de estoque com o ERP.

Em filiais que possuem integração de estoque, os saldos são recebidos do ERP e a opção Produtos e Saldos não será apresentada entre os tipos disponíveis para importação.


Estrutura do arquivo

Cada linha do arquivo representa um produto e, opcionalmente, seus saldos iniciais.

As seguintes colunas são obrigatórias:

description, unityOfMeasure

Colunas

Coluna

Obrigatório

Formato

Descrição

erpId

Não

Texto

Código do produto no ERP. Quando não informado, o produto é localizado pela descrição

description

Sim

Texto

Descrição do produto

isActive

Não

true/false

Define se o produto está ativo. Utilize false ou 0 para inativar

unityOfMeasure

Sim

Composto

Unidade de medida do produto. Consulte a estrutura abaixo

unitaryCost

Não

Número

Custo unitário. Aceita vírgula ou ponto como separador decimal

dangerous

Não

true/false

Indica se o produto é perigoso. Utilize true ou 1

daysForReplacement

Não

Número

Quantidade de dias para reposição do produto

stockLevel

Não

Composto

Saldo físico inicial do produto. Consulte a estrutura abaixo


Unidade de medida (unityOfMeasure)

A coluna unityOfMeasure define a unidade utilizada pelo produto.

Utilize a seguinte estrutura:

código;nome;sigla

Campo

Descrição

código

Código da unidade no ERP. Deixe vazio quando não houver

nome

Nome da unidade, por exemplo: Unidade, Caixa ou Par

sigla

Sigla da unidade, por exemplo: UN, CX ou PR

A busca pela Unidade de Medida é realizada primeiro pelo código. Quando o código não for informado, a busca é realizada pelo nome.

Quando a unidade já existir, o código e a sigla informados no arquivo serão desconsiderados e será utilizado o cadastro existente.

Quando a unidade não existir, ela será criada automaticamente. Nesse caso, a sigla é obrigatória.

Exemplo

;Par;PR

Nesse exemplo, como nenhum código de ERP foi informado, o sistema procurará uma Unidade de Medida chamada Par. Caso ela não exista, será criada com a sigla PR.


Saldo inicial (stockLevel)

A coluna stockLevel permite realizar a carga inicial do saldo físico do material.

Cada saldo deve seguir esta estrutura:

depósito;lote;quantidade

Quando houver mais de um saldo, utilize @ para separá-los.

Campo

Descrição

depósito

Descrição do local de estoque. Criado automaticamente caso não exista

lote

Número do lote. Deixe vazio quando o produto não possuir controle por lote

quantidade

Saldo físico inicial. Aceita vírgula ou ponto como separador decimal

Exemplo

Almoxarifado Central;;120@Almoxarifado Central;L-2026-01;30

Nesse exemplo, são informados dois saldos para o produto:

  • 120 unidades no Almoxarifado Central, sem lote;

  • 30 unidades no Almoxarifado Central, vinculadas ao lote L-2026-01.


Regras para carga inicial do saldo

A coluna stockLevel deve ser utilizada somente para a carga inicial. Ela não permite editar um saldo que já existe.

Se o produto já possuir saldo para a mesma combinação de depósito e lote, a linha inteira será recusada.

Nesse caso, a importação apresentará uma mensagem semelhante a:

O produto já tem saldo no depósito X; este importador só faz carga inicial.

Após a carga inicial, alterações no saldo devem ser realizadas por meio das movimentações de estoque.

Também são aplicadas as seguintes regras:

  • a mesma linha não pode possuir dois saldos para a mesma combinação de depósito e lote;

  • o depósito deve estar preenchido;

  • a quantidade deve possuir um valor válido;

  • se qualquer saldo da linha apresentar erro, a linha inteira será recusada.

Importante: a carga inicial não gera uma movimentação de estoque. O saldo físico é registrado diretamente, com reserva igual a zero.


Criação e atualização de produtos

A importação pode tanto criar novos produtos quanto atualizar produtos existentes.

A busca pelo produto é realizada primeiro pelo erpId. Quando ele não for informado, a busca é realizada pela description.

Quando o produto não existe

O produto será criado com os dados informados no arquivo.

Quando os campos abaixo estiverem vazios, serão utilizados os seguintes valores:

  • isActive: produto criado como ativo;

  • unitaryCost: custo unitário igual a zero;

  • dangerous: produto criado como não perigoso.

Quando o produto já existe

Os seguintes dados são atualizados conforme o conteúdo do arquivo:

  • código do ERP;

  • descrição;

  • unidade de medida;

  • dias para reposição.

Os campos isActive, unitaryCost e dangerous somente serão alterados quando possuírem um valor preenchido no arquivo. Quando estiverem vazios, o valor atual do produto será mantido.


Validação da linha

Cada linha é validada por completo antes que qualquer informação seja gravada.

Se algum item apresentar erro, nenhuma informação daquela linha será gravada.

Isso inclui erros como:

  • Unidade de Medida nova sem sigla;

  • depósito não informado;

  • quantidade de saldo inválida;

  • saldo já existente para o depósito e lote;

  • saldo duplicado na mesma linha.

Nesse cenário, nem o produto nem eventuais novos Depósitos ou Unidades de Medida daquela linha serão criados ou atualizados.


Reimportação do arquivo

É possível reimportar um arquivo para atualizar os dados cadastrais dos produtos.

Porém, se a coluna stockLevel continuar preenchida com um saldo que já foi carregado anteriormente, a linha será recusada, pois essa coluna realiza somente a carga inicial.

Para atualizar apenas o cadastro do produto, deixe stockLevel vazio.


Exemplo de criação com saldo inicial

erpId | description | isActive | unityOfMeasure | unitaryCost | dangerous | daysForReplacement | stockLevel 
"PRD-001" | "Protetor auricular tipo plug" | "true" | ";Par;PR" | "2,50" | "false" | "180" | "Almoxarifado Central;;500@Almoxarifado Fábrica;L-2026-01;120" "PRD-002" | "Álcool 70% 1L" | "" | ";Unidade;UN" | "8,90" | "true" | "" | "Almoxarifado Central;;40"

Nesse exemplo, são criados dois produtos e seus respectivos saldos iniciais. O produto PRD-001 possui saldo em dois depósitos, sendo um deles associado a um lote.


Exemplo de atualização sem alterar o saldo

Para atualizar apenas os dados cadastrais de um produto que já possui saldo, deixe a coluna stockLevel vazia:

erpId | description | isActive | unityOfMeasure | unitaryCost | dangerous | daysForReplacement | stockLevel 
"PRD-001" | "Protetor auricular tipo plug com cordão" | "" | ";Par;PR" | "2,80" | "" | "180" | ""

Nesse exemplo, o cadastro do produto é atualizado sem realizar qualquer alteração no saldo de estoque.


Conteúdos relacionados

Respondeu à sua pergunta?