DFe - Otimização das atividades do usuário – Integração Automática de documentos
O DFe desde sua concepção não conseguia efetuar a integração automática de documentos com os ERPs suportados, pois ao levarmos em consideração cada operação e ERP não tínhamos como saber quais são as premissas necessárias para efetuar o disparo de uma integração. Esse desenvolvimento será disponível de forma restrita liberada a partir da licença de utilização do DFe.
Com base neste dado implementamos um configurador de premissas que permitirá a parametrização de um check list para integração automática.
Essa configuração será feita por: Estabelecimento, Tipo de Documento e Operação
A atualização automática – Conceitos
O documento efetuará a integração automática caso a operação esteja vinculada na engine de regras.
A integração automática somente ocorrerá caso todos os pré-requisitos parametrizados sejam satisfeitos. A integração será feita de acordo com o parâmetro do módulo administrativo por estabelecimento em que é definido o tipo de integração (diretório, webservice, RFC ou FTP) assim como o XML que será entregue ao ERP será o original ou traduzido como parametrizado.
Para a verificação/confirmação de que houve ou não a integração automática do documento serão gerados eventos no documento na aba “monitor” e botão “eventos” com um evento de Integração Automática como exemplo abaixo. Lembrando que serão geradas nos eventos algumas informações como: Data e hora, Usuário, regra utilizada para a atualização automática, Etapa que disparou a integração (Conferência Comercial, Conferência Fiscal, Portaria ou Migo/Miro-SAP) e possíveis erros ocorridos na integração via webservice(quando a integração seja por este modelo):
Caso um documento não necessite do estágio definido na operação será considerado que o estágio estará como “Ok”. Exemplo: Se a operação não está marcada a opção “Conferência Fiscal” de um documento, para a atualização automática será considerado no sistema que a “Conferência Fiscal” está ok.
A Conferência Comercial e/ou Conferência Fiscal podem ser liberadas manualmente, ou seja, mesmo com erro um usuário pode efetuar a liberação do documento para atualização. Caso um usuário efetue a liberação manual nessas conferências o sistema tratará como “ok” para integração automática.
Não haverá uma ordem de que os pré-requisitos ocorram, eles apenas devem ser satisfeitos, pois cada documento pode possuir um fluxo diferente dentro do DFe.
Para fins de informação, abaixo demonstraremos quais parametrizações padrão deverão ser feitas no sistema para que seja atendido determinado passo para a integração automática:
· Conferência Comercial:
· Conferência Fiscal
· Aprovação Migo/Miro (SAP)
· Portaria: Não existem parâmetros que definem a necessidade de passagem de notas de produto e notas de serviço pela portaria, assim no caso deste pré-requisito consideraremos que uma vez marcado como necessário, todos os documentos vinculados a regra precisam passar pela portaria.
· Para CTE existe o parâmetro da imagem abaixo que define a necessidade de passagem do CTe pela portaria com obrigatória:
Parametrizações
Foram criados alguns parâmetros para efetuar o tratamento de integração automática como será demonstrado a seguir:
Parâmetros que se encontram no módulo Administrativo > Parâmetros > DFe > Estabelecimento > Aba Integração:
1) Nome: Tipo_Integracao_Arquivo
Descrição: Tipo de comunicação para entrega do XML para integração ao ERP.
Opções:
· Diretório
· FTP
· RFC
· Webservice
Função: Através deste parâmetro é definido qual o formato de comunicação deve ser utilizado para integração do XML dos documentos Fiscais ao ERP. O Default para este parâmetro é Diretório/RFC, a opção RFC é utilizada para o ERP SAP, já diretório é a forma de comunicação padrão para os demais ERPs. Quando a integração está definida para ser realizada via Webservice, o XML do documento fiscal será entregue ao sistema externo através do consumo de um Webservice com uma estrutura já pré-estabelecida pela Suíte Fiscal.
2) Nome: Tip_XML_ENVIO
Descrição: Tipo do XML que deverá ser enviado nas integrações.
Opções: Original ou Traduzido
Função: Define qual o tipo de XML que deverá ser enviado nas integrações com sistemas externos, se o XML Original ou XML Traduzido.
Cadastro de pré-requisitos para integração Automática
Efetuada a criação de um cadastro de parametrizações dos pré-requisitos para a integração automática. Este cadastro estará localizado na aba “Tradução” dentro do módulo DFe onde pode ser dado o nome de determinada operação que passará a ser utilizada na engine de regras para que seja verificado se os critérios foram atendidos para que seja possível a integração automática do documento.
Como o cadastro será feito na aba de tradução, o armazenamento será feito dentro da empresa a qual se está logado, além de quebra por tipo de documento (NFe, CTE, CTEOs e NFSe).
Abaixo demonstramos os parâmetros criados para os tipos de operação:
Operação: Código da Operação, podendo ser letras ou números
Nome da Operação: Inserir o Nome da Operação para Integração Automática
Tipo de Documento: NF-e, CT-e, CT-e OS, NFSe
Ativo: Função para ativar ou desativar a operação. Opções: Sim/Não
Integração Automática: Define se a operação efetuará a integração automática ou não.
Pré-Requisitos a serem completados para que ocorra a integração automática:
Conferência Comercial, Portaria, Conferência Fiscal e Aprovação Migo/Miro (no caso de ERP ser SAP). Podem ser marcadas as opções as quais devem ser satisfeitas para que seja feita a integração automática.
OBS: Caso o parâmetro Integração automática esteja marcado igual a “sim” e nenhuma das opções esteja marcada (Conferência Comercial, Portaria, Conferência Fiscal ou Aprovação Migo/Miro - SAP), significa que os documentos dessa operação serão integrados automaticamente assim que chegarem no DFe.
Teremos alguns exemplos para ilustrar como serão tratadas algumas integrações automáticas (os nomes de operações são apenas sugestões):
Abaixo seguem alguns exemplos de como será tratado a integração automática que veremos nesse capítulo:
Parametriza-se:
Nome Operação: DevolMatriz
Contexto: Operações de devoluções destinadas a Matriz
· Integração Automática: Sim
o Conferência Comercial: Não
o Conferência Fiscal: Sim
o Aprovação Miro/Migo: Não
o Portaria: Sim
o Ação do sistema: Os documentos classificados com esta operação deverão ser integrados automaticamente quando o status da passagem na validação fiscal e na portaria estiverem OK. Mesmo que parâmetros externos definam a necessidade de passagem pela validação comercial, o documento será enviado ao sistema externo sem o OK na validação comercial.
Nome Operação: DevolSc
Contexto: Operações de devoluções destinadas a filial de Santa Catarina
· Integração Automática: Sim
o Conferência Comercial: Não
o Conferência Fiscal: Sim
o Aprovação Miro/Migo: Não
o Portaria: Não
o Ação do sistema: Os documentos classificados com esta operação deverão ser integrados automaticamente quando o status da passagem na validação fiscal esteja OK. Mesmo que parâmetros externos definam a necessidade de passagem pela validação comercial, o documento será enviado ao sistema externo sem o OK na validação comercial.
Nome Operação: CompraRevenda
Contexto: Compra para revenda em toda a cia.
· Integração Automática: Sim
o Conferência Comercial: Sim
o Conferência Fiscal: Sim
o Aprovação Miro/Migo: Não
o Portaria: Sim
o Ação do sistema: Os documentos classificados com esta operação deverão ser integrados automaticamente quando o status da passagem na validação fiscal validação comercial e na portaria estiverem OK.
Nome Operação: CompraIndustr
Contexto: Compra para industrialização em toda a cia.
· Integração Automática: Não
o Conferência Comercial: Não
o Conferência Fiscal: Não
o Aprovação Miro/Migo: Não
o Portaria: Não
o Ação do sistema: Os documentos classificados com esta operação não deverão ser integrados automaticamente. Nesse caso para essa operação o sistema não fará a integração automática e terá o tratamento em que exige a interação do usuário como temos atualmente no Dfe em todo o seu fluxo.
Nome Operação: RetornoBenefic
Contexto: Retorno de beneficiamento externo para toda a cia.
· Integração Automática: Sim
o Conferência Comercial: Não
o Conferência Fiscal: Não
o Aprovação Miro/Migo: Não
o Portaria: Não
o Ação Sistema: Os documentos classificados com esta operação deverão ser integrados automaticamente indiferente dos status na validação comercial, fiscal, portaria e miro/migo.
Parametrizações de redundância do disparo das integrações
Como teremos aplicações diferentes recebendo os XMLs enviados pela Suíte Fiscal, tivemos de efetuar a criação de um serviço que de forma redundante faça o reenvio do XML caso a SFE ainda não tenha obtido a resposta positiva da recepção deste XML.
Para isso foram criados alguns parâmetros no módulo administrativo para a empresa que tratarão essa redundância
· Parâmetro: INTERVALO_PROC_INTEGRACAO_AUTO
· Descrição: Intervalo de tempo em minutos para execução do serviço de reenvio de XMLs para Integração.
· Padrão: 0 (Neste caso não será executado o serviço que realiza o reenvio do XML)
· Help: Deve ser informado neste parâmetro o intervalo em minutos que a aplicação aguardará para realizar o processo de reenvio de XMLs para integração. Ou seja, quanto tempo após o término da última execução o serviço deve ser reativado;
· Parâmetro: QTD_TENTATIVAS_INTEGRACAO_AUTO
· Descrição: Quantidade de tentativas para integração com Sistemas Externos
· Padrão: 5
· Help: Deve ser informado neste parâmetro a quantidade de tentativas de reenvio que a aplicação deve realizar com os sistemas externos para cada documento. Cada reenvio fará o consumo de uma das tentativas definidas.
Na maioria dos casos o XML não precisará ser reenviado, isto porque os sistemas externos quando receberem o arquivo devolverão o evento de integração nos padrões já pré-estabelecidos nas documentações da Suíte Fiscal. Assim, quando o evento de integração for importado o documento será retirado da lista de pendências de reenvio para integração.
Caso a integração esteja definida como Webservice e um documento seja cancelado, o serviço enviará novamente a nota fiscal ao ERP para que o mesmo seja alertado que a nota foi cancelada. Será utilizado o Webservice já existente, adicionando apenas a situação do documento a url do webservice.
Quando o documento for cancelado com a integração definida como Webservice será feita a quantidade de tentativas de integração automática. O documento saíra da lista de reenvio quando a quantidade de tentativas ultrapassar o definido no parâmetro “QTD_TENTATIVAS_INTEGRACAO_AUTO” ou quando o ERP devolver que o documento foi cancelado no ERP através dos eventos de integração.
No caso de entrega de XML em pasta, caso o XML já exista na pasta de destino o arquivo não será gerado e será consumida uma tentativa de envio.
Foi criado um evento no documento fiscal para indicar cada uma das tentativas de envio ao ERP, seja de um documento para integração ou de um documento cancelado. Este evento conterá as seguintes informações:
· Data e hora
· usuário - sistema
· Regra utilizada para validar o envio automático (Apenas o código alfanumérico da Regra)
· Tipo do envio (Integração de Documentos ou Cancelamento)
· Identificar que o envio foi realizado via serviço
· Número da tentativa / Quantidade de Tentativas
· Possíveis erros gerados durante o consumo do Webservice do sistema externo.
Print com exemplo em como são gerados os eventos:
Caso tenham ocorrido erros de integração, os documentos terão o status de “alerta de integração”. Assim o serviço de redundância dos envios somente tentará efetuar o reenvio dos documentos que estejam com o status de “alerta de integração”.
Em todas as situações em que ocorrer erro na integração será gerado um evento no documento e um evento no log do Windows.
Parametrização da Engine de Regras para utilizar a operação
Com a criação dos tipos de operação, essas operações podem ser utilizadas nas engines de regras para completar o ciclo e assim ocorrer a atualização automática de um ou mais documentos para o ERP sem a necessidade de interferência manual que se enquadrarem nas condições caso satisfeitas.
Vamos usar como exemplo uma engine do sistema que é denominada “Compra para Industrialização e utilizando o botão “engine”:
Criaremos uma engine com a variável de nome “operac”. Deve-se usar a tabela “Nota Fiscal Eletrônica” e o campo ”OperaçãoIntegração – ID_OPERACAO_INTEGRACAO” :
Na Aba “Condições” iremos utilizar o botão “inserir
Vamos usar a descrição ”Operação de Compra”, marcar “Operação Integração” onde será demonstradas todas as operações que estão ativas do cadastro de operações para integração. Em variável de retorno utilizar o “Operac – Operacao” que foi cadastrado nas variáveis.
Lembrando que a engine servirá para automatizar a gravação do tipo de operação de integração dos documentos. O tipo de operação também pode ser editado diretamente nos documentos na primeira aba como demonstrado abaixo:
Enquanto o DFe não receber o evento de integração do ERP confirmando que o documento foi integrado e que não são mais possíveis alterações no documento (Evento de integração com indicador "Permite Alteração" = não) poderão ser feitas alterações sobre o código da operação vinculada aos documentos fiscais. Se o documento estiver integrado ao ERP não mais será possível a alteração do código de operação.
Não será possível a utilização do botão “aplicar engine” no caso de um documento que já esteja integrado.
Principais Características da Integração Automática
· Quando o documento estiver autorizado a fazer a integração automática a integração será feita, seja ela por diretório, webservice, RFC ou FTP;
· Enquanto o sistema destinatário não enviar o evento confirmando a recepção do XML, o documento será mantido na lista de documentos pendentes de integração;
· O XML a ser entregue ao destinatário será o original ou o traduzido conforme parametrizações no módulo administrativo demonstrados no início desse capítulo;
· O tipo de comunicação com o sistema externo respeitará as parametrizações feitas no módulo administrativo demonstrados no início desse capítulo, porém com algumas observações sobre os ERPs:
o SAP sempre efetuará a comunicação via RFC;
o Protheus, Datasul, Logix e Oracle sempre via diretório
o AX sempre via webservice
· Será gerado para consulta no botão de eventos um evento específico com relação a integração automática que terá alguns dados como: : Data e hora, Usuário, regra utilizada para a atualização automática, Etapa que disparou a integração (Conferência Comercial, Conferência Fiscal, Portaria ou Migo/Miro-SAP) e possíveis erros ocorridos na integração via webservice (quando a integração seja por este modelo)
· Mesmo que o documento passe pela validação comercial ou fiscal mas a operação do documento defina que por exemplo a validação comercial não é necessária para o disparo automático o documento deve ser enviado para o sistema externo. Ou seja, o documento poderá ser enviado automaticamente ao sistema externo mesmo que ele esteja com status de NOK na validação comercial;
· Caso algum gatilho de disparo (Reprocessamento na Validação Comercial, Fiscal, Miro/Migo, Portaria) seja refeito pelo usuário e o documento já tenha sido enviado ao sistema externo, o reenvio apenas deve ocorrer caso ainda não tenha ocorrido a confirmação de recepção no sistema destinatário, ou seja, caso o status seja superior a "Documento liberado para ser integrado com ERP". O Reenvio deve ocorrer indiferente da quantidade de tentativas de envio
Novas Funcionalidades:
· Implementada funcionalidade de integração automática de documentos
· Implementado o conceito dos tipos de operação
· Tipos de operação podem ser parametrizados nas engines de regras
· Documentos integrados automaticamente gerarão dados nos eventos