Os passos a serem realizados é o seguinte:
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
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
|
|
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
|
|
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
|
|
Executar o script 4 (consulta de cadastro sem código CEST) |
04 - Query para identificar cadastros sem Codigo CEST.SQL
|
---|
--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. |