Precisa atualizar os preços de toda a sua loja no SHOP de forma rápida e eficiente? Sem problemas! O sistema SHOP oferece a poderosa funcionalidade de Atualiza Preço por Base Externa, que permite não apenas atualizar preços, mas também modificar nomes de produtos, cadastrar novos itens via planilhas e muito mais. Este guia completo irá te mostrar como realizar essa tarefa.
Este módulo é uma ferramenta que economiza tempo para a sua empresa. Com ele, você pode atualizar ou cadastrar novos produtos rapidamente.
Importante:
Backup é obrigatório: Antes de usar, faça um backup do seu banco de dados. A ferramenta faz alterações permanentes e, caso algo dê errado, a única forma de recuperar os dados antigos é restaurando o backup.
Atenção aos detalhes: A ferramenta aceita apenas arquivos de texto (.txt ou .csv). Você precisará indicar o início e o fim de cada informação (campo) no arquivo.
Para utilizar a ferramenta, você precisa de uma planilha com os dados dos produtos. É obrigatório que a planilha inclua o código principal de cada produto a ser cadastrado ou editado. Veja abaixo um exemplo de como a planilha deve ser estruturada.

Depois de preparar a planilha, é necessário formatá-la e exportá-la para o formato de arquivo de texto (.txt ou .csv) com colunas de largura fixa. Isso assegura que os dados sejam importados corretamente, mantendo o alinhamento. Para isso confira esses passos:



É fundamental apagar a linha de cabeçalho (com os nomes das colunas) do seu arquivo, pois a ferramenta só reconhece os dados dos produtos. |
Com a sua planilha pronta podemos começar a ver como a Atualização de Produtos por Base Externa funciona na prática!
Na tela principal do sistema, clique na aba Produtos e Serviços.
Clique no menu Reajuste de Preços.
Selecione a opção Atualiza Preço por Base Externa.
Na próxima tela, você verá as opções para cadastrar ou editar produtos. Vamos entender a função de cada uma delas.

Para saber como cadastrar um modelo de dados fiscais, acesse aqui |
Desta forma, o sistema permite adicionar no cadastro do item o código do fornecedor selecionado abaixo. Ao marcá-la o campo "Fornecedor" é habilitado. |
Desta forma, o campo Fornecedor será desabilitado. |
A atualização será feita com base na informação do fornecedor informado nesse módulo, mas caso no txt exista fornecedor não cadastrado no Shop, este módulo cadastrará tal fornecedor e atualizará os dados da última compra desse fornecedor. |
Neste passo, você irá "ensinar" a ferramenta a ler o seu arquivo. A sua planilha de produtos tem várias colunas (como código, nome, preço), e o sistema precisa saber qual coluna do seu arquivo corresponde a cada campo do cadastro de produtos.
A tela de relacionamento permite que você faça essa ligação. Para cada informação do seu arquivo, você irá indicar:
A posição exata no arquivo: Onde o dado começa e qual seu tamanho (número de caracteres).
A qual campo do sistema ele pertence: Por exemplo, o seu "código do produto" (da planilha) será relacionado ao campo "Código Principal" (do sistema).
Essa etapa é fundamental para que a ferramenta entenda as informações da sua planilha e preencha os campos corretos no cadastro dos produtos, garantindo que os dados sejam importados sem erros.
Nossa planilha de exemplo tem campos como código principal, nome do produto, preço de custo e de venda, grupo, NCM e unidade. Agora, você deve indicar a posição de cada um deles no sistema usando a seguinte estrutura:
| Posição inicial / Tamanho do campo[Número de casas decimais] |
|---|
Por exemplo, 1/6[2] indica que o dado começa na coluna 1, tem 6 caracteres de tamanho e 2 casas decimais.
Comece localizando o código principal no seu arquivo de texto. Use o mouse para clicar no início do campo e ver qual é a sua coluna inicial.

Vimos então que a posição inicial é 1. Nossa formatação fica dessa forma:
| 1/Tamanho do campo[Número de casas decimais] |
|---|
Próximo passo é verificar o tamanho do campo. Você só precisa saber quantos caracteres tem no campo. Normalmente, o código do produto costuma ter um padrão. Todos os que estão na planilha possuem 6 caracteres: 000003, 000004, 000005.... Atualizando nossa formatação teremos:
| 1/6[Número de casas decimais] |
|---|
O código do produto não possui números após a vírgula, ou seja, não possui casas decimais. Então a nossa formatação para o código principal será:
1/6 |
|---|
Agora temos que incluir no sistema. Para isso você digitará a formatação que fizemos anteriormente, selecionar qual o campo do Shop e clicar no símbolo < - >. Veja abaixo como ficaria:

Seguindo a nossa planilha de produto temos o campo de Nome do Produto. Seguindo a mesma lógica anterior siga o passo a passo:

A nossa posição inicial aqui vai ser 15.
Para planilhas com muitos produtos, não é necessário contar exatamente o número de caracteres. A dica é definir um tamanho de campo que seja visivelmente maior que o nome mais longo. Isso garante que a importação de todos os nomes seja feita por completo, sem que você precise verificar um por um. |

A formatação para o nome do produto ficaria:
Posição Inicial/Tamanho do campo 15/29 |
|---|
Seguindo a planilha, o próximo campo é o de preço de custo. Usando os mesmos passos anteriormente vamos ter a posição inicial de 51.

Foi considerada a posição incial ignorando o R$ pois são caracteres que não são permitidos nos campos de preços do sistema. |
Para os campos de preço, a lógica é parecida com a do nome do produto: você precisa definir o tamanho com base no valor mais longo da sua planilha.
No nosso exemplo, o maior preço é 20,00. Contando todos os caracteres (incluindo a vírgula), o tamanho total é 5.
A formatação também exige que o número de casas decimais seja informado entre colchetes no final. Como na sua planilha todos os preços têm 2 casas após a vírgula, a formatação completa para o campo 'Preço de Custo' será:
Posição inicial / Tamanho do campo[Número de casas decimais] 51/5[2] |
|---|
Agora, vamos ver como a ferramenta ficará após preencher todos os campos para relacionar seu arquivo de texto com o sistema.

Após ajustar a sua planilha de produtos e criar os relecionamentos entre ela e o Shop, basta clicar em Iniciar.
Recomendamos que você marque o checkbox 'Gerar log de produtos não importados'. Assim, em caso de falha, o sistema gerará um relatório para que você possa identificar facilmente quais produtos não foram importados e corrigir o erro. Antes de rodar a ferramenta, é preciso fechar a planilha para que o processo não dê erro. |

Após rodar a ferramenta, o sistema informa quantos produtos foram cadastrados, atualizados e que tiveram falhas, ou seja, não foram cadastrados.
![]()
Após a ferramenta processar a planilha, você pode conferir os produtos cadastrados ou atualizados acessando o Cadastro de Produtos.
Atenção: Se a importação foi feita sem um modelo fiscal, você precisará ajustar os dados manualmente. Para isso, você pode editar cada cadastro individualmente ou usar o Módulo de Manutenção de Produtos para agilizar o processo.
Clique aqui para saber mais sobre o Módulo de Manutenção de Produtos.

No cadastro de produtos, os atributos adicionais são preenchidos com um Nome e um Valor (exemplo: Nome: COLEÇÃO, Valor: VERSÃO 19).

Ao realizar a importação através do recurso "Atualiza Preços por Base de Dados Externa" (versão 2.00) , na etapa de Relacionamentos dos campos , você encontrará a opção genérica Middleware Atributo. A chave para o sucesso é a forma como você organiza os dados no seu arquivo de base externa.
Para que o sistema consiga separar o Nome do Atributo do seu Valor durante a importação para o Middleware Atributo, é necessário usar o sinal de igualdade (=) como separador no seu arquivo de base externa.
A regra é simples:
O que estiver antes do sinal de = será importado como o Nome do Atributo.
O que estiver após o sinal de = será importado como o Valor do Atributo.
Para cada linha no seu arquivo de importação que contenha os atributos, utilize a seguinte estrutura:
HD=1Tb
RAM=16Gb
Ao seguir este formato, você garantirá que todos os atributos adicionais sejam preenchidos corretamente na aba Middleware dos produtos que estão sendo atualizados ou cadastrados via base de dados externa.
Esse campo é específico para clientes que usam a aba MIddleware do cadastro de produtos. |
Com este guia completo, você está pronto para utilizar a ferramenta Atualiza Preço por Base Externa para manter seu cadastro de produtos sempre atualizado de forma rápida e segura.
Autor do artigo: Rebarbosa.prime.shop (Não remova esse quadro)Descreva o passo a passo para o cliente seguindo os padrões de escrita de artigos, como:
|
(Não remova esse quadro)Essas informações não se tonam parte do conteúdo em sua nova página, elas ficam ocultas e só aprecem para usuário logado e se o artigo/dica estiver em modo de edição! |
<div id="text-end"></div>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-193974933-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag2(){dataLayer.push(arguments);}
gtag2('js', new Date());
gtag2('config', 'UA-193974933-1');
function gtagevents (action,category) {
console.log(category + ':' + action);
gtag2('event',action,{event_category:category,event_label: document.title});
};
</script>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
(function(){
// RASTREIO DE USO DO VÍDEO
function gtagvideo(action){
gtagevents(action,'Video')
}
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
var seeking = false;
var priorTime = 0;
var currentTime = 0;
var reportouFinalDoConteudo = false;
// se pausar o play é acionado também.
player.on('play', function(data) {
if(data.seconds == 0){
gtagvideo('video-iniciado');
}
priorTime = data.seconds;
});
player.on('ended', function() {
gtagvideo('video-finalizado');
});
//seeking e timeupdate são disparados juntos, logo o tempo dos 2 é atualizado também. Preciso garantir que a variavel starttime seja atualizada ordenadamente (sempre antes ou após o seeking).
// pra isso preciso setar uma variavel no timeupdate e ler no seeking para garantir a ordem. Se ela estiver false será alterada na próxima iteração.
player.on('seeking', function(data) {
seeking = true;
});
player.on('pause',function(data){
gtagvideo('video-pausado');
});
player.on('timeupdate', function(data) {
if(seeking){
if(currentTime < priorTime){
gtagvideo('video-voltando');
}
if(currentTime > priorTime){
gtagvideo('video-avancando')
}
seeking = false;
}
priorTime = currentTime;
currentTime = data.seconds;
var finalDoConteudo = (data.duration - data.seconds) < 5;
if(finalDoConteudo && !reportouFinalDoConteudo){
gtagvideo('conteudo-finalizado')
reportouFinalDoConteudo = true;
}
});
player.on('fullscreenchange', function() {
gtagvideo('video-fullscreen');
});
})();
</script>
<script>
// RASTREIO DO USO DE AUDIO
(function(){
function gtagaudio(action){
gtagevents(action,'Audio')
}
var audio = document.querySelector("audio");
var seeking = false;
var priorTime = 0;
var currentTime = 0;
audio.addEventListener('play',function(){
if(audio.currentTime == 0){
gtagaudio('audio-iniciado');
}
priorTime = audio.currentTime;
});
audio.addEventListener('ended',function(){
gtagaudio('audio-finalizado');
});
audio.addEventListener('pause',function(){
gtagaudio('audio-pausado');
});
audio.addEventListener('seeking', function(data) {
seeking = true;
});
audio.addEventListener('timeupdate', function(data) {
if(seeking){
if(currentTime < priorTime){
gtagaudio('audio-voltando');
}
if(currentTime > priorTime){
gtagaudio('audio-avancando')
}
seeking = false;
}
priorTime = currentTime;
currentTime = audio.currentTime;
});
})();
</script>
<script>
(function(){
var terminou = false;
//RASTREIO DE LEITURA ATÉ O FINAL DA PÁGINA
document.addEventListener('scroll',() => {
if(document.getElementById('text-end').getBoundingClientRect().top < window.innerHeight){
if(!terminou){
terminou = true;
gtagevents('artigo-lido','Pagina')
}
}else{
terminou = false;
}
});
})();
</script>
|