Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS RH

Linha de Produto:

Linha Protheus

Segmento:

RH

Módulo:

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 simplicado 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

Um requisito para a rotina funcionar é a porta multiprotocolo ou o REST estarem ativos.

Para ativar a porta multiprotocolo, acesse o appserver.ini do seu ambiente.

1. Na seção [DRIVERS] adicione os parâmetros:

MULTIPROTOCOLPORT=1
MULTIPROTOCOLPORTSECURE=0

Exemplo:

[DRIVERS]
ACTIVE=TCP
MULTIPROTOCOLPORT=1
MULTIPROTOCOLPORTSECURE=0

2. Na seção [GENERAL] adicionar o parâmetro:
APP_ENVIRONMENT=nome_do_ambiente

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.

Importante: esse processo também pode ser realizado diretamente na plataforma do governo. A nova rotina serve apenas para facilitar este processo,

04. DEMAIS INFORMAÇÕES

Menu

Primeiro, devemos adicionar a nova tela ao menu.

Minha sugestão é colocar dentro do menu Miscelânea → Fgts

Seguindo a sugestão segue passo a passo para inserir a rotina nesse menu.

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

Passo a Passo

Navegação

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.

Processamento

Ao aplicarmos os filtros será apresentada a seguinte tela:


Apresentação das Informações

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.

Importante: 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 eu tenha omitido essa informação nos dois 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ário 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