SE_Fundamentos SOFTe
Introdução
O SOFTe é um produto que gerencia a transmissão dos arquivos a serem enviados para o Ambiente Nacional do eSocial, através de processos agendados, e faz o controle de protocolos e recibos devolvidos.
Através dele é possível o envio das informações provenientes do RHSoft, bem como possibilita integrações com produtos de terceiros, cujos dados não são controlados pelas soluções da TIDEXA.
Características
Manutenção do controle e do histórico das transmissões dos arquivos.
Controle dos números de recibos dos eventos transmitidos.
Entrega garantida por meio de planejamento automatizado, reinicialização a partir de ponto de verificação e recuperação/nova tentativa automática.
Acessando o sistema
O acesso à aplicação, se dá através de um usuário e senha previamente cadastrado, e o usuário deve estar associado a uma empresa com a chave de segurança válida.
Para acessá-lo, devem ser preenchidos os campos de login e senha, e em seguida, acionado o botão [Login]. Se o login e senha estiverem corretos, será exibida a tela principal, o Dashboard, com os dados do último envio para o eSocial que o usuário tenha permissão.
Caso o login ou senha sejam preenchidos incorretamente, será exibida uma mensagem de login ou senha inválidos. Neste caso, preencha os campos novamente com os dados corretos e acione novamente o botão [Login].
Se o usuário não lembrar a senha, poderá utilizar a função “RECUPERAR MINHA SENHA”, e será enviado para o e-mail cadastrado um link para definição de uma nova senha.
Menu
Nas telas do SOFTe, é exibido um menu com as seguintes opções:
Dashboard
Empresas
Usuários
Meu Perfil
Certificados Serpro
Conexões RHSoft
Configurações
Sair
Dashboard
É a principal tela do SOFTe. Exibe as mensagens que podem ser filtradas através das opções disponíveis.
As mensagens definidas nas opções de Filtro, serão exibidas no segundo bloco de informações, em formato de tabela.
Quando pressionado o botão [Exportar], as mensagens filtradas serão exportadas para um arquivo de extensão *.csv, acrescentando-se algumas informações. O arquivo contém as colunas:
CNPJ
Empresa
Tipo de arquivo
Nome
CPF
Status
ID
Data Envio
Ocorrências
Protocolo de envio
Recibo (protocolo processamento)
O arquivo é gerado com o nome softe_yyyyMMdd.csv. Sendo yyyyMMdd o ano, mês e dia em que for gerado.
Abaixo da lista de mensagens é possível escolher a quantidade de mensagens exibidas a cada página, assim como navegar entre as páginas.
Ao final da página é exibido uma nova tabela com um resumo da quantidade de mensagens por tipo de arquivo enviadas/retornadas.
Filtros
Para restringir a consulta às mensagens, podem ser utilizados os filtros.
O primeiro critério de filtro é DATA DE CRIAÇÃO, a partir daí, basta acionar a seta existente ao lado de cada campo, e em seguida, escolher os dados que deseja filtrar.
A lista de valores apresentada nos filtros são consequentes, assim, por exemplo, na lista de valores do filtro TIPO DE ARQUIVO, somente serão exibidos os arquivos existentes no período escolhido, e assim sucessivamente.
No cabeçalho de cada filtro é possível restringir, a lista apresentada, preenchendo-se o campo com parte do conteúdo esperado.
Depois de preenchidos todos os filtros desejados, acionar o botão [Filtrar] para realizar a busca. Se nenhum registro for encontrado, será exibida uma mensagem de alerta, "Não foram encontrados registros para a seleção realizada".
Data de Criação
Teremos dois campos: data/hora início e data/hora fim para selecionar o período de criação da mensagem que se deseja filtrar.
Para facilitar a escolha é exibido um calendário para seleção da data/hora, quando acionado o ícone .
Tipo de Arquivo
Trata-se da identificação do evento enviado na mensagem. Pode-se selecionar uma ou mais opções da lista.
Ocorrência
Será exibida uma lista com as opções de ocorrências devolvidas pelo governo disponíveis para seleção. Podem ser selecionadas uma ou mais opções da lista.
CNPJ
Será exibida a lista com o CNPJ das empresas que o usuário conectado tenha acesso. Pode-se selecionar mais de um CNPJ ao mesmo tempo. O CNPJ pode ser digitado sem utilizar pontos, barra ou traço.
CPF
Trata-se de um campo onde o usuário digita o CPF que deseja pesquisar. Não usar pontos nem traços.
Status
Será exibida uma lista com as opções de Status das mensagens disponíveis para seleção.
ID
Trata-se de um campo texto para que seja digitado o ID da mensagem que se deseja pesquisar.
Timeline
A Timeline é uma tela que exibe em uma linha do tempo, todo o histórico de mensagens de um CPF, isto é, traz um resumo das informações das mensagens enviadas para o CPF selecionado. A tela é exibida ao acionar o cursor sobre o texto Timeline, na coluna Opções da tabela de mensagens.
Ao ser acessada, exibe os dados do CPF selecionado no filtro do Dashboard, mas pode-se navegar entre os CPF´s das empresas que o usuário logado tenha acesso.
O botão [VOLTAR], retorna para a tela anterior, o Dashboard.
Mensagens
Nesta tela são exibidos detalhes da mensagem enviada, e podem ser visualizados todos os campos enviados no arquivo XML, também mensagem de ocorrência retornada. A tela é exibida ao acionar o cursor sobre o texto Mensagens, na coluna Opções da tabela de mensagens.
O botão [VOLTAR], retorna para a tela anterior, o Dashboard.
Empresas
Alguns dados das empresas são necessários para controle no SOFTe. Estas informações são cadastradas e/ou consultadas acessando o menu Empresas. Neste, será exibida a lista de empresas que o usuário tenha permissão para consulta e alteração .
Para consultar ou alterar os dados de uma empresa, acionar o cursor sobre o texto Editar da coluna Opções. Será exibida a tela com os dados atuais, que podem ser alterados, conforme necessidade.
Inclusão de Empresas
Para cadastrar uma empresa, deve ser acionado o botão [Incluir Empresa] na tela de Empresas. Em seguida preencher o nome, CNPJ, um e-mail, que será usado para notificar erros ocorridos no envio das mensagens, o código do contrato e uma chave de licença válida.
A chave de licença e o código do contrato, são disponibilizados pela Tidexa.
Chave De Licença
A chave de licença é um código disponibilizado pela WeConnect Team que controla o prazo de validade do contrato. Periodicamente, será solicitada a alteração dessa chave.
Quando estiver próximo de vencer este prazo, ao acessar a aplicação, será exibida uma mensagem com esta informação:
Para alterar a chave de licença, acesse o menu Empresas. Em seguida, na parte inferior da tela, clicar no botão “Editar” no final da linha da empresa que precisa ter a chave alterada:
Após isso, será aberta a tela para a alteração dos dados da empresa.
Repare na imagem acima que temos duas informações importantes:
Data de validade → esse campo está indicando a validade atual da licença de uso do produto
Validade certificado → já esse campo indica a validade atual do certificado digital da empresa, e, caso esteja vencido, também impedirá a comunicação entre o SOFTe e o eSocial.
ALTERANDO A CHAVE:
Para alterar a chave de licença, elimine o conteúdo atual do campo “CHAVE DE LICENÇA” e cole a nova chave disponibilizada:
Após isso, clique no botão SALVAR e valide que a data de validade foi alterada com sucesso.
Lembre-se de repetir este procedimento para cada uma das empresas cadastradas, caso possua.
Certificado Digital
As mensagens a serem transmitidas exigem a autenticação de um Certificado Digital. O certificado da empresa deve ser importado acionando-se o botão [Escolha].
Será aberto uma sub-tela para escolha do arquivo. Após escolhido o arquivo, este, será importado para a base de dados. Informe a senha do certificado, que também será armazenada no banco de dados, e será utilizada para certificação das mensagens desta empresa.
Caso o certificado seja de um procurador, deve ser marcado o campo PROCURAÇÃO, quando então será exibido um campo para identificar o CNPJ/CPF deste.
Após inclusão dos dados solicitado, acionar o botão [Salvar], quando então será exibida uma mensagem de cadastro executado com sucesso.
Nesse momento, verifique se a data no campo “VALIDADE CERTIFICADO” foi alterada corretamente.
Sempre que a data de validade do certificado for menor que a data atual, será exibida uma mensagem de alerta ao acessar o sistema, quando o usuário deve então importar o novo certificado válido.
Usuários
Na instalação do SOFTe, é criado e identificado um usuário que terá o perfil de administrador de todas as funcionalidades, a partir daí, o usuário administrador poderá criar usuários, definindo as empresas e telas que terá acesso.
Os usuários que possuam acesso à tela USUÁRIOS, poderão alterar os dados e/ou criar novos usuário.
Lista de Usuários
Ao acessar o menu Usuários, será exibida uma tela com a lista de usuários cadastrados, que possuam a mesma empresa do usuário conectado. Se o acesso estiver sendo feito pelo administrador, todos os usuários cadastrados serão exibidos.
Esta tela também tem as funções de Excluir e Incluir usuários, além dos filtros Empresa Vinculada, Usuário e CPF para facilitar a consulta.
Cadastrando um novo Usuário
Um usuário do tipo administrador, ou que tenha acesso à tela Usuários, poderá cadastrar novos usuários, basta acionar o botão [Incluir Usuário], e será exibida uma nova tela para cadastramento.
Preencher os campos Nome, que identifique o usuário, CPF, atribuir uma SENHA, e EMAIL.
Definir as TELAS DE ACESSO selecionando a quais telas esse novo usuário terá acesso.
No bloco Lista de Empresas, selecionar uma ou mais empresas, às quais o usuário terá acesso aos dados das mensagens. Serão listadas do lado esquerdo as empresas previamente cadastradas. Selecione as empresas que o usuário terá acesso e acione a seta apontando para a direita. As empresas selecionadas passarão para a lista do lado direito, correspondendo aos acessos concedidos ao usuário.
Após preenchimento dos dados solicitados, acionar o botão [Salvar], e será exibida uma mensagem de cadastro com sucesso e volta para a tela de consulta de Usuários.
Excluindo um usuário
Para excluir um usuário, marcar o(s) usuário(s) (campo a esquerda do nome) e acionar o botão [Excluir Selecionados].
Consultar/Alterar Usuários
Para consultar ou alterar os dados de um usuário, acionar o cursor sobre o texto Editar da coluna OPÇÕES. Será exibida a tela com os dados atuais, que podem ser alterados, conforme necessidade.
Meu Perfil
Esta tela exibe o cadastro do usuário conectado. Em sendo um usuário diferente de administrador, os dados serão somente para consulta, permanecendo os campos desabilitados para alteração, exceto o campo SENHA, para que o próprio usuário possa alterar sua senha.
Certificados Serpro
Nesta tela, deve-se importar a cadeia de certificados disponibilizados pelo Serpro, necessários na transmissão das mensagens. Conforme documentação disponível (Manual de Orientação do Desenvolvedor).
Para importação do arquivo de certificado, acionar o cursor sobre o texto Upload, na coluna Opções, referente ao certificado que se deseja importar, quando será então aberta uma subtela para busca do certificado.
Após a escolha do arquivo, acionar o botão [Salvar].
Conexões RHSoft
Nesta tela será cadastrada a URL de conexão do SOFTe com o RHSoft. Após selecionar o Contrato, preencher os campos USUÁRIO e SENHA dados do usuário de conexão com o RHSoft, também os campos HOST, PORTA e SID. Após preenchimento dos dados, acionar o botão [Salvar], os dados serão exibidos no segundo bloco da tela.
Para alteração dos dados cadastrados, acionar o cursor sobre o texto Editar da coluna Opções, quando os dados serão exibidos na tela, e poderão ser alterados conforme necessidade.
Se houver necessidade de excluir uma conexão, acionar o cursor sobre o texto Remover da coluna Opções.
Configurações
Esta tela armazena os parâmetros de configuração necessários ao processamento da mensageria. Alertamos que somente usuários com conhecimento técnico tenham acesso a esta tela.
Na tabela abaixo, estão listados todos os parâmetros que podem ser definidos/alterados através desta tela.
Parâmetro | Conteúdo | Descrição |
---|---|---|
Bando de Dados | ||
banco | oracle | Banco de Dados |
conexao.url |
| Endereço do Banco de Dados |
conexao.usuario |
| Usuário do Banco de Dados |
Certificado Digital | ||
keystore.path |
| Diretório de Armazenamento dos Certificados |
mail.subject.certificado.expirado |
| eMail Certificado Expirado - Assunto |
mail.body.certificado.expirado |
| eMail Certificado Expirado - Conteúdo e-mail |
mail.subject.token.senha |
| eMail Senha - Assunto |
mail.smtp.auth | true (sim) ou false (não) | eMail SMTP Auth |
mail.smtp.host |
| eMail SMTP Host |
mail.smtp.password |
| eMail SMTP Password |
mail.smtp.port |
| eMail SMTP Port |
mail.smtp.socketFactory.class |
| eMail SMTP SocketFactory Class |
mail.smtp.socketFactory.port |
| eMail SMTP SocketFactory Port |
mail.smtp.user |
| eMail SMTP User |
Envio e Retorno de Arquivos | ||
getResult.thread.limit |
| Número de processos na Consulta Retorno |
sender.thread.limit |
| Número de processos no Envio |
numero.maximo.eventos | 50 | Número máximo de mensagens por lote |
status.processo.final | 9 | Status RHSOFT - Dado Extraído |
status.processo.inicio | 4 | Status RHSOFT - Dado Não Extraído |
getResult.timeout.minutes |
| Tempo Limite na Consulta Retorno |
sender.timeout.minutes |
| Tempo Limite no envio |
sender.delay |
| Tempo de envio entre os lotes |
url.consultar_lote_eventos |
| URL eSocial - Consulta Retorno |
url.enviar_lote_eventos |
| URL eSocial - Envio |
Log | ||
getResult.log.on | true (sim) ou false (não) | Ativa Log ao Consultar Retorno |
sender.log.on | true (sim) ou false (não) | Ativa Log ao Enviar |
Proxy | ||
proxy.host |
| Proxy Host |
proxy.password |
| Proxy Password |
proxy.port |
| Proxy Port |
proxy.user |
| Proxy User |
Segurança | ||
encryptShuffleKey | tidexacrypto | Parâmetro de Segurança |
Link | ||
link.base.conhecimento | https://tidexa.atlassian.net/wiki/spaces/RHSOFT/pages/118493483/SE+-+SOFTe+ES+-+eSocial | Link para Base de Conhecimento |
Tempo limite da sessão |
| Tempo de encerramento em caso de inatividade |
Informações Técnicas
RHSoft
Para controlar o processamento e envio dos arquivos, foram criadas na base de dados do RHSoft as tabelas:
ES_ARQUIVO
Contém a lista de eventos definidas pelo eSocial (Tabela 9), que são de responsabilidade da folha de pagamento. A coluna COD_ARQUIVO obedece ao código também definido pelo eSocial.
ES_GRUPO
Identifica os grupos que definem os fluxos a serem processados (Inicial, Diário e Periódico).
ES_GRUPO_ARQUIVO
Vincula os arquivos a qual grupo pertencem e define a sequência de processamento. Os arquivos do grupo INICIAL, também fazem parte do grupo DIÁRIO.
ES_PROCESSO
Responsável por administrar os processamentos ocorridos para cada fluxo/etapa. A coluna STATUS, identifica a situação do processamento, esta pode assumir um dos seguintes conteúdos:
1 - Processando
2 - Processado corretamente
P - Processado com erro
A - Processado com aviso
D - Processado sem dados
3 - Efetivando
4 - Efetivado corretamente
E - Efetivado com erro
5 - Extraindo XML
6 - XML extraído
7 - XML não extraído
8 - Simulando retorno
S - Simulado
0 - Simulado com erro
9 - Extraído pelo SOFTe
F - Processo excluído
C - Cancelado
Quando o processo atinge o STATUS = 4, poderão ser extraídos pelo SOFTe, e os registros gerados e serem enviados ao eSocial. Os arquivos XML são extraídos a partir do conteúdo da coluna XML das tabelas ES_NNNN, de cada um dos registros que tenham a coluna STATUS=A (atual). Após a extração, o SOFTe altera o STATUS para 9, e fica aguardando o retorno, quando então serão gravados conteúdo para as colunas ID_PROTOCOLO e NR_RECIBO.
ES_NNNN - Onde 'NNNN' refere–se à identificação dada aos arquivos a serem gerados. Cada uma das tabelas ES_NNNN, possuem em suas colunas as informações que obedecem aos dados conforme leiaute de cada arquivo. Além destas colunas, a coluna STATUS, assume conteúdo que identifica a situação do registro, que pode ser:
A - Atual
P - Passada
F - Futura
E - Eliminar
D - Eliminada
Ao ser executada a etapa “Processa” de cada um dos fluxos, os registros gerados nas tabelas ES_NNNN têm a coluna STATUS=F (Futura), após a etapa "Efetiva", a coluna STATUS é alterada para A (Atual), quando então pode ser enviada ao eSocial. Se a mesma informação for novamente alterada, a anterior terá o STATUS=P (Passada).
Resumindo, devem ser extraídos o conteúdo da coluna XML das tabelas ES_NNNN, cujo registro tenha a coluna STATUS=A (Atual), do processo (ES_NNNN.ID_PROCESSO = ES_PROCESSO.ID_PROCESSO) cujo conteúdo da coluna STATUS seja = 4 (Efetivado corretamente).
SOFTe
O SOFTe foi desenvolvido em java para integração com o eSocial, visando troca de mensagens, e exibição de algumas informações em telas. Utiliza o EntityManager do próprio java para gerenciar as entidades e conexões com o banco de dados Oracle.
Para suportar as aplicações de Dashboard e os WebServices é utilizado o JBoss Wildfly 10.1.0. O framework utilizado para o desenvolvimento web é o Primefaces.
O sistema está organizado nos seguintes projetos:
SOFTe
Responsável pela estrutura de exibição (Dashboard)
Harvester
Responsável por popular alguns dados nas tabelas
Sender
Responsável por armazenar métodos de integração com o eSocial no envio de lotes
GetResult
Responsável por armazenar as classes que fazem a integração com o eSocial na Consulta de lotes enviados
Updater
Responsável por atualizar no RHSoft os arquivos retornados do eSocial
SofteWS
Responsável pela estrutura de webservice para consulta de protocolos e envio de arquivos externos
Arquivos Externos
Através do consumo do serviço SofteWS, arquivos gerados no leiaute do eSocial (S-nnnn), podem ser disponibilizados na base de dados do SOFTe, e serem enviados/retornados do ambiente do eSocial.
Configurações para acesso
A aplicação que vai disponibilizar os arquivos, deve conter a seguinte configuração:
Onde: localhost, é o IP de onde o serviço está implantado e 8080 é a porta
O formato seria seria assim: http://<IP>:<porta>/softEWS/MensagemWs?wsdl
Também é necessário um usuário/senha que exista na tabela Usuário do SOFTe. O título Usuários deste documento, traz orientação sobre a criação de usuário. Sugerimos criar um usuário específico para este processo, que será passado na Requisição a ser feita.
Resumo do Processo
RHSoft -> SOFTe
Quando o processo realizado no RHSoft atinge o STATUS = 4 (Efetivado Corretamente), o serviço Harvester extrai o conteúdo da coluna XML das tabelas ES_NNNN, vinculadas a este processo (ES_NNNN.ID_PROCESSO = ES_PROCESSO.ID_PROCESSO), que tenham a coluna STATUS = A (Atual) e altera o conteúdo da coluna STATUS da tabela ES_PROCESSO para 9 (Extraído pelo SOFTe).
As mensagens extraídas podem ser visualizadas no Dashboard com status “Mensagem pendente de envio”.
SOFTe -> eSocial
Quando for executado o serviço Sender, as mensagens pendentes de envio serão assinadas digitalmente, com base no Certificado Digital cadastrado para a empresa a qual pertence a mensagem, agrupa em lotes de até 50 mensagens, quebrando os lotes por tipo de arquivo, e envia para o ambiente do eSocial, seguindo as regras estabelecidas no Manual de Orientação do Desenvolvedor.
Após este processo, as mensagens transmitidas passam a ser exibidas no Dashboard com o status “Aguardando Processamento”.
eSocial -> SOFTe
Após envio dos lotes ao ambiente do eSocial, o serviço GetResult é responsável por consultar o resultado do processamento da mensagem. Quando esta for processada pelo eSocial, este serviço altera o status da mensagem para aquela contida no XML de retorno, podendo assumir diversos conteúdos, conforme a ocorrência.
O status de retorno das mensagens podem ser consultados no Dashboard, após o retorno do processo, onde se pode identificar se o processamento ocorreu com sucesso, ou houve alguma ocorrência a ser corrigida.
SOFTe -> RHSoft
Após o retorno do processamento das mensagens pelo eSocial, o serviço Updater é responsável por gravar nas colunas ID_PROTOCOLO e NR_RECIBO das tabelas ES_NNNN, o número do recibo retornado que garante o processamento da mensagem.
Na ocorrência de qualquer status que indique situação a ser corrigida, este serviço altera o conteúdo da coluna STATUS para P (Passada) e da coluna RETIFICAR para R (Rejeitada), possibilitando assim que a informação seja corrigida e enviada novamente.
Este serviço também é responsável por gravar na tabela ES_RETORNO_EVENTO, o conteúdo do totalizador contido no XML de retorno conforme o tipo de arquivo enviado
22/09/2021 - Sistemas Externos
Passos para acesso
Criar um usuário e senha dentro do Softe
Endereço para consumir o serviço
URL: http://localhost:8080/softeWS/MensagemWs?wsdl (onde o nome localhost será substituído pelo endereço do servidor do serviço JAVA).
MÉTODO: POST
XML ENVIO COMO BODY RAW
Existem duas opções opções de serviços
<!-- envio de mensagem -->
<!-- consulta protocolo da mensagem →
Onde o arquivo tem que seguir a seguinte regra:
<!–exemplo de arquivo de envio de mensagem -->
Informações |
---|
<!-- envio de mensagem --> <x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://softews.softe.tidexa.com.br/"> <mensagem> </sof:enviarArquivo>
|
Para obter o retorno do arquivo enviado
Informações |
---|
<!-- consulta protocolo da mensagem --> </usuario> |
Toda a comunicação será feitas através de WebService, consumindo os serviços enviarArquivo e consultarProtocolos.
enviarArquivo
Campos Necessários: id, xml, e-mail e senha
obs.: O ID_EMPRESA será obtido com base no <nrInsc> do bloco <ideEmpregador>, e o campo TIPO_ARQUIVO com base no tag <eSocial xml........../shema/evt/****>
ConsultaProtocolos
Campos Necessários: id, e-mail e senha