Manual de Integração » Histórico » Versão 11
« Anterior -
Versão 11/295
(diff) -
Próximo » -
Versão atual
Anônimo, 02/05/2013 18:39 h
Manual de Integração¶
Versão: 1.1.0 (2012-04-25)
ÍndiceIntroduçã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 contato@ibtech.inf.br 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 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 |
String | 255 | ||
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.
- 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.
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 | |
nome | String | 255 | Nome do cliente |
situacao | Integer | Situação do cadastro do cliente: 0 - Inativo, 1 - Ativo, 2 - Bloqueado | |
codRepres1 | String | 255 | Código do Representante no ERP |
codRepres2 | String | 255 | Código do Representante no ERP |
codRepres3 | String | 255 | Código do Representante no ERP |
telefone | String | 255 | Telefone de Contato |
String | 255 | ||
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 |
dataCadastro | Date | Data de Cadastro do Cliente |
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.
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 |
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).
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. |
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 totalizando 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:
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