A integração entre várias lojas é um projeto que está sendo desenvolvido pela Intelliware desde 2012, e inicialmente foram divididas em 3 etapas, ”Cadastro”, ”Movimentação” e ”Financeiro”.
Inicialmente é bom ressaltar que para existir qualquer tipo de integração, é preciso de um meio para interligar as empresas, esse meio pode ser Público (internet), ou Privado (rede local) quando a distâncias entre as empresas são próximas.
Devido ao custo de se criar uma rede privada com apenas alguns poucos quilômetros de distância, tomamos como base que seria usado em grande maioria o meio público, entretanto esse meio apresenta muitas dificuldades, a iniciar pela heterogenia das topologias (Fibra Ótica, Cabo, DSL, Radio, etc), e principalmente pela baixa latência, o que compromete muito a comunicação entre as empresas.
Foi definido, então, que não seria possível fazer uma base de dados centralizada onde as outras empresas se conectam para pode trabalhar.Devido a esses problemas foi idealizado uma arquitetura de replicação de dados que permitisse cada empresa trabalhar independentemente, enquanto um sistema integrador sincronizava as informações relevantes.
Cada empresa possuiria um servidor de banco de dados, dessa forma as operações pertinentes a empresa, funcionarão independente da conexão de internet. Entretanto para existir uma integração foram criadas regras de comunicação para viabilizar a integração.
Foi estabelecido que as trocas de dados são apenas no sentido vertical, isso ocorre para que exista integridade entre os dados, sem correr risco de existir dados espalhados entre as empresas, e esses dados serem diferentes da Matriz, que funcionaria como banco de dados centralizador.
Dessa maneira, podemos garantir que as informações integradas devem estar sempre no banco de dados da Matriz, e caso tenha ocorrido alguma falha de conexão, poderão existir dados apenas na empresa em que foi feita a operação, e estará aguardando a normalidade, para serem enviados a Matriz.
As consultas horizontais, em verde, são usadas apenas como apoio, para verificar alguma informação que ainda não está integrado a matriz.
Inicialmente essa integração foi realizada em 3 etapas:
Mas antes de entender como funciona essa integração é necessário primeiramente definir algumas configurações que iremos abordar a seguir.
A primeira coisa que deve ser feito é informar em todas as empresas quais são os endereço das Filiais e da Matriz através de um cadastro
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Cadastro→Matriz & Filiais |
Após acessar esse caminho aparecerá uma tela com um botão Novo:
Ao clicar em novo será aberta a interface abaixo, onde o usuário deverá preencher todas as informações. Se a empresa que estiver sendo cadastrada for a matriz é preciso marcar a opção “Matriz”.
O campo Número é apenas informativo, para identificar a empresa cadastrada, o IP é o endereço da empresa que está sendo cadastrada, o Alias é o alias do banco de dados da empresa e o campo Porta é a porta que foi configurada no servidor de sincronização.
Quando você faz esse cadastrado, o sistema cadastra no banco de dados na tabela agente, no entanto não é cadastrado na tabela empresa com o Id correspondente a cada empresa, então é necessário fazer essa cadastro manualmente diretamente no banco de dados. Isso deve ser feito tanto na base da matriz quanto das filiais.
Depois de configurar a base Matriz vamos configurar a base filial. É importante também realizar as configurações da Objeto na base das filiais.
Mais informações sobre Cadastro de Matriz e Filiais, Aqui.
1804 Utilizar Exportação de Matriz & Filiais = Essa configuração que é responsavel por guardar o log de alterações de cadastros a serem exportados.
2204 Exportar Dados para as Filiais Automaticamente = Quando essa configuração estiver como sim, não é preciso que o usuário faça a exportação.
Os dados são disponibilizados automaticamente para as filiais.
2424 Enviar Preço na Exportação Automática Matriz e Filiais = Essa configuração anda junto com a 2204, ou seja se utilizar exportação automatica
é preciso dizer se irá enviar o preço e custo dos itens.
2804 Importar Custo da Matriz = Informa se a filial importa o custo da matriz. Se essa configuração estiver como sim, mais a matriz não exporta o custo, não irá importar na filial.
3004 Importar Cadastros da Matriz = Essa configuração informa se a empresa importa os cadastros da matriz.
O menu de importação só ficara visivel caso essa configuração esteja como sim.
4003 Exportar Dados para Matriz = Informa se a empresa envia os dados para a matriz (Movimentações de estoque e Financeiro).
4103 Base Matriz = Informa se a base de dados é a Matriz.
4104 Exportar Vendas Não Conferidas para Matriz = Informa se a filial irá exportar as vendas não conferidas para a matriz.
4204 Importar Preço da Matriz = Informa se a filial importa o preço da matriz. Se essa configuração estiver como sim, mais a matriz não exporta o preço, não irá importar na filial.
Esta ferramenta tem a função de listar os cadastros da objetos que na filial representa um cadastro diferente da Matriz, pois ao sincronizar irá ficar igual ao da matriz.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Ferramentas→Configurar Objetos |
Ao clicar nesta opção aparecerá a seguinte interface:
Nessa interface será exibido os dados da Objetos da filial na esquerda e da matriz na direita.
Os registros que existirem em uma e não na outra, será inserida uma linha vermelha com descrição vazia para que possam ser visualizadas as diferenças e feita às correções para prosseguir na importação.
Ainda nessa interface temos um filtro para selecionar somente os registros que contém diferenças ou mostrar todos.
Para fazer as alterações basta selecionar na direita (matriz) os registros que deseja alterar e passar para esquerda (filial) com a seta.
Ainda nessa interface você pode visualizar três botões:
Uma vez feito às correções dos objetos, já pode iniciar a importação de cadastrado na filial, que pode ser de forma manual ou utilizando o sincronizador
Mais em Configurar Objetos.
Para fazer as comunicações entre matriz e filiais é preciso configurar o servidor “SvrSincronizador”. Junto com servidor temos um arquivo “SvrSincronizador.ini”, onde é feita a configuração. Nesse arquivo temos os seguintes parametros:
[Dados]
Path = alias do banco de dados
Pwd = senha do banco de dados criptografada
CharSet = CharSet do banco de dados (manter WIN1252)
UserName = usuário do banco de dados
[Servidor]
port= porta de comunicação do servidor
Após configurado o servidor, ao executalo temos a seguinte interface.
No grid de Conexões, mostras os usuários que estão conectados, e no grid exceções as exceções que tiveram no servidor. Na parte inferior mostra o banco de dados que o servidor está conectado a porta que está configurada e a data hora que ele foi inicializado.
O sincronizador é uma ferramenta que foi desenvolvida para automatizar o processo de integração de cadastros, e para viabilizar a sincronização das operações e financeiras.
O Sincronizador é um programa que executa em background, ou seja, fica sendo executado sem a intervenção do usuário. Deve existir apenas um Integrador por empresa, e este deve funcionar no servidor. Ele será o responsável por enviar as informações para a matriz.
O funcionamento do sincronizador será como descrito pelo fluxograma abaixo, o tempo de verificação deverá ser parametrizado em minutos de acordo com o poder de processamento do servidor e latência de sua internet. Caso falhe alguma comunicação, os dados ficarão aguardando a próxima sincronização.
A instalação do sincronizador é feita nas Filiais colocando o executável ”Sincronizador.exe” e seu arquivo de configuração ”Sincronizador.txt” juntos em um diretório (pode ser colocado junto com o executável do Intellicash).
No arquivo Sincronizador.txt deverá ser informado o ip da base, o Alias do Banco de dados e o ID da Empresa que irá conectar e a porta. Seguindo a sintaxe abaixo:
Ex. 192.168.0.144;FILIAL;2;5056
Tambem tem um arquivo de configuração das operações que o Sincronizador irá executar,o arquivo se chama “Sincronizador.ini”. O Arquivo ini contém a seguinte estrutura:
[Dados]
IMPORTAR=0 → Diz se será importado os cadastros da Matriz
EXPORTAR=0 → Diz ser irá exportar os cadastros para Matriz
OPERACOES=0 → Diz se irá exportar as operações (Detopcom) para Matriz
NOTAS=0 → Diz se irá exportar as notas fiscais para Matriz
PRECO=0 → Diz se irá exportar os preços dos itens para Matriz
FINANCEIRO=0 → Diz se irá exportar o financeiro para Matriz
Quando o sincronizador for executado, caso não exista o Sincronizador.ini, será automaticamente criado, porém com todas as opções negadas (valor = 0).
Ao alterar o arquivo .ini é preciso reiniciar o sistema.
Lembrando que ainda pode ser configurado o intervalo de tempo em milisegundos de cada fluxo completo. No exemplo abaixo, 5000 milisegundo representa 5 segundos.
Outra forma de se disponibilizar os cadastros para filiais é através do caminho:
Gerenciamento→Cadastro→Exportação Matriz→Filiais |
Ao clicar nesta opção aparecerá a seguinte interface:
Nessa interface podem ser exportados todos ou somente os alterados. Em ambas as abas os tipos de registros a serem exportados são os mesmos.
É necessário clicar no campo Exportar e selecionar quais registros serão exportados.
Você ainda encontra nessa tela a opção de exportar os produtos “Pesáveis” e “Valores”:
Para exportar produtos manualmente também podemos utilizar alguns filtros para facilitar na exportação, como filtrar por Grupo, SubGrupo, Seção, Etc.
Mais em Exportação Matriz → Filiais.
Todo cadastro realizado nas filiais também são exportados para a matriz a fim de manter sempre todo cadastro atualizado, porem ao exportar para matriz, caso já exista o cadastro, não será alterado, a filial só pode cadastrar dados na matri, nunca alterá-los.
As importações dos cadastros nas Filiais podem ocorrer de duas maneiras. Pelo Sincronizador: o sistema importar automaticamente os dados exportados pela Matriz sem intervenção do usuário.
Outra maneira é através da ferramenta no menu em:
Gerenciamento→Ferramentas→Importar cadastro da matriz |
Quando acessada, uma interface mostrará o que está sendo importado e assim que finalizar ela se fechará e liberará o acesso ao sistema. (Esse processo pode demorar dependendo do volume de dados a serem importados)
A seguir foi feito o módulo de integração de Operações, ou seja, as operações de entrada e saída dos produtos tanto por nota fiscal quanto por cupom fiscal.
Uma ressalva que deve ser feita é em relação a venda de cupom fiscal, devido ao volume muito alto de documentos, foi idealizado um agrupamento de dados, ou seja, no banco de dados da matriz não são exibidos os dados relativos ao cupom fiscal individualmente, mas o total vendido por dia por produto. Isso significa que na base de dados consolidado será exibido a informação que foi vendido 100 pacotes de arroz da marca X, mas não mostrará em quais cupons, nem em qual hora, etc.
Outra operação realizada é da exportação de preço, ao alterar o preço do produto nas filiais o mesmo é enviado para a matriz e exibido no campo onde mostra o Estoque conforme imagem abaixo.
Cada lançamento financeiro realizado em uma Filial será exportado para Matriz com o objetivo de centralizar dados e permitir uma melhor gestão das empresas. Com este módulo também será permitido realizar baixas dos títulos de outras empresas da rede possibilitando uma maior integração entre as mesmas.
Para que a integração de Matriz e Filiais funcione de forma correta se faz necessário configurar alguns parâmetros no sistema:
Interface usada em cada Filial para relacionar dados da Filial com dados na Matriz e que são correspondentes.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Ferramentas→Sincronizar Dados Matriz x Filial |
Ao clicar nesta opção aparecerá a seguinte interface:
A interface se divide em três abas:
No lado esquerdo serão mostrados os campos Código Filial e Descrição Filial e no lado direito a associação correspondente na Matriz com os campos Código Matriz e Descrição Matriz (Se este lado estiver em branco significa que o registro ainda não está associado).
Para fazer a associação basta selecionar o registro desejado e clicar com o botão direito em cima do mesmo e selecionar a opção ”Associar”. Logo em seguida será mostrada uma interface com os dados da Matriz para que seja feita a associação.
Mais em Sincronização Matriz X Filiais.
O sincronizador na parte financeira funcionará da seguinte forma:
Em seu fluxo o sincronizador pode apresentar erros em cada rotina, um exemplo disso:
Neste exemplo o erro ocorreu na rotina 4 (Exportação dos Agendamentos) onde não foi associado o Centro de Custo na tela de Sincronização conforme mencionado no tópico Sincronização Matriz x Filial deste manual.
Se caso der certo o envio de dados o sistema irá mostrar que o registro foi enviado com sucesso.
A figura abaixo esquematiza o sentido do fluxo de dados no processo de integração de Matriz e Filiais.
Neste aspecto iremos destacar as informações que a Matriz disponibiliza para as suas Filiais:
1. Informa dados :
a. Centro de Custo
b. Forma de Recebimento
c. Forma de Cobrança
2. Informa os Recebimentos/Pagamentos dos registros das Filiais/Matriz que foram manipulados na Matriz(Botão Matriz da Tela de Recebimento)
3. Informa os Recebimentos/Pagamentos dos registros das Filiais/Matriz que foram manipulados nas próprias Filiais
4. Se for feito baixa na Matriz do registro de alguma filial, a Matriz busca na filial deste registro o status do mesmo. Os tipos dos status são:
a. Liberado (Registro pode ser baixado)
b. Excluído (Registro não pode ser baixado pois se encontra excluído na origem)
c. Baixado (Registro não pode ser baixado pois se encontra baixado na origem)
d. Valor Diferente (Registro não pode ser baixado pois o valor difere da origem)
e. Indisponível (Registro não pode ser baixado pois não se encontra na origem)
Neste aspecto iremos destacar as informações que a Filial envia/busca para sua Matriz:
Obs.: Para realizar uma baixa ou estorno na Filial de um registro próprio, o sistema tenta conectar na Matriz para verificar o status deste registro. Em caso da falta de conexão com a Matriz será exibida a seguinte mensagem, mas o processo dará continuidade:
No momento em que a conexão com a Matriz for reestabelecida o sistema enviará os dados através do sincronizador.
Neste aspecto iremos destacar algumas regras importantes para o bom funcionamento da integração entre Matriz e suas Filiais:
Esta ferramenta tem a função de dar baixas em lançamentos financeiros de contas a receber.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Financeiro→Baixas→Títulos a Receber |
Com este módulo o sistema fornece a opção de baixar um título de outra Filial/Matriz através dessa interface. Para realizar este procedimento basta clicar no botão ”Matriz” que aparece na parte inferior esquerda na interface de Recebimento de Clientes.
Ao clicar neste botão abrirá uma nova interface semelhante a existente porém com o dados que estão na Matriz. Para realizar a baixa segue o procedimento normal de uma baixa.
Após o procedimento o sistema irá baixar os registros tanto na Matriz quanto na Filial.
Mais em Contas a Receber.
Esta ferramenta tem a função de dar baixas em lançamentos financeiros de contas a receber.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Financeiro→Baixas→Títulos a Receber |
Com este módulo o sistema fornece a opção de baixar Contas a Receber na Matriz de um título da Filial através dessa interface.
Nesta tela o sistema mostrará os títulos de todas as empresas (Filiais e Matriz) e para efetuar a baixa basta selecionar o(s) registro(s) desejado(s). Quando clicar no botão “Receber”, o sistema irá conectar em cada empresa filial para verificar se o registro selecionado se encontra disponível para a baixa (em aberto).
Mais em Contas a Receber.
Esta ferramenta tem a função de dar baixa nos lançamento financeiros de contas a pagar.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Financeiro→Baixas→Títulos a Pagar |
Com este módulo o sistema fornece a opção de baixar Contas a Pagar na Matriz de um título da Filial através dessa interface.
Nesta tela o sistema mostrará os títulos de todas as empresas (Filiais e Matriz) e para efetuar a baixa basta selecionar o(s) registro(s) desejado(s). Quando clicar no botão ”Baixar”, o sistema irá conectar em cada empresa filial para verificar se o registro selecionado se encontra disponível para a baixa (em aberto).
Mais em Contas a Pagar.
Esta ferramenta tem a função de cadastrar as contas e caixas do sistema para controlar a movimentação financeira do estabelecimento;
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Cadastros→Contas e Caixas |
Foi criada uma opção para que uma filial possa transferir recursos para a Matriz. No contas e caixas, selecione o caixa que tem os recursos a serem transferidos e clique no botão ”Transf. Cx. Matriz”.
Ao clicar no botão de transferência para o caixa da Matriz o sistema irá mostrar uma tela para que o usuário selecione qual caixa da Matriz que será o destino dos recursos e informe o valor da transferência.
Mais em Cadastrar Contas e Caixas.
Esta ferramenta tem a função de cadastrar as contas e caixas do sistema para controlar a movimentação financeira do estabelecimento;
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Cadastros→Contas e Caixas(Aba Cheques - Sub-aba Movimento) |
Os cheques das filiais poderão ser transferidos para Matriz para que sejam usados no pagamento com cheques de terceiros ou outros fins.
Para fazer esta transferência Selecione os cheques que deseja transferir e clique com o botão direito do mouse (selecione a opção Transferir Cheques para Matriz…).
Ao serem transferidos para a Matriz os mesmos não poderão ser usados nas Filias e ficaram na aba Cheques Transferidos para Matriz.
Se desejar que os cheques retornem para Filial basta ir até a Aba ”Cheques” - Sub-aba ”Cheques Transferidos das Filiais” na empresa Matriz, selecionar o cheque que deseja que retorne para Filial e clicar com o botão direito do mouse (selecione a opção Transferir para Filial).
Mais em Cadastrar Contas e Caixas.
Esta ferramenta tem a função de dar baixas em lançamentos financeiros de contas a receber.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Financeiro→Baixas→Títulos a Receber |
Ao clicar nesta opção aparecerá a seguinte interface:
Na tela de Recebimento do Cliente da Filial é possível verificar as contas em aberto do cliente em outras empresas.
Ao conectar na Matriz e verificar as contas o sistema mostrará uma mensagem informando que existem contas abertas na Matriz de outras empresas, o valor líquido e o corrigido.
Mais em Contas a Receber.
Foi criado o Relatório de Baixas não Sincronizadas para auxiliar clientes que usam a Sincronização entre Matriz e Filiais a acompanhar a sincronização de dados.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Relatórios→Gestão Financeira→Baixas não Sincronizadas |
Ao clicar nesta opção aparecerá a seguinte interface:
Neste relatório o usuário irá selecionar a Empresa que deseja verificar quais Baixas (contas recebidas/pagas) que estão para serem sincronizadas. Ao aplicar o sistema irá conectar na Empresa solicitada para verificar dados pendentes.
Foi criado o Relatório de Agendamentos não Sincronizadas para auxiliar clientes que usam a Sincronização entre Matriz e Filiais a acompanhar a sincronização de dados.
Para abrir esta ferramenta basta entrar no menu em:
Gerenciamento→Relatórios→Gestão Financeira→Agendamentos não Sincronizados |
Ao clicar nesta opção aparecerá a seguinte interface:
Neste relatório o usuário irá selecionar a Empresa que deseja verificar quais os agendamentos (contas a receber/pagar) que estão para serem sincronizados. Ao aplicar o sistema irá conectar na Empresa solicitada para verificar dados pendentes.
Veja mais em Agendamentos Não Sincronizados.