Importação de Nota de Compra no Movimento de Estoque

Após a configuração, as notas emitidas para o CNPJ do certificado digital serão listadas automaticamente no movimento de estoque e estará disponível para importação.


  1. Acesse a aba Estoque → Movimento de Estoque

  2. Na aba Nota Fiscal Eletrônica clique em Importar NF-e.



  3. Caso o certificado digital não esteja configurado, realize o vínculo com este passo a passo.

  4. Selecione a nota a ser importada e uma operação de compra/entrada.



    Caso já tenha uma operação padrão configurada em Configurações e Manutenção → Opções → Movimentação → Operações Padrão para Importação de NFe, o sistema não apresentará a tela solicitando um operação.




  5. Caso o fornecedor ou a transportadora não estejam cadastrados, o sistema irá apresentar uma tela para o cadastramento. Basta clicar em Cadastrar.



  6. Em seguida, será apresentada uma tela com as informações da NF-e e os produtos. Cadastre ou vincule os itens e realize o ajuste das quantidades convertidas, conforme a necessidade.


    • Legenda: 
      - Os produtos com a descrição em verde, são os produtos que já foram cadastrados em outro momento e já possuem vínculo.
      - Os produtos com a descrição em preto, são produtos sem cadastro ou sem vínculo à algum produto já cadastrado.
      - Os produtos que estiverem destacados em amarelo, são aqueles que estão com o preço de custo na NF-e diferente do preço atual no cadastro, e portanto devem ter a precificação atualizada.

    • Código: Se refere ao código do produto que veio na NF-e, seja ele o EAN ou um código próprio do fornecedor.

    • Cód. Wshop: É o código de chamada cadastrado pelo sistema.

    • Descrição: A descrição caso o produto não tenha sido cadastrado/vinculado, será igual ao da NF-e. Se já houver o vínculo prevalecerá o nome atual do sistema (caso tenha sido editado ao cadastrar).

    • CFOP Original: Refere-se ao Código Fiscal da Operação usada pelo fonecedor ao emitir a nota.

    • CFOPIdentifica o código fiscal utilizado na operação escolhida no momento da importação.
    • CST ICMS: Identifica o código da situação tributária do ICMS, que foi usado na NF-e de compra. Podendo ser alterado no momento da importação.
    • CST IPI: Identifica o código da situação tributária do IPI, que foi usado na NF-e de compra. Podendo ser alterado no momento da importação.

    • CST PIS/COFINS: Identifica o código da situação tributária do IPI, que foi usado na NF-e de compra. Podendo ser alterado no momento da importação.

    • UN. Compra: Informa a unidade de compra que o fornecedor utilizou no momento da emissão. Podendo ser alterado no momento da importação, principalmente quando a quantidade da nota precisa ser convertida. Também será possível cadastrar uma nova unidade no momento da importação clicando em " + ".



    • Fator de Conversão: Será o fator multiplicador, que definirá se a quantidade da nota original, será a mesma que entrará no estoque ou não.

    • Converte UN.: Na opção Converter o sistema irá buscar e preencher o campo UN. Compra com a unidade que está no cadastro do produto.

    • Quant.:  Quantidade que veio na NF-e emitida pelo fornecedor.
    • Qt. Convertida: Resultado da do campo Quantidade multiplicado pelo campo Fator de conversão.

    • Status: Identifica se o produto está vinculado ou se não cadastrado.

    • Vínculo: Proporciona a função de vincular um produto a um item já cadastrado, ou desvincular um item de um cadastro.

    • Cadastrar: Apresentará a opção de cadastrar um novo produto, ou editar um produto já cadastrado e vinculado.

    • Grade: Através desta opção, as quantidades do produto comprado poderão ser distribuida entre as suas variações. 
      Exemplo: Na NF-e de compra de um fornedor de roupas, vieram2 quantidades do produto "Vestido longo floral". Na NF-e consta como um único produto, mas no pedido de compra está especificado que é 1 unidade de cada tamanho, sendo eles P e M. Na opção distribuir, será vinculada a quantidade correta de cada tamanho.



      Para saber mais sobre cadastro de produto em grade, acesse o artigo Cadastrar produto com grade.

  7. Apór realizar o ajuste nos itens, serão apresentados os valores da NF-e. Qualquer alteração será de responsabilidade da empresa.



  8. Clique em Próximo.

  9. Na aba Duplicata, informe a forma de pagamento da compra, natureza de lançamento e data de baixa, caso já tenha sido quitada.



  10. Clique em Confirmar e o sistema apresentará a tela de Inclusão de Movimento, com o resumo da NF-e. Caso todos os dados estejam corretos, basta Gravar.


Entendendo o Cálculo do IPI na Importação da Nota

O sistema calcula o IPI com base no valor do produto e na alíquota informada no XML. Quando o fornecedor inclui valores adicionais, como "outros", o sistema pode somar esse montante ao preço base antes de aplicar a alíquota, o que pode levar a uma pequena diferença no valor final.

A fórmula padrão para o cálculo do IPI é o valor do IPI dividido pelo valor do produto e multiplicado por 100. Em alguns casos, o sistema pode realizar um arredondamento no cálculo do IPI por unidade, o que também contribui para essa diferença.

(IPI ÷ VALOR DO PRODUTO) * 100

Como Verificar o Cálculo no Sistema

Para entender exatamente como o sistema está realizando o cálculo, você pode usar a ferramenta de simulação (geralmente acessada pela tecla F10) durante o processo de importação da nota. Essa ferramenta permite visualizar em detalhes a composição do preço de custo, incluindo a soma de todos os valores, como o ICMS, IPI, PIS, COFINS e outros encargos.



Ao utilizar a simulação, você poderá confirmar que o sistema está puxando as informações diretamente do XML da nota fiscal e aplicando as fórmulas corretamente, considerando todos os valores inclusos, inclusive os que podem ter sido adicionados ao custo original do produto.

Autor do artigo: Daniela.imp.shop/Editado por: 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:

  1. Escreva na voz ativa,
  2. Numere o passo a passo,
  3. Evite utilização de imagens,
  4. Escreva no tempo presente, na primeira pessoa e no imperativo (em passo a passos).


Essas informações não se tornam parte do conteúdo em sua nova página, elas ficam ocultas e só aparecem para usuário logado e se o artigo/dica estiver em modo de edição!

(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>