Agora no Bluesoft ERP, é possível consultar e filtrar as notas fiscais pelo seu status (Não Cancelada, Cancelada, Recusada ou Todos) diretamente no ‘PG – Relatório de Nota Fiscal de Comissão Vendedor Devolução’, além de visualizar essa informação na grade e nas exportações em PDF e Excel. O objetivo desta melhoria é otimizar o processo de conferência e abatimento de devoluções nas comissões dos vendedores, permitindo identificar a validade das notas na própria tela sem a necessidade de consultas externas.
Como Era o Processo Antes?
Antes, ao emitir o ‘Relatório de Nota Fiscal de Comissão Vendedor Devolução’, o sistema listava as notas fiscais de devolução sem identificar visualmente se a nota em questão estava ativa, cancelada ou recusada. Para confirmar a validade de cada registro e garantir que notas canceladas não fossem consideradas indevidamente no abatimento de comissão, o usuário precisava consultar manualmente as notas uma a uma na tela de consulta de notas fiscais.
Como Irá Funcionar a Partir de Agora?
Com a atualização, o relatório passa a contar com um novo filtro e uma nova coluna dedicada ao status da nota fiscal.
- Configuração do Relatório: Na rotina de Administração > Exportação de Relatórios, ao incluir ou editar o relatório Relatório de Nota Fiscal de Comissão Vendedor Devolução, está disponível o componente de filtro Status da Nota Fiscal.

- Novo Filtro: Na tela do relatório, o usuário visualizará o filtro Status da Nota Fiscal, com as seguintes opções:
- Todos: Retorna todas as notas fiscais de devolução, permitindo a distinção visual pelo status.
- Não Cancelada: Retorna apenas as notas válidas para abatimento.
- Cancelada: Retorna apenas as notas fiscais canceladas.
- Recusada: Retorna apenas as notas fiscais recusadas.

- Exibição na Grade e Exportações: Ao executar a busca, a grade de resultados apresentará a nova coluna Status da Nota Fiscal com a informação correspondente. Essa mesma coluna é mantida nas exportações do relatório nos formatos PDF e Excel.

Observações / Validações
- Regras de Negócio e Cálculos: A melhoria altera apenas a consulta, visualização e exportação dos dados no relatório, mantendo inalteradas as regras de cálculo de comissão e os valores originais das notas fiscais.
- Filtros Personalizados: Se o usuário salvar um filtro personalizado nesta tela, a opção selecionada no campo Status da Nota Fiscal será preservada para as próximas consultas.
- Resultado Sem Registros: Caso a combinação de filtros selecionada não retorne dados, a tela exibirá o resultado vazio sem erros, permitindo realizar novas buscas.
Clique aqui para vê o Script necessário para configuração do relatório.
WITH ped AS (
SELECT
nf.loja_key,
nft.descricao AS tipo_nf,
nf.nf_numero,
nf.data_emissao,
evx.supervisor_key,
supervisor.nome_abreviado AS supervisor,
pfv.vendedor_externo_key,
vendedor.nome_abreviado AS nome_vendedor,
pe.pessoa_key AS codigo_cliente,
pe.nome_razao AS cliente,
pf.nome_abreviado AS fornecedor_principal,
nfi.produto_key,
nfi.descricao AS descricao_produto,
nfi.quantidade,
(nfi.valor_bruto_total - nfi.valor_icms_desonerado) AS valor_total_item,
gcm.porcentagem AS comissao_cadastro,
cvni.comissao AS comissao_nf,
nfi.nota_fiscal_item_key AS nota_fiscal_item_origem_key
FROM nota_fiscal nf
JOIN nota_fiscal_item nfi
ON nfi.nf_key = nf.nf_key
JOIN pessoa pe
ON nf.fornecedor_key = pe.pessoa_key
JOIN produto pr
ON pr.produto_key = nfi.produto_key
JOIN pessoa pf
ON pf.pessoa_key = pr.troca_fornecedor_key
JOIN nota_fiscal_tipo nft
ON nft.nf_tipo_key = nf.nf_tipo_key
JOIN comissao_produto cmp
ON cmp.produto_key = nfi.produto_key
JOIN grupo_comissao gcm
ON gcm.grupo_comissao_key = cmp.grupo_comissao_forca_venda
JOIN item_pedido_venda_separado ipvs
ON ipvs.item_pedido_venda_separado_key = nfi.item_pedido_venda_separado_key
JOIN item_pedido_venda ipv
ON ipv.item_pedido_venda_key = ipvs.item_pedido_venda_key
JOIN pedido_cliente_venda pcv
ON pcv.pedido_cliente_venda_key = ipv.pedido_cliente_venda_key
JOIN pedido_forca_venda_cliente pfvc
ON pfvc.pedido_forca_venda_cliente_key = pcv.pedido_forca_venda_cliente_key
JOIN pedido_forca_venda pfv
ON pfv.pedido_forca_venda_key = pfvc.pedido_forca_venda_key
JOIN pessoa vendedor
ON pfv.vendedor_externo_key = vendedor.pessoa_key
JOIN equipe_vendedores eqv
ON eqv.vendedor_externo_key = pfv.vendedor_externo_key
JOIN equipe_vendedor_externo evx
ON evx.equipe_vendedor_externo_key = eqv.equipe_vendedor_externo_key
JOIN pessoa supervisor
ON evx.supervisor_key = supervisor.pessoa_key
JOIN cliente_comissao_vendedor ccv
ON ccv.negociacao_item_key = ipv.negociacao_item_key
AND ccv.cliente_key = pe.pessoa_key
JOIN comissao_vend_neg_item cvni
ON cvni.cliente_comissao_vendedor_key = ccv.cliente_comissao_vendedor_key
AND cvni.vendedor_key = pfv.vendedor_externo_key
WHERE nf.nf_tipo_key IN (104, 34)
AND nf.data_cancelamento IS NULL
AND nf.data_recebimento BETWEEN :dataInicio::varchar::date AND :dataFim::varchar::date
),
dev AS (
SELECT
nfd.data_emissao AS data_emissao_dev,
nfd.nf_numero AS nf_numero_dev,
nfd.codigo_operacao_fiscal AS cfop_dev,
nfid.nota_fiscal_item_origem_key,
(nfid.valor_bruto_total - nfid.valor_icms_desonerado) AS valor_total_item_dev,
nfid.quantidade AS quantidade_dev,
nft.descricao AS tipo_nota_dev,
CASE
WHEN nfd.data_recusa IS NOT NULL THEN 'Recusada'
WHEN nfd.data_cancelamento IS NOT NULL THEN 'Cancelada'
ELSE 'Não Cancelada'
END AS status_nota_fiscal
FROM nota_fiscal_origem nfo
JOIN nota_fiscal nfd
ON nfo.nf_key = nfd.nf_key
JOIN nota_fiscal_item nfid
ON nfid.nf_key = nfo.nf_key
JOIN nota_fiscal_tipo nft
ON nfd.nf_tipo_key = nft.nf_tipo_key
WHERE nfd.data_recebimento BETWEEN :dataInicio::varchar::date AND :dataFim::varchar::date
AND nfd.loja_key = :lojaKey
AND nfd.fim_lancamento IS NOT NULL
AND (
'$!{statusNotaFiscal}' = ''
OR '$!{statusNotaFiscal}' = 'TODOS'
OR (
'$!{statusNotaFiscal}' = 'NAO_CANCELADA'
AND nfd.data_cancelamento IS NULL
AND nfd.data_recusa IS NULL
)
OR (
'$!{statusNotaFiscal}' = 'CANCELADA'
AND nfd.data_cancelamento IS NOT NULL
AND nfd.data_recusa IS NULL
)
OR (
'$!{statusNotaFiscal}' = 'RECUSADA'
AND nfd.data_recusa IS NOT NULL
)
)
)
SELECT DISTINCT
ped.loja_key,
ped.tipo_nf,
ped.nf_numero,
ped.data_emissao,
ped.supervisor_key,
ped.supervisor,
ped.vendedor_externo_key,
ped.nome_vendedor,
ped.codigo_cliente,
ped.cliente,
ped.fornecedor_principal,
ped.produto_key,
ped.descricao_produto,
ped.quantidade,
ped.valor_total_item,
ped.comissao_cadastro,
ped.comissao_nf,
ped.nota_fiscal_item_origem_key,
dev.data_emissao_dev,
dev.nf_numero_dev,
dev.cfop_dev,
dev.valor_total_item_dev,
dev.quantidade_dev,
dev.tipo_nota_dev,
dev.status_nota_fiscal
FROM ped
JOIN dev
ON ped.nota_fiscal_item_origem_key = dev.nota_fiscal_item_origem_key
Para conhecer mais sobre como é a utilização dessa ferramenta, entre em contato com nosso suporte.
