Emitindo NF-e de devolução para empresas do Simples Nacional com destaque de ICMS.
--use [12929214000126] -- Fazendo Nfe de devolução para empresas do simples nacional -- quando tem necessidade destacar icms -- açaí Brasil Exemplo -- cfop 5202 ou 6202 de devolução -- itens deverão estar com CFOP/CSON 900 select top 10 * from nf_eletronica order by nfe_id desc select * from nf_eletronica_itens where nfe_id=38 DECLARE @nfe_codigo INT SET @nfe_codigo = 38 UPDATE nf_eletronica_itens SET infe_vBC = '390.95' WHERE nfe_id = @nfe_codigo UPDATE nf_eletronica_itens SET infe_pICMS = '12' WHERE nfe_id = @nfe_codigo UPDATE nf_eletronica_itens SET infe_vICMS = '46.91' WHERE nfe_id = @nfe_codigo UPDATE nf_eletronica SET nfe_vBC = '390.95' WHERE nfe_id = @nfe_codigo UPDATE nf_eletronica SET nfe_vICMS = '46.91' WHERE nfe_id = @nfe_codigo -- Se for Nota complementar tem que referenciar nossa nota anterior (apenas se o cliente errou) UPDATE nf_eletronica SET nfe_refnfe='31231212929214000126550020000003091784281210' WHERE nfe_id = 38
SQL COMPLETO
BEGIN TRY
-- Iniciar a transação
BEGIN TRANSACTION;
DECLARE @nfe_codigo INT;
SET @nfe_codigo = 8141;
-- Atualizar os itens da nota fiscal eletrônica
UPDATE nf_eletronica_itens
SET
infe_vBC = TRUNC(infe_vProd, 2),
infe_pICMS = 0,
infe_vICMS = TRUNC(infe_vProd * 0 / 100, 2)
WHERE nfe_id = @nfe_codigo
AND infe_cfop = 5413;
-- Atualizar os valores totais da nota fiscal eletrônica
UPDATE nf_eletronica
SET
nfe_vBC = (
SELECT TRUNC(SUM(infe_vBC), 2)
FROM nf_eletronica_itens WITH (NOLOCK)
WHERE nfe_id = @nfe_codigo
),
nfe_vICMS = (
SELECT TRUNC(SUM(infe_vICMS), 2)
FROM nf_eletronica_itens WITH (NOLOCK)
WHERE nfe_id = @nfe_codigo
)
WHERE nfe_id = @nfe_codigo;
-- Confirmar a transação
COMMIT;
END TRY
BEGIN CATCH
-- Em caso de erro, desfazer a transação
ROLLBACK;
-- Exibir a mensagem de erro
DECLARE @ErrorMessage NVARCHAR(4000);
SET @ErrorMessage = ERROR_MESSAGE();
RAISERROR(@ErrorMessage, 16, 1);
END CATCH;