Relatório de Faturamento Por Vendedor

Ramon

Autor Ramon
Data de criação Mar 8, 2024
Última edição Modificado há um ano
Visualizações 13 visualizações

ID: FaturamentoPorVendedor

Versão: 2.07.22

Objetivo: Geração da relação de documentos faturados por vendedor

Período de Data: O relatório será filtrado por data observando os critérios de ada documento:

Lojas: Será necessário indicar uma ou mais lojas para que sejam buscados os dados dos documentos selecionados


Consultas executadas no banco de dados

Obtenção das informações

Para cada linha de documento são processadas as seguintes consultas:

DAV(s)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, 0 as ValorTotal, (0) AS ValorDeconto, (0) AS ValorAcrescimo, (0) as ValorFrete, (dav.vlrfinal - ifnull(dav.ValorFrete,0)) as ValorDevolucao, (dav.vlrfinal - ifnull(dav.ValorFrete,0))*-1 AS ValorFinal, faturamento.Dinheiro -1 AS Dinheiro,faturamento.prazo-1,faturamento.Cartao*-1,faturamento.ChequeVista*-1,1 AS Qtde_Ped FROM dav INNER JOIN modelodav on modelodav.codigo = dav.codigomodelodav INNER JOIN cadastroestoque on cadastroestoque.codigo = dav.codigoestoque INNER JOIN loja on loja.codigo = dav.codigoloja INNER JOIN cliente on cliente.codigo = dav.CodigoCF LEFT JOIN vendedor on vendedor.codigo = dav.codigovendedor INNER JOIN faturamento on (faturamento.codigoorigem = dav.codigo and faturamento.codigomodelo = dav.codigomodelodav and faturamento.TipoOrigem = 0) WHERE modelodav.Nat_DAV = 4 AND dav.codigoloja IN(1) AND dav.data BETWEEN '2024-02-01' AND '2024-02-29';

Nota fiscal série D

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, (nfseried.valortotal + nfseried.valordesconto) as ValorTotal, nfseried.valordesconto AS ValorDeconto,(0) AS ValorAcrescimo, (0) as ValorFrete, (0) as ValorDevolucao, nfseried.valortotal AS ValorFinal, ((faturamento.Dinheiro+faturamento.debitadocredito)-faturamento.Troco) AS Dinheiro,(faturamento.boleto+faturamento.crediario) as prazo,faturamento.Cartao,faturamento.ChequeVista,1 AS Qtde_Ped FROM nfseried INNER JOIN terminal on terminal.codigo = nfseried.Codigoterminal INNER JOIN cadastroestoque on cadastroestoque.codigo = nfseried.CodigoEstoque INNER JOIN loja on loja.codigo = nfseried.codigoloja INNER JOIN cliente on cliente.codigo = nfseried.codigocliente LEFT JOIN vendedor on vendedor.codigo = nfseried.codigovendedor INNER JOIN faturamento on (faturamento.codigoorigem = nfseried.codigo and faturamento.tipoorigem = 4) WHERE nfseried.codigoloja IN(1) AND nfseried.dataemissao BETWEEN '2024-02-01' AND '2024-02-29';

Nota Fiscal de Saída (Finalidade de Emissão <> Ajuste (Can. Extemporâneo)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor, vendedor.vendedor AS NomeVendedor, (nf.ValorTotal + nf.ValorDesconto ) as ValorTotal, nf.valordesconto AS ValorDeconto, (0) AS ValorAcrescimo, ifnull(nf.valorfrete,0) as ValorFrete, (0) as ValorDevolucao, (nf.valortotal - ifnull(nf.valorfrete,0)) AS ValorFinal, ((faturamento.Dinheiro+faturamento.debitadocredito)-faturamento.Troco) AS Dinheiro, (faturamento.boleto+faturamento.crediario) as prazo, faturamento.Cartao, faturamento.ChequeVista, 1 AS Qtde_Ped FROM nf INNER JOIN terminal ON terminal.codigo=nf.Codigoterminal INNER JOIN cfop ON ( cfop.codigo = nf.codigocfop AND cfop.transferencia = 'Não' AND cfop.cfop <> '5908' ) INNER JOIN cadastroestoque ON cadastroestoque.codigo=nf.codigoestoque INNER JOIN loja ON loja.codigo=nf.codigoloja INNER JOIN faturamento ON (faturamento.codigoorigem=nf.codigo AND faturamento.tipoorigem=3) LEFT JOIN vendedor ON vendedor.codigo=nf.codigovendedor WHERE nf.TipoNF = 1 and nf.NFe_Complementar<>3 AND nf.codigoloja IN(1) AND nf.dataemissao BETWEEN '2024-02-01' AND '2024-02-29' and nf.Status not in(6,9) ;

Nota Fiscal de Saída (Finalidade de Emissão = Ajuste (Can. Extemporâneo)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor, vendedor.vendedor AS NomeVendedor, (0) as ValorTotal, nf.valordesconto AS ValorDeconto, (0) AS ValorAcrescimo, (0) as ValorFrete, (nf.valortotal - ifnull(nf.valorfrete,0)) as ValorDevolucao, (nf.valortotal - ifnull(nf.valorfrete,0))*-1 AS ValorFinal, ((faturamento.Dinheiro+faturamento.debitadocredito)-faturamento.Troco)*-1 AS Dinheiro, (nf.valortotal - ifnull(nf.valorfrete,0))*-1 as prazo, (faturamento.Cartao*-1) as Cartão, (faturamento.ChequeVista*-1) as ChequeVista, (1) AS Qtde_Ped FROM nf INNER JOIN terminal ON terminal.codigo=nf.Codigoterminal INNER JOIN cfop ON ( cfop.codigo = nf.codigocfop AND cfop.transferencia = 'Não' AND cfop.cfop <> '5908' ) INNER JOIN cadastroestoque ON cadastroestoque.codigo=nf.codigoestoque INNER JOIN loja ON loja.codigo=nf.codigoloja INNER JOIN faturamento ON (faturamento.codigoorigem=nf.codigo AND faturamento.tipoorigem=3) LEFT JOIN vendedor ON vendedor.codigo=nf.codigovendedor WHERE nf.TipoNF = 1 and nf.NFe_Complementar=3 AND nf.codigoloja IN(1) AND nf.dataemissao BETWEEN '2024-02-01' AND '2024-02-29' and nf.Status not in(6,9);

DAV de Ordem de Serviço

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, ordemservicocs.TotalProduto IF(modelodav.Nat_DAV = 4, 0, 1) AS ValorTotal, ordemservicocs.ValorDesconto IF(modelodav.Nat_DAV = 4, 0, 1) AS ValorDeconto,ordemservicocs.ValorAcrescimo IF(modelodav.Nat_DAV = 4, 0, 1) AS ValorAcrescimo, (0) as ValorFrete, IF(modelodav.Nat_DAV = 4, ordemservicocs.TotalFinal, 0) AS ValorDevolucao, ordemservicocs.TotalFinal IF(modelodav.Nat_DAV = 4, -1, 1) AS ValorFinal, ((faturamento.Dinheiro+faturamento.debitadocredito)-faturamento.Troco) IF(modelodav.Nat_DAV = 4, -1, 1) AS Dinheiro,faturamento.prazo IF(modelodav.Nat_DAV = 4, -1, 1),faturamento.Cartao IF(modelodav.Nat_DAV = 4, -1, 1),faturamento.ChequeVista IF(modelodav.Nat_DAV = 4, -1, 1),1 AS Qtde_Ped FROM ordemservicocs INNER JOIN modelodav on modelodav.codigo = ordemservicocs.codigomodelodav AND modelodav.Nat_DAV<>6 INNER JOIN cadastroestoque on cadastroestoque.codigo = ordemservicocs.codigoestoque INNER JOIN loja on loja.codigo = ordemservicocs.codigoloja INNER JOIN cliente on cliente.codigo = ordemservicocs.codigocliente LEFT JOIN vendedor on vendedor.codigo = ordemservicocs.codigovendedor INNER JOIN faturamento on (faturamento.codigoorigem = ordemservicocs.codigo and faturamento.codigomodelo = ordemservicocs.codigomodelodav and faturamento.tipo<>1) WHERE ordemservicocs.codigoloja IN(1) AND ordemservicocs.data BETWEEN '2024-02-01' AND '2024-02-29'

Cupom Fiscal

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, cupom.ValorBruto as ValorTotal, cupom.ValorDesconto AS ValorDeconto, cupom.ValorAcrescimo AS ValorAcrescimo, (0) as ValorFrete, (0) as ValorDevolucao, cupom.ValorFinal, ((faturamento.Dinheiro+faturamento.debitadocredito)-faturamento.Troco) AS Dinheiro,faturamento.prazo,faturamento.Cartao,faturamento.ChequeVista,1 AS Qtde_Ped FROM cupom INNER JOIN terminal on terminal.codigo = cupom.CodigoTerminal INNER JOIN cadastroestoque on cadastroestoque.codigo = cupom.CodigoEstoque INNER JOIN loja on loja.codigo = cupom.codigoloja INNER JOIN cliente on cliente.codigo = cupom.CodigoCliente LEFT JOIN vendedor on vendedor.codigo = cupom.codigovendedor INNER JOIN faturamento on (faturamento.codigoorigem = cupom.codigo and faturamento.tipoorigem =5) WHERE cupom.codigoloja IN(1) AND cupom.data BETWEEN '2024-02-01' AND '2024-02-29'

DAV(s)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, 0 as ValorTotal, (0) AS ValorDeconto, (0) AS ValorAcrescimo, (0) as ValorFrete, (dav.vlrfinal - ifnull(dav.ValorFrete,0)) as ValorDevolucao, (dav.vlrfinal - ifnull(dav.ValorFrete,0))*-1 AS ValorFinal, faturamento.Dinheiro -1 AS Dinheiro,faturamento.prazo-1,faturamento.Cartao*-1,faturamento.ChequeVista*-1,1 AS Qtde_Ped FROM dav INNER JOIN modelodav on modelodav.codigo = dav.codigomodelodav INNER JOIN cadastroestoque on cadastroestoque.codigo = dav.codigoestoque INNER JOIN loja on loja.codigo = dav.codigoloja INNER JOIN cliente on cliente.codigo = dav.CodigoCF LEFT JOIN vendedor on vendedor.codigo = dav.codigovendedor INNER JOIN faturamento on (faturamento.codigoorigem = dav.codigo and faturamento.codigomodelo = dav.codigomodelodav and faturamento.TipoOrigem = 0) WHERE modelodav.Nat_DAV = 4 AND dav.codigoloja IN(1) AND dav.data BETWEEN '2024-02-01' AND '2024-02-29';

NFC-e

SELECT ( 0 ) AS CodigoMovimento,( nfce.codigovendedor ) AS CodigoVendedor,(nfce.codigotransacao ) AS CodigoTransacao,(registrotransacao.TipoRegistro ) AS TipoTransacao,(nfce.codigo ) AS CodigoDocOrigem,(nfce.Codigoterminal ) AS CodigoTerminalOrigem,(0 ) AS TipoDocumento,('NFCE' ) AS Documento,(0 ) AS Tipo,(loja.razaosocial ) AS Loja,(nfce.numero) AS Numero, RIGHT ( concat( '000000000', terminal.codigo ), 3 ) AS Modelo,(nfce.dataemissao ) AS DATA,(nfce.dataemissao ) AS DataRecebimento,(cliente.nomerazaosocial ) AS Cliente,(nfce.valorproduto ) AS ValorTotal,(nfce.pdesconto ) AS PDesconto,(nfce.valortotaldesconto ) AS ValorDesconto,(nfce.valortotal ) AS ValorFinal,(nfce.valortotal ) AS ValorPago,(nfce.Pcomissao ) AS PComissao,(nfce.valorcomissao ) AS ValorComissao,(vendedor.vendedor ) AS Vendedor FROM nfce INNER JOIN registrotransacao ON registrotransacao.codigo = nfce.codigotransacao INNER JOIN loja ON loja.codigo = nfce.codigoempresa INNER JOIN terminal ON terminal.codigo = nfce.codigoterminal LEFT JOIN cliente ON cliente.codigo = nfce.codigocf LEFT JOIN vendedor ON vendedor.codigo = nfce.codigovendedor WHERE ((nfce.dataemissao BETWEEN '2024-02-01' AND '2024-02-29' ) AND nfce.codigoempresa IN ( 1 ) AND nfce.cancelada = 'Não' AND nfce.faturada = 'Sim' );

DAV (s) de devolução faturado (s)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, 0 as ValorTotal, (0) AS ValorDeconto, (0) AS ValorAcrescimo, (0) as ValorFrete, (dav.vlrfinal - ifnull(dav.ValorFrete,0)) as ValorDevolucao, (dav.vlrfinal - ifnull(dav.ValorFrete,0))*-1 AS ValorFinal, faturamento.Dinheiro -1 AS Dinheiro,faturamento.prazo-1,faturamento.Cartao*-1,faturamento.ChequeVista*-1,1 AS Qtde_Ped FROM dav INNER JOIN modelodav on modelodav.codigo = dav.codigomodelodav INNER JOIN cadastroestoque on cadastroestoque.codigo = dav.codigoestoque INNER JOIN loja on loja.codigo = dav.codigoloja INNER JOIN cliente on cliente.codigo = dav.CodigoCF LEFT JOIN vendedor on vendedor.codigo = dav.codigovendedor INNER JOIN faturamento on (faturamento.codigoorigem = dav.codigo and faturamento.codigomodelo = dav.codigomodelodav and faturamento.TipoOrigem = 0) WHERE modelodav.Nat_DAV = 4 AND dav.codigoloja IN(1) AND dav.data BETWEEN '2024-02-01' AND '2024-02-29'

Nota Fiscal de Devolução de Cliente - (Transmissão Própria = Sim)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, 0 as ValorTotal, (0) AS ValorDeconto,(0) AS ValorAcrescimo, (0) as ValorFrete, (nf.valortotal - ifnull(nf.ValorFrete,0)) as ValorDevolucao, (nf.valortotal - ifnull(nf.ValorFrete,0)) -1 AS ValorFinal, faturamento.Dinheiro -1 AS Dinheiro, faturamento.Prazo -1 as Prazo, faturamento.Cartao -1 as Cartao, faturamento.ChequeVista * -1 as ChequeVista, 1 AS Qtde_Ped FROM nf INNER JOIN terminal ON terminal.codigo=nf.Codigoterminal INNER JOIN cadastroestoque ON cadastroestoque.codigo=nf.codigoestoque INNER JOIN loja ON loja.codigo=nf.codigoloja INNER JOIN faturamento ON (faturamento.codigoorigem=nf.codigo AND faturamento.tipoorigem=12) LEFT JOIN vendedor ON vendedor.codigo=nf.codigovendedor WHERE nf.TipoNF = 2 AND nf.NFe_Complementar <> 3 AND nf.TransmissaoPropria = 'Sim' AND nf.codigoloja IN(1) AND nf.dataemissao BETWEEN '2024-02-01' AND '2024-02-29' and nf.Status not in(6,9)

Nota Fiscal de Devolução de Cliente - (Transmissão Própria = Não)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, 0 as ValorTotal, (0) AS ValorDeconto,(0) AS ValorAcrescimo, (0) as ValorFrete, (nf.valortotal - ifnull(nf.ValorFrete,0)) as ValorDevolucao, (nf.valortotal - ifnull(nf.ValorFrete,0)) -1 AS ValorFinal, faturamento.Dinheiro -1 AS Dinheiro, faturamento.Prazo -1 as Prazo, faturamento.Cartao -1 as Cartao, faturamento.ChequeVista * -1 as ChequeVista, 1 AS Qtde_Ped FROM nf INNER JOIN terminal ON terminal.codigo=nf.Codigoterminal INNER JOIN cadastroestoque ON cadastroestoque.codigo=nf.codigoestoque INNER JOIN loja ON loja.codigo=nf.codigoloja INNER JOIN faturamento ON (faturamento.codigoorigem=nf.codigo AND faturamento.tipoorigem=12) LEFT JOIN vendedor ON vendedor.codigo=nf.codigovendedor WHERE nf.TipoNF = 2 AND nf.NFe_Complementar <> 3 AND nf.TransmissaoPropria = 'Não' AND nf.codigoloja IN(1) AND nf.dataentrada BETWEEN '2024-02-01' AND '2024-02-29' and nf.Status not in(6,9)

Nota Fiscal de Devolução de Cliente - (Transmissão Própria = Não - NF-e Ajuste)

SELECT vendedor.Codigo, vendedor.codalternativo AS CodalternativoVendedor,vendedor.vendedor AS NomeVendedor, 0 as ValorTotal, (0) AS ValorDeconto,(0) AS ValorAcrescimo, (0) as ValorFrete, (nf.valortotal - ifnull(nf.ValorFrete,0)) as ValorDevolucao, (nf.valortotal - ifnull(nf.ValorFrete,0)) -1 AS ValorFinal, faturamento.Dinheiro -1 AS Dinheiro, faturamento.Prazo -1 as Prazo, faturamento.Cartao -1 as Cartao, faturamento.ChequeVista * -1 as ChequeVista, 1 AS Qtde_Ped FROM nf INNER JOIN terminal ON terminal.codigo=nf.Codigoterminal INNER JOIN cadastroestoque ON cadastroestoque.codigo=nf.codigoestoque INNER JOIN loja ON loja.codigo=nf.codigoloja INNER JOIN faturamento ON (faturamento.codigoorigem=nf.codigo AND faturamento.tipoorigem=12) LEFT JOIN vendedor ON vendedor.codigo=nf.codigovendedor WHERE nf.TipoNF = 2 AND nf.NFe_Complementar <> 3 AND nf.TransmissaoPropria = 'Não' AND nf.codigoloja IN(1) AND nf.dataentrada BETWEEN '2024-02-01' AND '2024-02-29' and nf.Status not in(6,9)

Nota: As consultas SQL demonstradas acima sofrem alterações mediante aos filtros aplicados pelo usuário tendo de ser interpretadas para que seja possível identificar o resultado do relatório.