01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

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.

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.

Menu - Rotina GPEM815


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



Marcar a opção Gestão de Pessoal e clicar em OK



Clicar em Adicionar



Selecionar a Opção: Miscelânea > Fgts e clicar em “Novo Item”



Preencher conforme abaixo



Clicar em Gerar, preencher com SIGAGPE e clicar em Gerar

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.


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.


Para listar os registros necessários, é necessário preencher os 3 campos obrigatórios (Data Desligamento De, Data Desligamento Até e Filial).

Pode haver mais de uma filial selecionada, no entanto elas devem ter a mesma raiz de CNPJ obrigatoriamente.

Apresentação das Informações

Ao aplicarmos os filtros será apresentada a seguinte tela:

Lista de Funcionários

Ao 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.


Na alteração da categoria, devemos selecionar a lupa para escolher a nova categoria.

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.

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 FGTS

Podem haver meses sem a incidência de FGTS. Nesse caso, mostraremos os valores zerados e a coluna "Ind. Ausência" como SIM.

Por exemplo:


Download do Arquivo

Para fazer o download do arquivo basta selecionar a opção que melhor lhe agrada.

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.

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 essa informação esteja omitida nos endpoints a seguir, ela pode ser visualizada no JSON de retorno dos exemplos.


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=

{
    "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,
                    "valorDecTerceiro": 0,
                    "indAusenciaFGTS": ""
                }
            ]
        }
    ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

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

{
    "items": [
        {
            "branchCode": "D MG 01",
            "branchName": "Filial BELO HOR"
        },
        {
            "branchCode": "D MG 02",
            "branchName": "Filial UBERABA"
        }
    ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

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

{
    "items": [
        {
            "codigo": "101",
            "descricao": "Empregado - Geral, inclusive o empregado público da administração direta ou indireta contratado pela CLT"
        },
        {
            "codigo": "102",
            "descricao": "Empregado - Trabalhador rural por pequeno prazo da Lei 11.718/2008"
        },
        {
            "codigo": "103",
            "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"
        },
        {
            "codigo": "721",
            "descricao": "Contribuinte individual - Diretor não empregado, com FGTS"
        },
        {
            "codigo": "722",
            "descricao": "Contribuinte 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”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

05. ASSUNTOS RELACIONADOS

        Não se aplica