01. DADOS GERAIS
Produto: | Solucoes_totvs_parceirosexptotvs |
---|
|
|
---|
Linha de Produto: | |
---|
Segmento: | |
---|
Módulo: | Modulos_totvs_rh |
---|
ModulosTOTVSRH | TOTVS RH (Linha Protheus) - Gestão de Pessoas (SIGAGPE) |
---|
|
|
---|
Função: | rh.sigagpe.integration.fgtsdigital.tlpp GPEM815 |
---|
País: | Brasil |
---|
Ticket: | N/A |
---|
Story: | DRHROTPRT-14963 |
---|
02. SITUAÇÃO/REQUISITO
Esta rotina tem como finalidade a geração do arquivo simplificado para recomposição do histórico do vínculo do trabalhador.
O arquivo resultante segue o leiaute estabelecido pelo governo, conforme a versão 1.0 datada de 09/08/23, disponível para consulta no seguinte link: Leiaute Recomposição Vínculo
03. SOLUÇÃO
Criação da tela do POUI e API contendo as informações solicitadas e contendo as opções de exportação do arquivo.
Card documentos |
---|
Informacao | Esse procedimento também pode ser realizado diretamente na plataforma do governo. A nova rotina serve apenas para facilitar este processo. |
---|
Titulo | Importante |
---|
|
04. DEMAIS INFORMAÇÕES
Um requisito para a rotina funcionar é a ativação do servidor REST na porta multiprotocolo, pelo uso da chave app_environment.
Totvs custom tabs box |
---|
tabs | Menu,Navegação,Informações Técnicas |
---|
ids | menu,naveg,tech |
---|
|
Totvs custom tabs box items |
---|
|
Primeiro, devemos adicionar a nova tela ao menu. Como sugestão, posicionar dentro do menu Miscelânea → Fgts, seguindo o passo a passo abaixo para inclusão:
Acessar o Configurador e ir até o menu Ambiente > Cadastros > Menus Image Added
Marcar a opção Gestão de Pessoal e clicar em OK
Image Added
Clicar em Adicionar
Image Added
Selecionar a Opção: Miscelânea > Fgts e clicar em “Novo Item”
Image Added
Preencher conforme abaixo
Image Added
Clicar em Gerar, preencher com SIGAGPE e clicar em Gerar
Image Added
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | naveg |
---|
| Navegação e Opções em tela
Ao acessar o novo menu criado, abre-se uma nova tela. Nessa nova tela, será exibido o menu para acesso à tela de Geração de Arquivo de Recomposição de Vínculo Empregatício. Image Added
A tela acessada vem, inicialmente, em branco. Sendo necessário selecionar a opção de Filtros Avançados para realizar os filtros necessários na tela. Image Added
Para listar os registros necessários, é necessário preencher os 3 campos obrigatórios (Data Desligamento De, Data Desligamento Até e Filial). Image Added
Pode haver mais de uma filial selecionada, no entanto elas devem ter a mesma raiz de CNPJ obrigatoriamente. Ao aplicarmos os filtros será apresentada a seguinte tela: Image Added
Lista de FuncionáriosAo obter a lista de funcionários, temos as colunas: - CNPJ/CPF Empregador → Correspondente a raiz do CNPJ do empregador;
- CPF trabalhado → Campo RA_CIC;
- Dt. Admissão → Campo RA_ADMISSA;
- Matrícula → Campo RA_CODUNIC;
- Categoria TSVE → Campo RA_CATEFD (mostra apenas quando a categoria é TSVE);
Além disso, temos um botão para expandir os dados de cada um dos funcionários que serão gerados no arquivo. Ao expandir os dados dos funcionários, temos a opção de editar a categoria mencionada abaixo.
Edição da Categoria (Utilizada apenas no Protheus e Datasul)Para o Protheus e Datasul, temos a opção de alterar a categoria do funcionário em determinada competência antes de gerarmos os arquivos. Para realizar essa alteração precisamos acessar o botão de "Alterar Categoria" no detalhamento das informações do funcionário. Image Added
Na alteração da categoria, devemos selecionar a lupa para escolher a nova categoria. Image Added
A opção "Aplicar nas competências anteriores" vem, por padrão, com "Sim". E faz com que as competências anteriores a selecionada desse funcionário também sejam alteradas. Aviso |
---|
| A alteração de categoria não realiza alteração em nenhum local no Protheus e serve apenas para a geração de arquivo de funcionários que tiveram sua categoria alterada ao longo do vínculo empregatício. |
Competências sem incidência de FGTSPodem haver meses sem a incidência de FGTS. Nesse caso, mostraremos os valores zerados e a coluna "Ind. Ausência" como SIM. Por exemplo:
Image Added
Download do ArquivoPara fazer o download do arquivo basta selecionar a opção que melhor lhe agrada. Image Added
O arquivo é gerado com base nas informações da tela. O arquivo deve conter no máximo 5000 linhas. Caso ultrapasse esse limite, geramos mais de 1 arquivo, respeitando o limite de 5000 linhas por arquivo. |
Totvs custom tabs box items |
---|
|
Este detalhamento tem como objetivo registrar os endpoints da interface de FGTS Digital, desenvolvida utilizando PO-UI. Para o endpoint principal, adotamos a nomenclatura presente no leiaute oficial fornecido pelo governo, disponível no seguinte link: FGTS Digital - Leiaute do Arquivo de Recomposição Histórico do Vínculo
No PO-UI, é padrão que, ao recebermos uma lista, esta esteja encapsulada dentro de uma propriedade denominada "items". Embora essa informação esteja omitida nos endpoints a seguir, ela pode ser visualizada no JSON de retorno dos exemplos.
|
|
Visão Geral do Programa
O Painel de Conferência de IRRF é uma das novidades no middleware.
Esta funcionalidade tem como objetivo não ser apenas um relatório, mas uma ferramenta simples e intuitiva para a consulta dos valores de retenção de IRRF presentes na Folha (S-1200) e no evento Totalizador ( S-5002 ) enviado pelo governo. É composto pelas informações dos eventos ( S-1200, S-2299, S-2399 e S-1210) enviados para o eSocial.
A seguir iremos listar e explicar o que cada valor representado dentro do painel, bem como utilizar suas funcionalidades.
Procedimento para Uso
Miscelânea → eSocial → Monitor
Image Removed
Passo a Passo
Navegação
Ao acessar esta opção será exibido o menu das funcionalidades presentes no Painel eSocial, conforme imagem abaixo:
Image Removed
Filtros
Ao clicarmos em "Relatório de Conferência de IRRF" será exibida a seguinte tela:
Image Removed
Lista de campos apresentados na tela para utilização como filtro das informações a serem processadas:
...
Campo
...
Descrição
...
Ano/Mês no formato AAAA/MM, ou apenas Ano no formato AAAA, para ser considerado no processamento das informações do painel.
...
CPF do colaborador o qual se deseja buscar os valores de IRRF.
...
Parâmetro que permite listar somente os casos que apresentaram alguma divergência de valores entre as colunas Valor de Retenção RH x Valor de Retenção Governo, ou listar todos os colaboradores que possuam valor de IRRF em sua remuneração, independente de divergência ou não.
Opções:
- Sim = lista somente colaboradores com divergência de valores nas colunas de valor.
- Não = lista informações de todos os colaboradores que possuam valor de IRRF ou Base de IR em sua remuneração.
...
Parâmetro que permite listar somente os casos que apresentaram algum aviso devido diferença de valores entre os tipos de IR possíveis, seja retenção, base ou dedução
Opções:
- Sim = lista somente colaboradores com alerta nos tipos de IR
- Não = lista informações de todos os colaboradores que possuam valor de IRRF ou Base de IR em sua remuneração.
Informações |
---|
|
O painel conta com filtro adicional que pode ser encontrado clicando no botão "Busca Avançada". Neste filtro é possível adicionar a condição de categoria e quantos funcionários devem ser retornados por página. |
Image Removed
Lista de campos apresentados na tela de Busca Avançada:
...
Campo
...
Descrição
...
Parâmetro que permite listar somente os casos que apresentaram alguma divergência de valores entre as colunas FOLHA x Governo, ou listar todos os colaboradores que possuam valor de IRRF em sua remuneração, independente de divergência ou não.
Opções:
- Sim = lista somente colaboradores com divergência de valores nas colunas de valor.
- Não = lista informações de todos os colaboradores que possuam valor de IRRF ou Base de IR em sua remuneração.
...
CPF do colaborador o qual se deseja buscar os valores de IRRF.
...
Processamento
Ao aplicarmos os filtros será apresentada a seguinte tela:
Image Removed
Apresentação das Informações
Cards Totalizadores da Consulta
Estes cards totalizam os valores de retenção de IR encontrados nas duas fontes de informação ( RH e Governo ) e demonstra de forma sintética os resultados, desta forma, já é possível identificar se existem divergências nos valores.
Image Removed
Lista de Funcionários
Abaixo do quadro de totalizadores temos a lista de funcionário, sendo possível consultar o valor total de IR Retido de cada um deles, com os valores presentes na folha e no Governo.
Image Removed
Ao expandir cada funcionário será possível consultar os valores de retenção de IR de cada recibo de pagamento
Image Removed
Detalhamento do demonstrativo
Ao clicar sobre o demonstrativo será apresenta demais dados sobre os tipos de IR existente em no demonstrativo selecionado. Informações apresentadas:
- No cabeçalho é possível visualizar a qual demonstrativo se referem os dados apresentados;
- Na lista de consolidação são apresentados os tipos de IR existentes no demonstrativo, podendo expandir cada um deles para visualização;
- A descrição de cada tipo de IR está relacionada a incidência IR indicada nas rubricas existente em cada recibo, consulta esta relação em "observações".
Image Removed
Image Removed
Abaixo o resultado da expansão do item "Rendimentos tributáveis"
- Neste exemplo a descrição Remuneração Mensal ocorre devido a existência de rubricas com incidência IR 11 neste demonstrativo;
- A descrição apresentada tem origem na tabela S138, é a mesma ao selecionar este código no cadastro de verbas.
Image Removed
Detalhamento do Funcionário
Ao clicar sobre o funcionário será apresenta demais dados sobre os tipos de IR existente totalizados. Informações apresentadas:
- No cabeçalho é possível visualizar a quais demonstrativos se referems os dados apresentados;
- Na lista de consolidação são apresentados os tipos de IR existentes, podendo expandir cada um deles para visualização;
- A descrição de cada tipo de IR está relacionada a incidência IR indicada nas rubricas existente em cada recibo, consulta esta relação em "observações".
Image Removed
Image Removed
Observações
Abaixo algumas considerações importantes para o correto funcionamento do Painel de Conferência de IRRF.
...
O Pacote da expedição contínua a partir de 25/08/2023 deve estar aplicada.
- Os valores Folha são capturados dos eventos S-1200, S-2299 e S-2399 gravados na tabela RJO atualizados a partir da expedição contínua citada, portanto os meses anteriores podem não ser apresentados.
- Os valores Governo são capturados do evento S-5002, esse evento é recepcionado ao transmitir o evento S-1210 e seus valores também são gravados na tabela RJO, portanto somente os meses que possuem dados para este evento na tabela citada são apresentados no relatório.
IMPORTANTE:
A Visualização do detalhamento de cada demonstrativo de pagamento, assim como a exportação analítica e o filtro por aviso estão disponíveis na expedição contínua a partir de 12/01/2024.
Tipos de IR vs Incidência IR:
- A descrição da tabela abaixo representando o grupo dos códigos relacionados;
- A descrição de cada código da tabela abaixo está na tabela S138, caso seja um código não existente nesta tabela, o texto apresentado será o mesmo descrito na documentação técnica do evento S-5002
- Alguns códigos são aglutinados em outro. Exemplos.:
- 11 - Remuneração e 13 - Férias. No evento S-5002 e no relatório são aglutinados no código 11,
- 31 - Remuneração e 33 - Férias. No evento S-5002 e no relatório são aglutinados no código 31,
- Documentação técnica do governo
...
Detalhamento do grupo de colunas da Lista de Funcionários
...
Campos
...
Descrição
...
Atributo
...
Campo | Detalhamento
...
Detalhamento ao expandir o grupo Lista de Funcionários
...
Campos
...
Descrição
...
Atributo
...
Campo | Detalhamento
...
Informações Técnicas da API
Este detalhamento tem como objetivo registrar os endpoints da interface de FGTS Digital, desenvolvida utilizando PO-UI. Para o endpoint principal, adotamos a nomenclatura presente no leiaute oficial fornecido pelo governo, disponível no seguinte link:
FGTS Digital - Leiaute do Arquivo de Recomposição Histórico do Vínculo
No PO-UI, é padrão que, ao recebermos uma lista, esta esteja encapsulada dentro de uma propriedade denominada "items".
Embora eu tenha omitido essa informação nos dois endpoints a seguir, ela pode ser visualizada no JSON de retorno dos exemplos.
Deck of Cards |
---|
|
Card |
---|
id | FGTSDigitalLista |
---|
label | FGTS Digital - Lista |
---|
| Objetivo: Busca dos dados para geração do arquivo. Tipo de requisição: GET Endpoint: /api/rh/v1/fgts-digital Query Params: | Nome | Descrição | Tipo | Obrigatório | Exemplo | dataDesligamentoDe | Data de demissão do funcionário De | Sim | dataDesligamentoAte | Data de demissão do funcionário Até | Sim | branch | Filial/Coligada (Multi Valores separados por vírgula) | string | Sim | “D MG 01,D MG 02” | matricula | Matrícula do eSocial | string | Não | “ab123456” | Estrutura de Retorno: Seguindo a nomenclatura informada no documento do FGTS Digital. Foram definidos os seguintes campos de retorno, sendo todos eles obrigatórios.. Campo | Tipo | cnpjEmpregador | string | cpfTrabalhador | string | dataAdmissao | string | matricula | string | categoriaTSVE | string | pagamentos | array de objeto detalhado abaixo |
Para o array de pagamentos, a estrutura do objeto de retorno no json deve conter obrigatoriamente os campos abaixo. Campo | Tipo | competencia | string | categoria | string | valorPrincipal | float | valorDecTerceiro | float | indAusenciaFGTS | string |
Exemplo de Requisição: GET /api/rh/v1/fgts-digital?branchCode=D MG 02&dataDesligamentoDe=&dataDesligamentoAte= Expandir |
---|
| { "items": [ { "cnpjEmpregador": "13004999", "cpfTrabalhador": "22603302078", "dataAdmissao": "2021-01-02", "matricula": "T1D MG 01 24361020210401101518", "categoriaTSVE": "", "pagamentos": [ { Card |
---|
id | FGTSDigitalLista |
---|
label | FGTS Digital - Lista |
---|
| Objetivo: Busca dos dados para geração do arquivo.
Tipo de requisição: GET Endpoint: /api/rh/v1/fgts-digital Query Params: Nome | Descrição | Tipo | Obrigatório | Exemplo | dataDesligamentoDe | Data de demissão do funcionário De | string | Sim | "2023-01-02T16:37:02-03:00" | dataDesligamentoAte | Data de demissão do funcionário Até | string | Sim | "2024-01-02T16:37:02-03:00" | branch | Filial/Coligada (Multi Valores separados por vírgula) | string | Sim | “D MG 01,D MG 02” | matricula | Matrícula do eSocial | string | Não | “ab123456” |
Estrutura de Retorno: Seguindo a nomenclatura informada no documento do FGTS Digital. Foram definidos os seguintes campos de retorno, sendo todos eles obrigatórios. Campo | Tipo | cnpjEmpregador | string | cpfTrabalhador | string | dataAdmissao | string | matricula | string | categoriaTSVE | string | pagamentos | array de objeto detalhado abaixo |
Para o array de pagamentos, a estrutura do objeto de retorno no json deve conter obrigatoriamente os campos abaixo. Campo | Tipo | competencia | string | categoria | string | valorPrincipal | float | valorDecTerceiro | float | indAusenciaFGTS | string |
Exemplo de Requisição: GET /api/rh/v1/fgts-digital?branchCode=D MG 02&dataDesligamentoDe=&dataDesligamentoAte= Expandir |
---|
| { "items": [ { "cnpjEmpregador": "13004999", "cpfTrabalhador": "22603302078", "dataAdmissao": "2021-01-02", "matricula": "T1D MG 01 24361020210401101518", "categoriaTSVE": "", "pagamentos": [ { "competencia": "10-2021", "categoria": " ", "valorPrincipal": 2000, "valorDecTerceiro": 0, "indAusenciaFGTS": "" }, { "competencia": "11-2021", "categoria": " ", "valorPrincipal": 0, "valorDecTerceiro": 0, "indAusenciaFGTS": "S" }, { "competencia": "12-2021", "categoria": " ", "valorPrincipal": 2000, "valorDecTerceiro": 2000, "indAusenciaFGTS": "" }, ] }, { "cnpjEmpregador": "13004999", "cpfTrabalhador": "38372084009", "dataAdmissao": "2021-01-02", "matricula": "T1D MG 01 24362020210401102019", "categoriaTSVE": "", "pagamentos": [ { "competencia": "02-2021", "categoria": " ", "valorPrincipal": 3000, "valorDecTerceiro": 2000, "indAusenciaFGTS": "" } ] }, { "cnpjEmpregador": "13004999", "cpfTrabalhador": "34702115073", "dataAdmissao": "2020-11-09", "matricula": "T1D MG 01 43810120230518113007", "categoriaTSVE": "", "pagamentos": [ { "competencia": "02-2021", "categoria": "101", "valorPrincipal": 3500, "valorDecTerceiro": 0, "indAusenciaFGTS": "" }, { "competencia": "03-2021", "categoria": "101", "valorPrincipal": 3500, |
| competencia "10-2021"categoria , "valorPrincipal": 2000, "valorDecTerceiro": 0, "indAusenciaFGTS": "" }, { "competencia": "11-2021", "categoria": " ", "valorPrincipal": 0, "valorDecTerceiro": 0, "indAusenciaFGTS": "S" }, { "competencia": "12-2021", "categoria": " ", "valorPrincipal": 2000, "valorDecTerceiro": 2000, "indAusenciaFGTS": "" },
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
] }, Card |
---|
id | FGTSDigitalBranches |
---|
label | FGTS Digital - Branches |
---|
| Objetivo: Listagem de Filiais (Protheus) / Coligadas (RM) / Estabelecimento (Datasul)
Tipo de requisição: GET Endpoint: /api/rh/v1/fgts-digital/branches Query Params: Campo | Descrição | Tipo | Obrigatório | Exemplo | filter | Campo automático do lookup. Pode filtrar o código ou nome da filial/coligada | string | Não | “Filial X” |
Estrutura de Retorno: Para conseguirmos abranger todas as áreas, utilizamos a nomenclatura abaixo. Campo | Tipo | branchCode | string | branchName | string |
Exemplo de Requisição: GET /api/rh/v1/fgts-digital/branches?filter=D MG | cnpjEmpregador13004999cpfTrabalhador38372084009,"dataAdmissao": "2021-01-02",matriculaT1D 01 24362020210401102019categoriaTSVEbranchName": "Filial UBERABA" |
| , "pagamentos": [ { "competencia": "02-2021", "categoria": " ", "valorPrincipal": 3000, "valorDecTerceiro": 2000, "indAusenciaFGTS": "" } ] }, { "cnpjEmpregador": "13004999", "cpfTrabalhador": "34702115073", "dataAdmissao": "2020-11-09", "matricula": "T1D MG 01 43810120230518113007", "categoriaTSVE": "", "pagamentos": [ { "competencia": "02-2021", "categoria": "101", "valorPrincipal": 3500, "valorDecTerceiro": 0, "indAusenciaFGTS": "" }, { "competencia": "03-2021",
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | FGTSDigitalCategorias |
---|
label | FGTS Digital - Categorias |
---|
| Objetivo: Para o Protheus, foi disponibilizada a opção de trocar a categoria de determinado registro antes de realizar a geração do arquivo. Para isso, foi necessária a criação de um endpoint de Listagem de Categorias. Tipo de requisição: GET Endpoint: /api/rh/v1/fgts-digital/categorias Query Params: Campo | Descrição | Tipo | Obrigatório | Exemplo | branchCode | Campo com a filial que será realizada a busca das categorias | string | Sim | "D MG 01" | filter | Campo automático do lookup. Pode filtrar o código ou descrição da categoria | string | Não | “Empregado” |
Estrutura de Retorno: Para o retorno, utilizamos a forma abaixo. Campo | Tipo | codigo | string | descricao | string |
Exemplo de Requisição: GET /api/rh/v1/fgts-digital/categorias?branchCode=D MG 01&filter=Empregado Expandir |
---|
| { "items": [ { "codigo |
| "categoria": "101", "descricao": "Empregado - Geral, inclusive o empregado público da administração direta ou indireta contratado pela CLT" |
| "valorPrincipal": 3500valorDecTerceiro0 "indAusenciaFGTS": ""descricao": "Empregado - Trabalhador rural por pequeno prazo da Lei 11.718/2008" }, |
| } ] } ] } |
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
Card |
---|
id | FGTSDigitalBranches |
---|
label | FGTS Digital - Branches |
---|
| Objetivo: Listagem de Filiais (Protheus) / Coligadas (RM) / Estabelecimento (Datasul) Tipo de requisição: GET Endpoint: /api/rh/v1/fgts-digital/branches Query Params: Campo | Descrição | Tipo | Obrigatório | Exemplo | filter | Campo automático do lookup. Pode filtrar o código ou nome da filial/coligada | string | Não | “Filial X” |
Estrutura de Retorno: Para conseguirmos abranger todas as áreas, utilizamos a nomenclatura abaixo. Campo | Tipo | branchCode | string | branchName | string |
Exemplo de Requisição: GET /api/rh/v1/fgts-digital/branches?filter=D MG Expandir |
---|
| { "items": [ "descricao": "Empregado - Aprendiz" }, { "codigo": "104", "descricao": "Empregado - Doméstico" }, { "codigo": "105", "descricao": "Empregado - Contrato a termo firmado nos termos da Lei 9.601/1998" }, { "codigo": "107", "descricao": "Empregado - Contrato de trabalho Verde e Amarelo - sem acordo para antecipação mensal da multa rescisória do FGTS" }, { "codigo": "108", "descricao": "Empregado - Contrato de trabalho Verde e Amarelo - com acordo para antecipação mensal da multa rescisória do FGTS" }, { "codigo": "111", "descricao": "Empregado - Contrato de trabalho intermitente" }, |
| branchCodeD MG 01branchNameFilial BELO HORContribuinte individual - Diretor não empregado, com FGTS" }, { " |
| branchCodeD MG 02branchNameFilial UBERABAContribuinte individual - Diretor não empregado, sem FGTS" } ] } |
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
|
|
|
05. ASSUNTOS RELACIONADOS
Não se aplica