Mensageria de Documentos Eletrônicos

Ultima Revisão: 08/01/2021

EM CONSTRUÇÃO


Mensageria ou Messaging consiste na utilização de mensagens para estabelecer a comunicação síncrona ou

assíncrona entre aplicações.



1 - O SAM não dispõe de um serviço de mensageria que integre os 'Documentos Eletrônicos' por ele produzido ao [Ambiente Nacional da SEFAZ], sendo assim, a transmissão destes documentos se dará através de um [Serviço de Mensageria] externo que deverá ser contratado pela Empresa Usuária do SAM.


2 - Os 'Documentos Eletrônicos' produzidos pelo SAM serão disponibilizados ao [Serviço de Mensageria] através da tabela "Aaa16 - Integração de Documento" contida no banco de dados da Empresa Usuária do SAM.


3 - Caso o [Serviço de Mensageria] externo contratado pela Empresa Usuária do SAM, por qualquer razão, não queira acessar a tabela Aaa16 na Base de Dados, então deve ser desenvolvido um [Serviço Intermediário] que irá integrar a tabela Aaa16 com os respectivos mecanismos do [Serviço de Mensageria].

3.1 - Esquema lógico de integração do SAM com o [Serviço de Mensageria]:


3.2 - Esquema lógico de integração do SAM com o [Serviço de Mensageria] através de um [Serviço Intermediário]:    

4 - A Tema: Multitec recomenda o [Serviço de Mensageria] desenvolvido pela Multitec Software denominado MultiNFe, que integra diretamente a tabela Aaa16 com o [Ambiente Nacional da SEFAZ] e provê outros serviços de grande valia ao administrador dos documentos eletrônicos.


5 - Caso a Empresa Usuária queira usar outro [Serviço de Mensageria] que não seja o MultiNFe, a Multitec disponibiliza gratuitamente alguns [Serviços Intermediários], abaixo relacionados, que integram a tabela Aaa16 com o [Serviço de Mensageria], neste caso considerar:

5.1 - Criar uma pasta na máquina onde será executado o [Serviço de Mensageria]. Exemplo: 'C:/SAM4Sebrae/'

5.2 - Configurar o ambiente operacional do [Serviço Intermediário] entre o SAM e o [Serviço de Mensageria]: Os parâmetros de configuração devem estar contidos no arquivo que está localizado na pasta onde está instalado os softwares do [Serviço Intermediário] denominado de 'si_config.ini'. Os parâmetros são:

si_database=basesam001

si_user_name=postgres

si_password=postgres

si_server=localhost

si_porta=5432

si_enviar=C:\SAM4Sebrae\XmlEnviar\

si_retorno=C:\SAM4Sebrae\XmlRetorno\

si_segundos_processamento=60


onde:


si_database:     Nome da base de dados.                             Exemplo: 'basesam001'

si_user_name:  Nome do usuário do banco de dados.      Exemplo: 'postgres'

si_password:    Nome da senha do banco de dados:         Exemplo: 'postgres'

si_server:          Local onde esta o banco de dados:            Exemplo: 'localhost' ou '192.168.15.5'

si_porta:            Porta onde esta o banco de dados:           Exemplo: '5432'


si_enviar:          Nome da pasta na qual o [Serviço Intermediário] irá copiar da base de dados SAM (tabela Aaa16, campo aaa16dados) o respectivo texto e gerar um arquivo nesta pasta que ficará a disposição do [Serviço de Mensageria]. Exemplo: 'C:\SAM4Sebrae\XmlEnviar\.


si_retorno:      Nome da pasta na qual o [Serviço Intermediário] irá ler o arquivo de retorno disponibilizado pelo serviço de [Serviço de Mensageria] e atualizar a base de dados SAM (tabela Aaa16, campos: aaa16retXML, aaa16retValid, aaa16retCod, aaa16retDescr, aaa16retData, aaa16retHora, aaa16retProt e aaa16status) para que o SAM execute os processos inerentes em função dos dados recebidos do serviço de [Serviço de Mensageria]. Exemplo: 'C:\SAM4Sebrae\XmlRetorno\.


si_segundos_processamento: Intervalo de tempo, contado em segundos, em que o [Serviço Intermediário] irá entrar em execução. Exemplo: '60'


5.3 - O [Serviço Intermediário] após ler o arquivo de retorno disponibilizado pelo serviço de [Serviço de Mensageria] irá atualizar o campo 'Status de Validação' da tabela Aaa16 (aaa16retValid) a partir dos seguintes códigos (vStatus):

A - 100, 101, 102, 128, 135, 150, 151: 0 - Autorizado

B - 200..300, 304..999:                          1 - Rejeitado

C - 110, 301, 302, 303:                           2 - Denegado


5.4 - Os arquivos manipulados nas pastas definidas nas configurações do ambiente operacional do [Serviço Intermediário] 'si_enviar' e 'si_retorno' após processados serão excluídos automaticamente.


5.5 - SEBRAE: Para usar o serviço de mensageria gratuito disponibilizado pelo SEBRAE, a Empresa Usuária deve:

5.5.1 - Instalar o software de [Serviço de Mensageria] fornecido gratuitamente pelo SEBRAE.

5.5.2 - Copiar o software de [Serviço Intermediário] disponibilizado para download no Tema: Tasks em 'Arquivos' e colocá-lo na pasta onde está instalado o [Serviço Intermediário]. Exemplo: 'C:\SAM4Sebrae\'.

5.5.3 - São diversos softwares que constituem o [Serviço Intermediário]: 'SamSebrae.exe' e uma subpasta denominada 'Lib' com alguns arquivos  '.dll' exigido pelo PostgreSQL.

5.5.4 - Executar 'SamSebrae.exe'. Recomenda-se criar um atalho a fim de facilitar a operacionalidade do usuário.


5.6 - Pastas Operacionais: Estando o [Serviço Intermediário] em execução serão criadas automaticamente as pastas definidas nas configurações do ambiente operacional do [Serviço Intermediário] ('si_enviar' e 'si_retorno') nas quais os arquivos farão transito.


5.7 - Log Operacional: Estando o [Serviço Intermediário] em execução será criado automaticamente um arquivo de log chamado de 'SamSebraeLog.log' na pasta indicada no parâmetro 'si_enviar', no qual conterá um descritivo de todas a operações realizadas pelo SamSebrae.exe. Este descritivo deve ser lido por alguém da Empresa Usuária sempre que algum problema, erro ou bug seja percebido. Também deve a Empresa Usuária, de tempos em tempos, deletar este arquivo (SamSebraeLog) pois não há necessidade de se armazenar tantos registros que não sejam mais necessários.


6 - Todos os 'Documentos Eletrônicos' que deverão ser enviados ao [Ambiente Nacional da SEFAZ], serão previamente lançados na tabela "Aaa16 - Integração de Documento". Os 'Documentos Eletrônicos' produzidos pelo SAM são:

6.1 - NFe modelo '55' ou NFCe modelo '65':

6.1.1 - Lançamentos a partir do SRF1040 - Integrador de Documento Eletrônico e produzidos pelas tarefas SRF1001 - Recebimentos, SRF1002 - Faturamentos e SRF1003 - Faturamento de Vendas.

6.1.2 - Cancelamento lançado pelo processo SRF1010 - Cancelar Documentos;

6.1.3 - Correção de documentos lançado pelo processo SRF1041 - Carta de Correção Eletrônica;

6.1.4 - Inutilização de documentos lançado pelo processo SRF1042 - Inutilizar Documentos.


6.2 - MDFe

6.2.1 - Lançamentos a partir da tarefa SRF1111 - Integrador de MDFe;

6.2.2 - Cancelamento lançado pelo processo SRF1105 - Cancelar/Encerrar;

6.2.3 - Encerramento lançado pelo processo SRF1105 - Cancelar/Encerrar.


7 - O [Serviço de Mensageria] juntamente ou não com o [Serviço Intermediário] deverão assim operar:

7.1 - Selecionar os registros a enviar (aaa16status = 0);

7.2 - Para os registros selecionados alterar o status para 'Enviado' (aaa16status = 1);

7.3 - Gerar, validar, assinar e transmitir o arquivo tipo XML, conforme layout publicados pela SEFAZ, a partir do texto contido no campo 'Dados' (aaa16dados);

7.4 - Após a SEFAZ retornar o resultado do processamento, atualizar os campos de {Dados do Retorno}, descritos abaixo, e alterar o status para 'Processado' (aaa16status = 2).


8 - A tabela de integração contida na Base de Dados da Empresa Usuária do SAM denomina-se 'Aaa16 - Integração de Documento' e é composta pelos seguintes campos:

8.1 - aaa16id: Número identificador do registro atribuído pelo SAM.


8.2 - aaa16eg: Empresa Geradora do lançamento, que é a Empresa Ativa e previamente cadastrada em CAS2010 - Empresas.


8.3 - aaa16doc: Id do SRF0101 - Documentos (eaa01id) da Base de Dados da Empresa Usuária ou 

                         Id do SRF1101 - MDFe - Manifesto Eletrônico de Documentos Fiscais (eaa10id) da Base de Dados da Empresa Usuária


8.4 - aaa16data e aaa16hora: Data e hora da última alteração no registro efetuada pelos processos inerentes.


8.5 - aaa16tipo: Tipo do 'Documento Eletrônico' lançado:

      0-NFe ou NFCe      -> NFe modelo '55' ou NFCe modelo '65'

      1-CCe                       -> Carta de Correção Eletrônica

      2-Cancelamento   -> Cancelamento de documentoa

      3-Inutilização         -> Inutilização de documento

      4-MDF                      -> MDFe

      5-Encerramento    -> Encerramento do manifesto


8.6 - aaa16status: Indica a condição do lançamento:

      0-A Enviar       -> Lançamento disponível para o [Serviço de Mensageria] juntamente ou não com o [Serviço Intermediário].

      1-Enviado       -> Lançamento enviado ao [Ambiente Nacional da SEFAZ] pelo [Serviço de Mensageria] e aguardando retorno.

      2-Processado -> Lançamento já processado pelo [Ambiente Nacional da SEFAZ] percebido pelo [Serviço de Mensageria].

      3-Arquivado   -> Lançamento arquivado pelos processos inerentes do SAM que atualizaram a Base de Dados.


8.7 - aaa16dados: Texto (Xml, Txt, Json, etc.) a ser considerado para envio ao [Ambiente Nacional da SEFAZ]. Este texto será a base para geração dos 'Documentos Eletrônicos' através do [Serviço de Mensageria] juntamente ou não com o [Serviço Intermediário]. O texto contido nesse campo será gerado através dos processos abaixo, a partir das respectivas fórmulas, previamente escritas no CAS4011 - SamDev, sendo assim tais fórmulas deverão gerar os textos em conformidade com os requisitos do do [Serviço de Mensageria]:

8.7.1 - Texto para NFe ou NFCe,    processo SRF1040 - Integrador de Documento Eletrônico, fórmula contida no parâmetro EA-NFeFormula;

8.7.2 - Texto para CCe,                    processo SRF1041 - Carta de Correção Eletrônica,                fórmula contida no parâmetro EA-NFeFormCCe;

8.7.3 - Texto para Cancelamento, processo SRF1010 - Cancelar Documentos,                           fórmula contida no parâmetro EA-NFeFormCanc;

                                                             processo SRF1105 - Cancelar/Encerrar,                                   fórmula contida no parâmetro  EA-MDFeFormCanc;

8.7.4 - Texto para Inutilização,      processo SRF1042 - Inutilizar Documentos,                           fórmula contida no parâmetro EA-NFeFormInut.

8.7.5 - Texto para MDFe,                 processo SRF1111 - Integrador de MDFe,                               fórmula contida no parâmetro EA-MDFeFormula.

8.7.6 - Texto para Encerramento,  processo SRF1105 - Cancelar/Encerrar,                                  fórmula contida no parâmetro EA-MDFeFormEnc.


8.8 - {Dados do Retorno}: Após a SEFAZ retornar o resultado do processamento do 'Documento Eletrônico' o [Serviço de Mensageria] juntamente ou não com o [Serviço Intermediário] deve atualizar o conteúdo destes campos como segue:

8.8.1 - aaa16retXML: Arquivo XML de retorno do documento, que é o 'Documento Eletrônico' propriamente dito.

8.8.2 - aaa16retValid: Status de validação do documento:

            0-Autorizado: Quanto aaa16retCod = Para NFe/NFCe: 100, 101, 102, 128, 135, 150 e 151

                                                                                Para MDFe: 100, 101, 103, 132, 135 

            1-Rejeitado: Quanto aaa16retCod for diferente dos código aqui identificados.

            2-Denegado: Quanto aaa16retCod = 110, 301, 302 e 303

8.8.3 - aaa16retCod: Código de validação do documento.

8.8.4 - aaa16retDescr: Descrição de validação do documento.

8.8.5 - aaa16retData: Data do processamento do documento na SEFAZ.

8.8.6 - aaa16retHora: Hora do processamento do documento na SEFAZ.

8.8.7 - aaa16retProt: Número do protocolo do documento na SEFAZ.


Premissas

1 - Parâmetros envolvidos nos processos que envolvem documentos fiscais modelos NFe e NFCe (aah01modelo = '55' ou '65'):

1.1 - EA-NFeDataProducao: Data inicial em que a NFe passou para o ambiente de produção.

1.2 - EA-EnvioMensageria: Permite que após a elaboração de NFe (Modelo 55) ou NFCe (Modelo 65) de emissão própria, através das tarefas de SRF1001 - Recebimentos ou de SRF1002 - Faturamentos o Usuário Logado possa enviá-las imediatamente, ao serviço de mensageria.

1.3 - EA-ExpurgarAaa16: Opção de deletar os registros arquivados (aaa16status = 3) da tabela 'Aaa16 - Integração de Documento'.

1.4 - Parâmetros para backup dos documentos:

1.4.1 - EA-NFeBackupPath: Pasta para onde serão transferidos (cópia) os arquivos XML de NFe/NFCe emitidas de após serem processadas pelo serviço de mensageria.

1.4.2 - EA-NFeBackupPathPasta: Separação dos arquivos XML de NFe por sub-pastas dentro pasta onde serão armazenados os backups podendo ser 0-Única 1-Por dia 2-Por mês.

1.4.3 - EA-PastaOrigemXmlEnt: Pasta onde deve estar os arquivos XML de NFe de Entrada para serem importadas pelo processo de recebimento.

1.4.4 - EA-PastaDestinoXmlEnt: Pasta para backups dos XMLs das NFe de Entrada após serem importadas pelo processo de recebimento.


1.5 - Parâmetros que contêm as fórmulas, previamente cadastrada no CAS4011 - SamDev, para geração dos documentos:

1.5.1 - EA-NFeBoleto: Fórmula para geração dos boletos bancários dos 'Documentos SCF' relacionados à NFe/NFCe.

1.5.2 - EA-NFeDanfe: Fórmula para geração da DANFE.

1.5.3 - EA-NFeFormCanc: Fórmula para geração do arquivo de Cancelamento de NFe a ser disponibilizado para o serviço de mensageria.

1.5.4 - EA-NFeFormCCe: Fórmula para geração do arquivo de CCe - Carta de Correção de NFe a ser disponibilizado para o serviço de mensageria.

1.5.5 - EA-NFeFormInut: Fórmula para geração do arquivo de Inutilização de Números de NFe a ser disponibilizado para o serviço de mensageria.

1.5.6 - EA-NFeFormula: Fórmula para geração do arquivo de NFe a ser disponibilizado para o serviço de mensageria.


1.6 - Parâmetros utilizados quando a SEFAZ denega as NFe/NFCe:

1.6.1 - EA-NFeDenegCancDocSCV: Opção de cancelar ou não os 'Documentos SCV' origens da NFe/NFCe.

1.6.2 - EA-NFeDenegMotCanc: Código do motivo do cancelamento para a NFe/NFCe denegada.


1.7 - Parâmetros para controlar os envios dos documentos por eMail

1.7.1 - EA-NFeEnvEmailRep: Permitir envio de eMail para os representantes citados na NFe do arquivo XML e/ou Danfe.

1.7.2 - EA-NFeEnvioEmail: Permitir envio de eMail para o destinatário da NFe do arquivo XML e/ou Danfe.


2 - Parâmetros envolvidos nos processos de MDFe

2.1 - Parâmetros que contêm as fórmulas, previamente cadastrada no CAS4011 - SamDev, para geração do documento:

2.1.1 - EA-MDFeFormula: Fórmula para geração do arquivo de MDFe a ser disponibilizado para o serviço de mensageria.

2.1.2 - EA-MDFeFormCanc: Fórmula para geração do arquivo de Cancelamento de MDFe a ser disponibilizado para o serviço de mensageria.

2.1.3 - EA-MDFeFormEnc: Fórmula para geração do arquivo de Encerramento de MDFe a ser disponibilizado para o serviço de mensageria.