Projeto

Geral

Perfil

Manual de Integração » Histórico » Versão 163

« Anterior - Versão 163/295 (diff) - Próximo » - Versão atual
paulo, 26/05/2022 17:30 h


Manual de Integração

Manual do Cliente

Envio de Duplicatas
Portal de Clientes - API
CRM
Digitação de Pedidos
Digitação de Pedidos - Imagens dos Produtos
Loja Virtual - B2B
Loja Virtual - B2C
Loja Virtual - Imagens
Loja Virtual - Estilos (Layout Personalizado)
Loja Virtual - Login Externo
Produção
Gestão de Cobrança
Gestão de Crédito

Índice
  1. Condição de Vendas
  2. País
  3. Introdução
  4. Acesso via JDBC
  5. Tabelas de Integração
    1. Representantes
    2. Municípios do Representante
    3. Municípios do ERP
    4. Clientes e Prospects
    5. Cliente Dos Representantes
    6. Marcas do Cliente
    7. Coleções
    8. Linhas de Produto
    9. Marcas
    10. Vendas
    11. Liquidez (depreciado)
    12. Faturamento - Contrato
    13. Meta do Representante
    14. Meta do Escritório

Introdução

O presente documento tem por objetivo orientar as empresas de ERP na geração dos arquivos e/ou tabelas necessárias para integração com o IGS.

Atenção!! Os campos que estiverem com a descrição "Campo Específico" retornar null, salvo se for combinado algo diferente com a IBTech durante o processo.

Dúvidas ou maiores esclarecimentos podem ser obtidos pelo e-mail ou pelo telefone (47) 3370-0504.

Conexões DB

JDBC pré-requisito: Suporte por parte do Banco de Dados da Empresa fornecedora do ERP a acesso JDBC.

Na integração via JDBC a fornecedora de ERP deve disponibilizar para a IBTech tabelas (ou visões) conforme os layouts especificados neste documento, também deverá fornecer um usuário e senha que tenha permissão de consulta nas referidas tabelas ou visões. A IBTech fará acesso via JDBC à base de dados do cliente para extrair as informações.

API: Para conexões via API ou outra solução que não seja JDBC favor entrar em contato com a IBTech pelo e-mail ou pelo telefone (47) 3370-0504.

Tabelas de Integração

Todas as tabelas/visões tem um campo chamado “codEmpresa” que separa a geração dos dados entre as possíveis várias empresas que o cliente tenha na mesma base de ERP.

Observação: Os campos com asterisco (*) compõem a “primaryKey” e podem ser enviados como String ou Integer dependendo da necessidade do cliente.

Seguem os layouts das tabelas/visões

Representantes

Esta tabela/visão será utilizada para carregar no IGS a lista de representantes. Não é uma integração obrigatória, pois o cliente pode digitar os representantes diretamente no IGS.

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codRepres * String/Integer 255 Código do Representante no ERP
nome String 255 Nome do Representante
telefone String 255 Telefone de Contato
email String 255 E-Mail
endereco String 255 Rua + Número do endereço do Representante
bairro String 255 Bairro do Endereço do Representante
CEP String 8 CEP do endereço do Representante
Cidade String 255 Nome da Cidade do Endereço do Representante
UF String 2 Sigla da UF da Cidade
codIBGE String 7 Codigo do IBGE da Cidade
situacao Integer Situação do cadastro do representante: 0 - Inativo, 1 - Ativo
Cod Repres Agrupador String 255 Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech
telefone 2 String 255 Telefone de Contato 2
telefone 3 String 255 Telefone de Contato 3
codigoAdministrador String 255 Código do administrador do representante no erp
cnpj String 255 CNPJ do representante
codAgrupadorEscritorio String 255 Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech
flagAgrupadorMaster Integer 0 - Não, 1 - Sim (Somente um por grupo) / Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech
percComissa Double Percentual de comissao
codigoPessoaFisica String 255 Código que representa o cadastro da pessoa fisica do reperesentante
nomePessoaFisica String 255 Nome da pessoa fisica
senhaAPi Senha API
Origem Origem
fantasia String 255 Nome fantasia
empresaIntegracaoPedido String 255 Código da empresa que será integrado os pedidos
marcas String 255 Códigos das marcas do representante, separados por ',' e sem espaços. Ex..: '10,20,30'
codTabelaPrecoFOB String 255 Tabela preço FOB do representante
codTabelaPrecoLanded String 255 Tabela preço Landed do representante

Municípios do Representante

Tabela/visão com a relação dos municípios que o representante atende. Esta não é uma integração obrigatória.
Atenção! Tabela não obrigatória. Retornar apenas se existir no ERP.

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codRepres * String/Integer 255 Código do Representante no ERP
codIBGE String 7 Codigo do IBGE da Cidade
nomeDistrito String 255 Nome da Cidade ou Distrito

Municípios do ERP

Tabela/visão com a relação dos municípios do ERP. Esta não é uma integração obrigatória.
Atenção! Tabela não obrigatória. Retornar apenas se for solicitada.

Campo Tipo Precisão Descrição
codIBGE* String 7 Codigo do IBGE da Cidade
codCidadeERP* String 255 Código da Cidade no ERP
codIBGERegiao String 255 Código da sub-região no ERP (somente quando trabalha com sub-regiões / distritos)

Clientes e Prospects

Tabela/visão com a relação dos clientes e prospects.
Podem ser listados clientes ativos ou inativos dependendo da necessidade do cliente.

Situação: O conceito de situação do cliente para o IGS é:
  • 0-Inativo: Cliente que não está comprando, mas pode voltar a comprar
  • 1-Ativo: Cliente com compra regular
  • 2-Bloqueado: Cliente com restrições (ex: crédito) ou "Clientes que não interessam a empresa"
    Caso seu ERP tenha somente os clientes ativos e inativos, retorne desta forma.

Representante: Só usar os campos codRepres2 e codRepres3 caso o cliente tenha variação de representante por linha de produto

num Campo Tipo Precisão Descrição
1 codEmpresa * String/Integer 10 Código da Empresa origem dos dados
2 codIBGE String 7 Codigo do IBGE da Cidade
3 codCliente * String/Integer 255 Codigo do Cliente ou Prospect no ERP.
4 tipo Integer Tipo de registro: 1 - Cliente, 2 - Prospect
5 nome String 255 Nome do cliente
6 situacao Integer Situação do cadastro do cliente: 0 - Inativo, 1 - Ativo, 2 - Bloqueado
7 codRepres1 String 255 Código do Representante Principal no ERP
8 codRepres2 String 255 Código do Representante 2 no ERP
9 codRepres3 String 255 Código do Representante 3 no ERP
10 telefone String 255 Telefone de Contato
11 email String 255 E-Mail
12 endereco String 255 Rua
13 bairro String 255 Bairro do Endereço do cliente
14 CEP String 8 CEP do endereço do cliente
15 dataCadastro Date Data de Cadastro do Cliente
16 cnpjCpf String 255 CNPJ ou CPF do cliente
17 emailCobranca String 255 Endereço de e-mail de cobrança. Não Obrigatório
18 nomeDistrito String 255 Nome do Distrito (para o caso de São Paulo, os bairros – para o caso de Brasília, os Distritos)
Se o seu sistema não tiver esta informação, retornar o bairro.
19 celular String 255 Numero do Celular
20 inscricaoEstadual String 255 Inscrição estadual do cliente
21 enderecoNumero String 255 Número do endereço do cliente
22 complemento String 255 Complemento do endereço
23 IndicePontualidade Number 5,2 Indice de Pontualidade. Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech
24 telefone2 String 255 Telefone 2. Se não existir o campo, retornar null
25 telefoneCobranca String 255 Telefone de cobrança. Se não existir o campo, retornar null
26 grupoCliente String 255 Grupo Economico do Cliente (conforme regra de negócio de cada empresa). Se o seu ERP não tem isso, retornar null
27 codClientePrincipal String 255 Código do cliente principal do Grupo Economico (conforme regra de negócio de cada empresa). Se o seu ERP não tem isso, retornar null
28 situacaoEdt String 255 Descrição da Situação
29 nomeGrupoCliente String 255 Nome do Grupo Economico do Cliente (conforme regra de negócio de cada empresa). Se o seu ERP não tem isso, retornar null
30 flagInadimplente Integer 0 - Não / 1 - Sim. Conforme regra da empresa. Não obrigatório para o GeoVendas
31 cidade String cidade do cliente
32 uf String UF do cliente
33 nomeFantasia String Nome Fantasia do cliente. Não obrigatório
34 ramoAtividade String Descrição do Ramo de atividade do cliente. Não obrigatório. Se não tiver retornar null
35 dataPrimeiraCompra Date Não obrigatório. Retornar apenas se for um campo fácil de ser buscado. Se não tiver retornar null
36 dataUltimaCompra Date Não obrigatório. Retornar apenas se for um campo fácil de ser buscado. Se não tiver retornar null
37 maiorCompra Double Retornar o valor da maior Compra do Cliente. Não obrigatório. Retornar apenas se for um campo fácil de ser buscado. Se não tiver retornar null
38 maiorAcumulado Double Retornar o valor do maior Acumulo deste cliente. Não obrigatório. Retornar apenas se for um campo fácil de ser buscado. Se não tiver retornar null
39 codClienteERP String 255 Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Codigo do cliente dentro do ERP. Retornar apenas se for um campo fácil de ser buscado. Caso contrário, retornar null. Geralmente, é o mesmo valor do campo codCliente.
40 codRamoAtividade String 255 Código do Ramo de atividade do cliente. Não obrigatório. Se não tiver retornar null.
41 limiteCredito Double Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Limite de crédito do cliente.
42 ultimoFaturamento Date
43 dataReativacao Date
44 codSitCreditoERP Integer 10
45 descSitCreditoERP String 255
46 motivoInativo String 255 Motivo cujo o qual o cliente foi inativado no ERP. Não obrigatório. Se não tiver retornar null
47 diasVencimentoTitulo Integer Dias Vencimento de Titulo.
48 socios String Sócios, separdos por vírgula.
49 cidadeGrupoCliente String 255 Cidade do Grupo Economico do Cliente (conforme regra de negócio de cada empresa). Se o seu ERP não tem isso, retornar null
50 classificacaoERP String 255 Classificação do Cliente segundo o ERP. Se o seu ERP não tem isso, retornar null
51 instagram String 255 Instagram do Cliente segundo o ERP. Se o seu ERP não tem isso, retornar null
52 facebook String 255 Facebook do Cliente segundo o ERP. Se o seu ERP não tem isso, retornar null

Cliente Dos Representantes

integracao utilizada para quando existir mais de 1 cliente por representante

Campo Tipo Precisão Descrição
Codempresa String 255 Codigo da Empresa
CodigoCliente String 255 Código do Cliente
CodigoRepres String 255 Código do Representante
FlagEPrincipal int Flag, 1 é o representante principal, 0 é preposto

Cliente e Prospect - Histórico
Atenção! Tabela específica. Retornar apenas se for combinado algo com a IBTech

Campo Tipo Precisão Descrição
dataAlteracao Date Data da Alteração
horaAlteracao Date Hora da Alteração
codUsuario String 255 Código do Usuário
nomeUsuario String 255 Nome do usuário
situacao String 255 Código da Situação
situacaoEdt String 255 Descrição da Situação

Lista de Parâmetros:

Campo Parâmetro Tipo Precisão Descrição
codEmpresa :p1 String 255 Código da Empresa
codCliente :p2 String 255 Código do Cliente

Marcas do Cliente
Atenção! Tabela específica. Retornar apenas se for combinado algo com a IBTech

Tabela com a relação de marcas do cliente, conforme vendas.

Campo Tipo Precisão Descrição
codEmpresa * String 255 Código da Empresa origem dos dados
codCliente * String 255 Codigo do Cliente
codMarca * String 255 Código da Marca

Coleções

Tabela/visão com a relação das coleções.

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codColecao * String 255 Codigo da coleção
nome String 255 Nome da coleção
situacaoForcaVendas Integer 255 Campo responsável por ativar a coleção para o força de vendas. 0 - Coleção inválida para venda 1 - Coleção válida para venda.
qtdReferencia Integer 255 Quantidade de Referências por coleção

Linhas de Produto

Lista das linhas de produtos que tiveram dados gerados.
Entendesse como Linha de Produto a forma adotada pela empresa detentora do ERP para dividir seus produtos em grupos! Em caso de confecções, por exemplo, pode-se utilizar os critérios de (Infantil, Masculino, Feminino,etc.)

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codLinha * String 255 Codigo da linha de produto
nome String 255 Nome da linha de produto

Marcas

Integração Opcional - Confirme com a IBTech a necessidade de criar esta integração.
Lista de marcas por empresa.

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codMarca * String 255 Código da marca
nome String 255 Nome da marca

Vendas

Esta é a principal tabela do processo de integração. Ela deverá armazenar os dados necessários para apresentação dos valores relativos às vendas realizadas.
Geralmente é gerada em cima dos pedidos de venda. Caso o ERP não consiga gerar os dados com base nos pedido de venda, deveremos acionar o cliente para definir outra tabela para extração dos dados (Exemplo: Notas Fiscais).
Caso a geração seja por coleção (no caso de Confecções, por exemplo), a fornecedora de ERP deve manter uma configuração onde o cliente deverá informar de quais coleções as informações devem ser geradas.
Caso a geração seja por período, deve-se definir com o cliente de qual período ele quer as informações (ultimo ano, últimos 2 anos, etc).

Prazo Médio: Média em dias do prazo de pagamento (condição de pagamento). Por exemplo, condição 30/60/90: 30+60+90 = 180, 180 / 3 parcelas = 60 dias.

Campos Coringa: Os campos coringa são definidos no momento da implantação, para a primeira integração deve-se retornar nestes campos valor nulo (NULL).

Observação: Os campos com asterisco (*) deverão ser agrupados(group by) e os demais somados (sum).

Col Campo Tipo Precisão Descrição
1 codEmpresa * String/Integer 10 Código da Empresa origem dos dados
2 codColecao * String 255 Código da Coleção sobre a qual estamos gerando os dados.
3 dataReferencia * Date 255 Armazena a data de emissão do Pedido de Venda. (Caso a geração seja em cima das notas fiscais, deverá armazenar a data de emissão da Nota Fiscal)
4 codLinha * String 255 Código da Linha de Produto. Define-se com o cliente o que ele quer gerar como linha de produto.
5 codRepres * String/Integer 255 Código do Representante no ERP
6 codCliente * String/Integer 255 Codigo do Cliente
7 codIBGE * String 7 Codigo do IBGE da Cidade do Cliente
8 UF * String 2 Sigla da UF da Cidade do Cliente
9 valorBruto Double Valor Bruto das Vendas
10 valorLiquido Double Valor Liquido das Vendas (ex: Valor Bruto - Valor Descontos)
11 valorDesconto Double Valor de Descontos das Vendas
12 valorComissao Double Valor de Comissão das Vendas
13 prazoMedioXValor Double Valor Líquido das Vendas multiplicado pelo Prazo Médio de pagamento.
14 quantidade Double Quantidade de Peças das Vendas
15 nomeCliente * String 255 Nome do Cliente
16 codPedido * String 255 Código do Pedido
17 codProduto * String 255 Código do produto ou referência
18 campoCoringa1 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
19 campoCoringa2 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
20 campoCoringa3 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
21 dataPrevFaturamento Date Data de Previsão de Faturamento
22 nomeDistrito * String 255 Nome do Distrito (para o caso de São Paulo, os bairros – para o caso de Brasília, os Distritos)
Se o seu sistema não tiver esta informação, retornar o bairro.
23 grupoCliente String 255 Grupo Econômico do Cliente (conforme regra de negócio de cada empresa). Se o seu ERP não tem isso, retornar null
24 valorRentabilidade Double Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Valor da Rentabilidade do Pedido. Se o seu ERP não tem rentabilidade por pedido, retornar null
25 dataUltFaturamento Date Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Data do último faturamento do Pedido. Retornar apenas se for uma informação fácil
26 valorFaturado Double Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Valor já Faturado do pedido
27 valorSaldo Double Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Valor Saldo
28 codMarca * String 255 Código da Marca do Produto
29 nomeGrupoCliente String 255 Descrição do Grupo do Cliente
30 dataEmissao Date Data de Emissão do Pedido
31 codRepresAgrupador String 255 Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Código do representante agrupador (atacado)
32 flagPolitica Integer Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Pedido de acordo com a politica comercial (0 - não / 1 - sim)
33 codTabPreco String 255 Código da Tabela de Preço
34 qtdeItens Double Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Quantidade de Itens do Pedido
35 qtdeEmQuilos Double Campo Específico. Retornar null , salvo alguma orientação diferente da IBTech. Quantidade de Peças das Vendas em Quilos
36 cidadeGrupoCliente String 255 Cidade do Grupo Economico do Cliente (conforme regra de negócio de cada empresa). Se o seu ERP não tem isso, retornar null
37 campoCoringa4 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
38 campoCoringa5 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
39 campoCoringa6 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
40 situacaoPedido String 255 Situacao do Pedido no ERP
41 dataUltimaNF Date 255 Data da ultima nota fiscal do pedido
42 numeroUltimaNF String 255 Numero da ultima nota fiscal do pedido
43 pedidoCliente String 255 Código do Pedido de controle do cliente
44 pedidoRepresentante String 255 Codigo do Pedido de controle do representante
45 percComissaoAtendente Double Percentual de comissão do atendente

Liquidez (Deprecated)

Listar dados totalizando os valores a receber e os valores recebidos agrupando por representante. Normalmente estes registros são provenientes do cadastro de contas a receber.
A Liquidez resume-se a:
- O Valor a vencer no período e pago dividido pelo a vencer no período.
- Não entra no cálculo da Liquidez os títulos pagos fora do período de vencimento.

Importante! Este SQL possui parâmetros.

Layout da tabela/visão:

Campo Tipo Precisão Descrição
codRepres * String/Integer 255 Código do Representante no ERP
valorAReceber Double Valor a receber acumulado por representante
valorRecebido Double Valor recebido acumulado por representante

Lista de Parâmetros:

Formato sugerido de data: dd/mm/yyyy (31/12/2013)

Parâmetro Tipo Precisão Descrição
:pCodEmpresa String/Integer 10 (opcional) Código da empresa no ERP
:pDataInicio String 10 Data inicial para filtrar o vencimento e pagamento (formato a combinar)
:pDataFim String 10 Data final para filtrar o vencimento e pagamento (formato a combinar)

Exemplo:

Supondo que o ERP possua duas tabelas/visões, uma para Contas a Receber e outra para Contas Recebidas. Então devera ser feito um UNION das duas tabelas a fim de facilitar a manutenção do SQL:

Observação: Note que usamos uma função “to_date” que converte o valor String para o formato data, utilize uma função compatível com o seu banco. Caso seja necessário utilizar outro formato, favor entrar em contato com a IBTech para configuração.

SELECT codRepres, sum(valorAReceber), sum(valorRecebido)
FROM (
        SELECT codRepres,
                valorTitulo as valorAReceber,
                0.0 as valorRecebido
        FROM ContasAReceber
        WHERE codempresa = :pCodEmpresa
        AND dataVecto >= to_date(:pDataInicio,'dd/mm/yyyy')
        AND dataVecto <=to_date(:pDataFim,'dd/mm/yyyy')
        UNION ALL
        SELECT codrepres,
                0.0 as valorAReceber,
                sum(valorTitulo) as valorRecebido
        FROM ContasRecebidas
        WHERE codempresa = :pCodEmpresa
        AND dataPagto >= to_date(:pDataInicio,'dd/mm/yyyy')
        AND dataPagto <=to_date(:pDataFim,'dd/mm/yyyy')
        AND dataVecto >= to_date(:pDataInicio,'dd/mm/yyyy')
        AND dataVecto <=to_date(:pDataFim,'dd/mm/yyyy')
)
GROUP BY codRepres

Faturamento - Contrato

Atenção! Tabela específica. Retornar apenas se for combinado algo com a IBTech

Campo Tipo Precisão Descrição
codRepres * String/Integer 255 Código do Representante no ERP
qtdeFaturada Double Quantidade Faturada
valorFaturado Double Valor Faturado

Lista de Parâmetros:

Parâmetro Tipo Precisão Descrição
:p1 String/Integer 10 (opcional) Código da empresa no ERP
:p2 String 10 Data inicial para filtrar a emissão da nota fiscal
:p3 String 10 Data final para filtrar a emissão da nota fiscal
#COLECOES String 10 Coleção da nota fiscal
#MARCAS String 10 Marca da nota fiscal
#LINHAS String 10 Linha da nota fiscal
#CORINGA1 String 10 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
#CORINGA2 String 10 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
#CORINGA3 String 10 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech

Meta do Representante

Atenção! Tabela específica. Retornar apenas se for combinado algo com a IBTech

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 255 Código da empresa
codColecao * String 255 Código da coleção no ERP.
codMarca String 255 Código da marca no ERP.
codRepres * String/Integer 255 Código do Representante no ERP
metaValor Double Meta em valor do representante
metaQtde Double Meta em quantidade do representante
metaPrecoMedio Double Meta em preco médio do representante

Meta do Representante - Linha de Produto
Atenção! Tabela específica. Retornar apenas se for combinado algo com a IBTech

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 255 Código da empresa
codColecao * String 255 Código da coleção no ERP.
codMarca String 255 Código da marca no ERP.
codRepres * String/Integer 255 Código do Representante no ERP
codLinha Double Código da linha de produto no ERP.
percMeta Double Percentual de representatividade da linha sobre a meta geral

Meta do Escritório

Atenção! Tabela específica. Retornar apenas se for combinado algo com a IBTech

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 255 Código da empresa
codColecao * String 255 Código da coleção no ERP.
codMarca String 255 Código da marca no ERP.
codEscritorio * String/Integer 255 Código do escritório de representação no ERP
metaValor Double Meta em valor do escritório
metaQtde Double Meta em quantidade do escritório
metaPrazoMedio Double Meta em prazo médio do escritório

Lista de Parâmetros:

Parâmetro Tipo Precisão Descrição
:p1 String/Integer 10 (opcional) Código da empresa no ERP
:p2 String 10 Data inicial para filtrar a emissão da nota fiscal
:p3 String 10 Data final para filtrar a emissão da nota fiscal
#COLECOES String 10 Coleção da nota fiscal
#MARCAS String 10 Marca da nota fiscal
#LINHAS String 10 Linha da nota fiscal
#CORINGA1 String 10 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
#CORINGA2 String 10 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
#CORINGA3 String 10 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech

Valores para Cálculo Desconto Fidelidade Acumulativa

Deve retornar o valor total somado, agrupado por cliente e data a ser considerada para o cálculo de desconto acumulativo por cliente
Parâmetro obrigatório :p1 e :p2, codEmpresa e data limite cujo a qual o sistema irá considerar os registros para cálculo, ultima dia do mês anteiror ao calculo. os vide exemplo abaixo.

Campo Tipo Precisão Descrição
data Date Data vigente da compra, dependendo do cliente pode ser considerada a data de emissão, de faturamento
codCliente Varchar 255 Código do cliente
valor Double Valor somado por cliente e data

Ex:

SELECT DataEmissao,
codCliente,
SUM(valorBruto)
FROM (
select date_trunc('month', dataEmissao) DataEmissao,
codCliente, 
valorBruto
FROM ETLPedido pedido
WHERE pedido.codEmpresa = :p1
AND pedido.dataEmissao<=:p2) Pedidos
GROUP BY DataEmissao,codCliente
ORDER BY codCliente, DataEmissao DESC

Ranking de referências

Ranking de referências mais vendidas, homologado somente no ERP Virtual Age.
O SQL deve retornar a grade da referencia completa sem repetir os campos de grade.
Apenas um registro por SKU.

Campo Tipo Precisão Descrição
codReferencia * String 255 Código da referência
descricao String 255 Descrição da referência
codSortimento * String 255 Código do sortimento
descSortimento String 255 Descrição do sortimento
seqTamanho * String 255 Código do tamanho
codTamaho String 255 Descrição do tamanho
quantidade Double Quantidade vendida
valorLiquido Double Valor líquido vendido
valorBruto Double Valor bruto vendido
preco Double Valor unitário do produto, baseado na tabela de preço selecionada
comissaoMedia Double Comissão média do produto
prazoMedio Double Prazo médio vendido
codFicha Double Código da ficha

Lista de parâmetros

Parâmetro Tipo Precisão Descrição
#COLECOES / #COL_NULL * String 10 Coleções para filtro de vendas
#MARCAS / #MARC_NULL String 10 Marca para filtro de vendas
#REPRESENTANTES / #REPRES_NULL String 10 Representantes para filtro de vendas
#UFS / #UF_NULL String 10 Estados para filtro de vendas
#TABELASPRECO * / #TABPRECONULL String 10 Tabela de preço para filtro de vendas
#DATAINICIO / #DATAINI_NULL String 10 Data de emissão inicial para filtro de vendas
#DATAFINAL / #DATAFIM_NULL String 10 Data de emissão final para filtro de vendas
#LINHAS / #LINHA_NULL String 10 Linha de produto para filtro de vendas
#CORINGA1 / #CPCOR1_NULL String 10 Coringa número 1 para filtro de vendas
#CORINGA2 / #CPCOR2_NULL String 10 Coringa número 2 para filtro de vendas
#CORINGA3 / #CPCOR3_NULL String 10 Coringa número 3 para filtro de vendas
#CORINGA4 / #CPCOR4_NULL String 10 Coringa número 4 para filtro de vendas
#CORINGA5 / #CPCOR5_NULL String 10 Coringa número 5 para filtro de vendas
#CORINGA6 / #CPCOR6_NULL String 10 Coringa número 6 para filtro de vendas

Exemplo de sql:

SELECT grupo.cdNivel as codReferencia,
       grupo.dsNivel as descReferencia,
       grade.cdCor as seqSortimento,
       grade.dsCor as descSortimento,
       grade.cdTamanho as seqTamanho,
       grade.dsTamanho as descTamanho,
       cast(sum(vendaItem.qtSolicitada - vendaItem.qtCancelada) as numeric) AS quantidade,
       sum(round(cast(((vendaItem.qtSolicitada - vendaItem.qtCancelada) * vendaItem.vlUnitario) * ((100 - venda.prDesconto) / 100) as numeric), 4)) as valorLiquido, 
       sum(round(cast((vendaItem.qtSolicitada - vendaItem.qtCancelada) * vendaItem.vlUnitario as numeric), 4)) as valorBruto,
       sum(round(cast((vendaItem.qtSolicitada - vendaItem.qtCancelada) * vendaItem.vlUnitario as numeric), 4)) as valorUnitarioBruto,
       0 as comissaoMedia,
       0 as prazoMedio,
       '' as codFicha
FROM ProdutoGrupoAdicionalVAEntity grupo
JOIN ProdutoGradeVAEntity grade ON grade.cdProduto = grupo.cdProduto
JOIN ProdutoClassificacaoVAEntity linha on grupo.cdProduto = linha.cdProduto and linha.cdTipoClass = 75
JOIN VendaItemVAEntity vendaItem ON vendaItem.cdProduto = grupo.cdProduto
JOIN VendaVAEntity venda ON venda.cdEmpresa = vendaItem.cdEmpresa AND venda.cdPedido = vendaItem.cdPedido
JOIN VendaClassificacaoVAEntity colecao ON vendaItem.cdEmpresa = colecao.cdEmpresa AND venda.cdPedido = colecao.cdPedido AND colecao.cdTipoClass = 1
JOIN ETLProdutoTabelaPreco tabelaPrecoProduto ON tabelaPrecoProduto.codProduto = CAST(grupo.cdProduto as text)
JOIN ETLProdutoTabelaPreco tabelaPrecoProdutoBase ON tabelaPrecoProdutoBase.codProduto = CAST(grupo.cdProduto as text) AND ((tabelaPrecoProdutoBase.codTabelaPreco = #TABELAPRECOBASE) OR (#TABPRECOBASENULL IS NULL))
JOIN PessoaVAEntity pessoa ON pessoa.cdPessoa = venda.cdCliente
JOIN PessoaEnderecoVAEntity pessoaEndereco ON pessoaEndereco.cdPessoa = pessoa.cdPessoa AND pessoaEndereco.nrSequencia = (SELECT MIN(nrSequencia) FROM PessoaEnderecoVAEntity WHERE pessoa.cdPessoa = cdPessoa)
WHERE ((tabelaPrecoProduto.codTabelaPreco IN (#TABELASPRECO)) OR (#TABPRECONULL IS NULL))
  AND ((colecao.cdClassificacao IN (#COLECOES)) OR (#COL_NULL IS NULL))
  AND ((linha.cdClassificacao IN (#LINHAS)) OR (#LINHA_NULL IS NULL))
  AND ((cast(venda.cdRepresentant as text) IN (#REPRESENTANTES)) OR (#REPRES_NULL IS NULL))
  AND ((venda.dtPedido >= to_date(#DATAINICIO, 'yyyy-mm-dd')) OR (#DATAINI_NULL IS NULL))
  AND ((venda.dtPedido <= to_date(#DATAFINAL, 'yyyy-mm-dd')) OR (#DATAFIM_NULL IS NULL))
  AND ((pessoaEndereco.ufSigla IN (#UFS)) OR (#UF_NULL IS NULL))
GROUP BY 1, 2, 3, 4, 5, 6

Como o resultado é esperado:
Ex:

codReferencia codSortimento seqTamanho quantidade valorLiquido valorBruto preco comissaoMedia prazoMedio
001 00009 1 580 14.500 29.000 50.00 0 80
001 00009 2 580 14.500 29.000 50.00 0 80
001 00009 3 580 14.500 29.000 50.00 0 80
001 00009 4 580 14.500 29.000 50.00 0 80

Condição de Vendas

Tabela/visão com a relação das condições de vendas. Esta não é uma integração obrigatória.

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codigo * String/Integer 255 Código da condição de venda
nome * String 7 Nome da Condição
qtdeParcelas * String 255 Quantidade de parcelas
prazoMedio * String 255 Prazo médio
ativo String 255 Situação da condição de venda
parcelas String 255 Parcelas (Para Sispla/TI Empresarial colocar condição separadas por espaço. Ex: 30 60 ou 30 60 90)

País

Tabela/visão com a relação dos países. Esta não é uma integração obrigatória, somente se for exportação do B2B.

Campo Tipo Precisão Descrição
codigo * String/Integer 255 Código do país
nome * String text Nome do país