Projeto

Geral

Perfil

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

« Anterior - Versão 8/295 (diff) - Próximo » - Versão atual
matheusk, 26/04/2013 11:11 h


Manual de Integração

Versão: 1.1.0 (2012-04-25)

Índice
  1. Introdução
  2. Acesso via JDBC
  3. Tabelas de Integração
    1. Representantes
    2. Municípios do Representante
    3. Clientes e Prospects
    4. Coleções
    5. Linhas de Produto
    6. Vendas
    7. Liquidez

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.

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

Acesso via 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.

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 asteriscos (*) compõem a “primaryKey” e poderão serem enviados como String ou Integer dependendo da necessidade do cliente.

Seguem os layouts das tabelas/visões

Representantes

Esta tabela 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

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.

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

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 da situação para o IGS é:
  • Inativo: Cliente que não está comprando, mas pode voltar a comprar
  • Ativo: Cliente com compra regular
  • 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.
Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codIBGE String 7 Codigo do IBGE da Cidade
codCliente * String/Integer 255 Codigo do Cliente ou Prospect
tipo Integer Tipo de registro: 1 - Cliente, 2 - Prospect
codRepres1 String 255 Código do Representante no ERP
nome String 255 Nome do cliente
telefone String 255 Telefone de Contato
email String 255 E-Mail
endereco String 255 Rua + Número do endereço do cliente
bairro String 255 Bairro do Endereço do cliente
CEP String 8 CEP do endereço do cliente
situacao Integer Situação do cadastro do cliente: 0 - Inativo, 1 - Ativo, 2 - Bloqueado

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

Linhas de Produto

Lista das linhas de produtos que tiveram dados gerados.

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

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 em pedido de venda devemos acionar o cliente para definir qual outra tabela iremos usar de base (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 (caso de outros ramos de negócio), 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 primeira integração deve-se retornar nestes campos valor NULL.

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

Campo Tipo Precisão Descrição
codEmpresa * String/Integer 10 Código da Empresa origem dos dados
codColecao * String 255 Código da Coleção sobre a qual estamos gerando os dados.
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)
codLinha * String 255 Código da Linha de Produto. Define-se com o cliente o que ele quer gerar como linha de produto. Em caso de confecções, por exemplo, pode-se utilizar os critérios de Infantil, Masculino, Feminino, Bebe, etc.
codRepres * String/Integer 255 Código do Representante no ERP
codCliente * String/Integer 255 Codigo do Cliente
codIBGE * String 7 Codigo do IBGE da Cidade do Cliente
UF * String 2 Sigla da UF da Cidade do Cliente
valorBruto Double Valor Bruto das Vendas
valorLiquido Double Valor Liquido das Vendas (ex: Valor Bruto - Valor Descontos)
valorDesconto Double Valor de Descontos das Vendas
valorComissao Double Valor de Comissão das Vendas
prazoMedioXValor Double Valor Líquido das Vendas multiplicado pelo Prazo Médio de pagamento.
quantidade Double Quantidade de Peças das Vendas
nomeCliente * String 255 Nome do Cliente
codPedido * String 255 Código do Pedido
codProduto * String 255 Código do produto ou referência
valorCoringa1 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
valorCoringa2 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech
valorCoringa3 * String 255 Campo valores diversos, inicialmente retornar NULL - Ver com IBTech

Liquidez

Listar dados totalizados os valores a receber e os valores recebidos agrupando por representante. Normalmente estes registros são provenientes do cadastro de contas a receber.

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:

Supomos que você possua duas tabelas, uma para Contas a Receber e outra tabela para Contas Recebidas. Então decidimos fazer 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 String para o campo data, utilize uma função compatível com o seu banco. Caso necessite de outro formato, o mesmo deve ser repassado a nossa equipe 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