Assunto

Scripts para vínculo e colheita de resultado para o código CEST.

Informações e Procedimentos

Os passos a serem realizados é o seguinte:


Passo 1

Executar os scripts 01, 02, 03 para vínculo do código CEST aos NCMs dos produtos, materiais e itens fiscais.


01. Correção de Script para cadastro CEST Nulo - Item Fiscal.sql

02. Correção de Script para cadastro CEST Nulo - Materiais.sql

03. Correção de Script para cadastro CEST Nulo - Produtos.sql


01. Correção de Script para cadastro CEST Nulo - Item Fiscal.sql
UPDATE CADASTRO_ITEM_FISCAL SET ID_CEST_NCM = NULL
FROM CADASTRO_ITEM_FISCAL
INNER JOIN 
          (
                           SELECT  CADASTRO_ITEM_FISCAL.CODIGO_ITEM, MIN(CEST_NCM.ID) AS ID_CEST_NCM
                           FROM TABELA_LX_CEST   
                           INNER JOIN CEST_NCM    ON TABELA_LX_CEST.ID = CEST_NCM.ID_CEST 
                           INNER JOIN TABELA_LX_NCM ON CEST_NCM.ID_NCM = TABELA_LX_NCM.ID 
                           INNER JOIN CADASTRO_ITEM_FISCAL ON REPLACE(CADASTRO_ITEM_FISCAL.CLASSIF_FISCAL, '.', '') = TABELA_LX_NCM.CODIGO_NCM
                           WHERE  TABELA_LX_CEST.CODIGO_CEST LIKE '28%' AND CEST_NCM.INATIVO = 0  AND TABELA_LX_NCM.INATIVO = 0  AND TABELA_LX_CEST.INATIVO = 0  
                           GROUP BY CODIGO_ITEM
            ) AS A
            ON A.CODIGO_ITEM = CADASTRO_ITEM_FISCAL.CODIGO_ITEM
           
GO
SELECT * INTO CADASTRO_ITEM_FISCAL_BKP_CEST_NULO3 FROM CADASTRO_ITEM_FISCAL
GO
UPDATE CADASTRO_ITEM_FISCAL SET ID_CEST_NCM = A.ID_CEST_NCM
FROM CADASTRO_ITEM_FISCAL
INNER JOIN 
          (
                           SELECT  CADASTRO_ITEM_FISCAL.CODIGO_ITEM, MIN(CEST_NCM.ID) AS ID_CEST_NCM
                           FROM TABELA_LX_CEST   
                           INNER JOIN CEST_NCM    ON TABELA_LX_CEST.ID = CEST_NCM.ID_CEST 
                           INNER JOIN TABELA_LX_NCM ON CEST_NCM.ID_NCM = TABELA_LX_NCM.ID 
                           INNER JOIN CADASTRO_ITEM_FISCAL ON REPLACE(CADASTRO_ITEM_FISCAL.CLASSIF_FISCAL, '.', '') = TABELA_LX_NCM.CODIGO_NCM
                           WHERE  TABELA_LX_CEST.CODIGO_CEST not LIKE '28%' AND CEST_NCM.INATIVO = 0  AND TABELA_LX_NCM.INATIVO = 0  AND TABELA_LX_CEST.INATIVO = 0  
                           GROUP BY CODIGO_ITEM
            ) AS A
            ON A.CODIGO_ITEM = CADASTRO_ITEM_FISCAL.CODIGO_ITEM
            WHERE CADASTRO_ITEM_FISCAL.ID_CEST_NCM  IS NULL


02. Correção de Script para cadastro CEST Nulo - Materiais
UPDATE MATERIAIS SET ID_CEST_NCM = NULL
FROM MATERIAIS
INNER JOIN 
          (
                           SELECT  MATERIAIS.MATERIAL, MIN(CEST_NCM.ID) AS ID_CEST_NCM
                           FROM TABELA_LX_CEST   
                           INNER JOIN CEST_NCM    ON TABELA_LX_CEST.ID = CEST_NCM.ID_CEST 
                           INNER JOIN TABELA_LX_NCM ON CEST_NCM.ID_NCM = TABELA_LX_NCM.ID 
                           INNER JOIN MATERIAIS ON REPLACE(MATERIAIS.CLASSIF_FISCAL, '.', '') = TABELA_LX_NCM.CODIGO_NCM
                           WHERE  TABELA_LX_CEST.CODIGO_CEST LIKE '28%' AND CEST_NCM.INATIVO = 0  AND TABELA_LX_NCM.INATIVO = 0  AND TABELA_LX_CEST.INATIVO = 0  
                           GROUP BY MATERIAL
            ) AS A
            ON A.MATERIAL = MATERIAIS.MATERIAL
           
GO
SELECT * INTO MATERIAIS_BKP_CEST_NULO3 FROM MATERIAIS
GO
UPDATE MATERIAIS SET ID_CEST_NCM = A.ID_CEST_NCM
FROM MATERIAIS
INNER JOIN 
          (
                           SELECT  MATERIAIS.MATERIAL, MIN(CEST_NCM.ID) AS ID_CEST_NCM
                           FROM TABELA_LX_CEST   
                           INNER JOIN CEST_NCM    ON TABELA_LX_CEST.ID = CEST_NCM.ID_CEST 
                           INNER JOIN TABELA_LX_NCM ON CEST_NCM.ID_NCM = TABELA_LX_NCM.ID 
                           INNER JOIN MATERIAIS ON REPLACE(MATERIAIS.CLASSIF_FISCAL, '.', '') = TABELA_LX_NCM.CODIGO_NCM
                           WHERE  TABELA_LX_CEST.CODIGO_CEST not LIKE '28%' AND CEST_NCM.INATIVO = 0  AND TABELA_LX_NCM.INATIVO = 0  AND TABELA_LX_CEST.INATIVO = 0  
                           GROUP BY MATERIAL
            ) AS A
            ON A.MATERIAL = MATERIAIS.MATERIAL
            WHERE MATERIAIS.ID_CEST_NCM  IS NULL



03. Correção de Script para cadastro CEST Nulo - Produtos
UPDATE PRODUTOS SET ID_CEST_NCM = NULL
FROM PRODUTOS
INNER JOIN 
          (
                           SELECT  PRODUTOS.PRODUTO, MIN(CEST_NCM.ID) AS ID_CEST_NCM
                           FROM TABELA_LX_CEST   
                           INNER JOIN CEST_NCM    ON TABELA_LX_CEST.ID = CEST_NCM.ID_CEST 
                           INNER JOIN TABELA_LX_NCM ON CEST_NCM.ID_NCM = TABELA_LX_NCM.ID 
                           INNER JOIN PRODUTOS ON REPLACE(PRODUTOS.CLASSIF_FISCAL, '.', '') = TABELA_LX_NCM.CODIGO_NCM
                           WHERE  TABELA_LX_CEST.CODIGO_CEST LIKE '28%' AND CEST_NCM.INATIVO = 0  AND TABELA_LX_NCM.INATIVO = 0  AND TABELA_LX_CEST.INATIVO = 0  
                           GROUP BY PRODUTO
            ) AS A
            ON A.PRODUTO = PRODUTOS.PRODUTO
GO
SELECT * INTO PRODUTOS_BKP_CEST_NULO3 FROM PRODUTOS
GO           
UPDATE PRODUTOS SET ID_CEST_NCM = A.ID_CEST_NCM
FROM PRODUTOS
INNER JOIN 
          (
                           SELECT  PRODUTOS.PRODUTO, MIN(CEST_NCM.ID) AS ID_CEST_NCM
                           FROM TABELA_LX_CEST   
                           INNER JOIN CEST_NCM    ON TABELA_LX_CEST.ID = CEST_NCM.ID_CEST 
                           INNER JOIN TABELA_LX_NCM ON CEST_NCM.ID_NCM = TABELA_LX_NCM.ID 
                           INNER JOIN PRODUTOS ON REPLACE(PRODUTOS.CLASSIF_FISCAL, '.', '') = TABELA_LX_NCM.CODIGO_NCM
                           WHERE  TABELA_LX_CEST.CODIGO_CEST not LIKE '28%' AND CEST_NCM.INATIVO = 0  AND TABELA_LX_NCM.INATIVO = 0  AND TABELA_LX_CEST.INATIVO = 0  
                           GROUP BY PRODUTO
            ) AS A
            ON A.PRODUTO = PRODUTOS.PRODUTO
            WHERE PRODUTOS.ID_CEST_NCM  IS NULL


Passo 2

Executar o script 4 (consulta de cadastro sem código CEST)


04 - Query para identificar cadastros sem Codigo CEST.SQL



04 - Query para identificar cadastros sem Codigo CEST
--Produtos
SELECT 'PRODUTO' AS CADASTRO, PRODUTO, DESC_PRODUTO, CLASSIF_FISCAL,ID_CEST_NCM 
FROM PRODUTOS 
	WHERE ID_CEST_NCM IS NULL

--Material
SELECT 'MATERIAL' AS CADASTRO, MATERIAL, DESC_MATERIAL, CLASSIF_FISCAL, ID_CEST_NCM
FROM MATERIAIS 
	WHERE ID_CEST_NCM IS NULL

--Item fiscal

SELECT 'ITEM FISCAL' AS CADASTRO, CODIGO_ITEM, ITEM_DESCRICAO, CLASSIF_FISCAL, ID_CEST_NCM
FROM CADASTRO_ITEM_FISCAL
	WHERE ID_CEST_NCM IS NULL


Com o resultado do script 4, validar com o setor fiscal ou no site https://www.codigocest.com.br/consulta-codigo-cest-pelo-ncm se as classificações fiscais (NCM) possuem substituição tributária que não seja para operações porta a porta.

Caso tenha classificações fiscais inválidas ou que tenham substituição tributária que não seja para operações porta a porta, a mesma deve ser corrigida no cadastro do produto.