Ajuste de tributação de produtos para fiscal

Weverton Johnnys

Autor Weverton Johnnys
Data de criação Aug 30, 2021
Última edição Modificado há 3 anos
Visualizações 1 visualizações

Frequentemente em implantações de cliente que iniciarão a utilização da NFC-e há uma grande demanda de correção de produtos como cst incoerente com cfop, ncm sem cest para produtos indicados como st, e por ai vai. sendo assim, pode-se auxiliar ao cliente que corrija, para que não haja transtorno em todas emissões , porém na prática já sabemos que por diversas dificuldades o cliente não conseguira realizar este ajuste, e é oferecido a geração de uma planilha com todos os dados tributários para que a contabilidade deste cliente revise e nos retorne com a correção destes dados, e desta forma conseguimos importar a planilha e atualizar todos os dados para o cliente.

como exportar estes dados já expliquei neste artigo:

abaixo, deixo disponibilizado o comando que irá tratar a planilha importada no sistema.

Este é um exemplo real executado em um cliente, lembre-se de readequar este código antes de executa-lo, revisando as informações como código das lojas. e os campos que deseja atualizar

Observe que para comando funcionar deve-se importar a planilha para banco de dados para uma tabela chamada IMP_PROD com as colunas iguais as utilizadas no query abaixo. deverá ser a mesma planilha que foi gerada, com o id do produto como identificado para encontra-lo no sistema. é importante destacar com a pessoal que fora ajustar para mante o formado da planilha, para ser possível este processamento.

neste comando os seguintes procedimentos são executados:

  • atualizado CFOP Saída

  • atualizado NCM

  • atualizado CEST

observando que essa foi a demanda em questão do cliente, porém podem surgir novas, a qual pode ser utilizada a mesma lógica ,como por exemplo, atualizar dados do CST, PIS, COFINs.. entre outros.

set @CodigoUsuario = '-10'; set @VersaoEXE = 'Nºos'; UPDATE codigoncm SET Exemplo = '00' WHERE ISNULL(codigoncm.Exemplo); UPDATE dadosproduto INNER JOIN produto on dadosproduto.codigoproduto = produto.codigo AND dadosproduto.codigoloja = 1 INNER JOIN IMP_PROD on produto.codigo = IMP_PROD.CodigoProduto INNER JOIN cfop on cfop.cfop = IMP_PROD.CFOP AND cfop.TipoMovimento = 1 INNER JOIN cst on cst.CST = IMP_PROD.CST INNER JOIN codigoncm on codigoncm.CodigoNCM = IMP_PROD.NCM AND codigoncm.Exemplo = '00' SET dadosproduto.codigocst = cst.codigo, dadosproduto.CodigoCFOPSaida = cfop.codigo, produto.CodigoNCM = codigoncm.Codigo; DROP TABLE IF EXISTS IMP_PROD_CEST; CREATE TABLE IMP_PROD_CEST SELECT tb.NCM, tb.CEST, codigoncm.Codigo codigoncm_Codigo, IFNULL(codigocest.Codigo,0) as codigocest_Codigo from ( SELECT IMP_PROD.* FROM IMP_PROD GROUP BY IMP_PROD.NCM) tb INNER JOIN codigoncm on codigoncm.CodigoNCM = tb.NCM LEFT JOIN codigocest on codigocest.Cest = tb.CEST; UPDATE codigoncm INNER JOIN IMP_PROD_CEST on codigoncm.Codigo = IMP_PROD_CEST.codigoncm_Codigo SET codigoncm.codigocest = IMP_PROD_CEST.codigocest_Codigo;