Histórico da Página
Informações Gerais
Especificação | |||
Produto | Logix | Módulo | Financeiro |
Segmento Executor | Manufatura | ||
Projeto1 | MANFIN01 | IRM1 | MANFIN01-559 Story - Integrar Logix x RH RM - Fase 2 |
Requisito1 |
| Subtarefa1 | MANFIN01-561 Gerar Especificação - Integrar Logix x RH RM - Fase 2 |
Chamado2 |
| ||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Integrar o sistema de recursos humanos RM Labore com os módulos financeiro e contábil do Logix. Esta é a segunda fase do projeto, e visa a integração do cadastro de funções/cargos, lançamentos de pagamentos a autônomos para constar na SEFIP, integração de comissão de representante e acerto de saldo de viagens para a folha de pagamento.
A integração se dará utilizando Mensagem Única/EAI2.
Contexto
A Totvs ofertará aos clientes do ERP Logix mais uma opção de gestão de RH, trata-se do produto “RM Labore”.
O RM Labore é uma solução que se aplica a qualquer empresa que possui um departamento de pessoal ou a empresas que controlam a folha de pagamento de outras organizações. O sistema facilita quaisquer atividades ligadas ao controle de uma folha de pagamento como: admissão de funcionários, controle de férias e rescisão, etc. Também possibilita a emissão de relatórios, planilhas, gráficos e cubos.
A integração possibilitará a realização de todos os processos de uma folha de pagamento de forma simples e segura, gerando os compromissos a pagar diretamente no financeiro do Logix, assim também os lançamentos contábeis diretamente no módulo contábil do ERP.
Escopo
- Cadastro de funções;
- Integração dos lançamentos de pagamentos a autônomos (SEFIP);
- Lançamentos de comissões e acerto de viagens.
Definição da Regra de Negócio
Cadastro de cargos
O cadastro de cargos é de responsabilidade do RH, portanto trata-se de um cadastro que será mantido pelo RM Labore, porém módulos do ERP Logix, como o CDV, efetuam leitura da tabela de cargos em processamentos de algumas funcionalidades. Para manter as informações de cargos atualizadas utilizaremos a mensagem única “Role” na versão 1.000.
O sentido da integração é do RM para o Logix. Atualmente usamos esta mensagem na integração com o RH Protheus. Portanto, a alteração consiste em preparar o adapter para atender ao RM também.
Para o RH obter o de-para de empresas somente do cadastro do EAI10000. Para a integração com o Protheus era observado também o cadastro da empresa no LOG00083.
Revisar o adapter e isolar os tratamentos específicos da integração com o Protheus colocando-os em uma condicional a ser executada de acordo o “ProductName” do aplicativo de origem.
Os produtos possuem códigos de cargo com tipo e tamanho distintos, para manter a compatibilidade será utilizado o campo internalid.
Ao receber um cadastro novo de cargo o Logix deverá gerar um código sequencial e atribuir ao cargo na gravação do registro no banco de dados. Utilizando o comando SQL a seguir para obter o menor código vago:
SELECT MIN(a.cod_cargo) + 1
INTO l_cargo_lgx
FROM cargo a
WHERE a.cod_cargo < 99999
AND a.cod_empresa = m_cod_empr_tabela
AND NOT EXISTS (SELECT 1
FROM cargo b
WHERE a.cod_empresa = b.cod_empresa
AND b.cod_cargo = a.cod_cargo + 1 )
Demais regas atuais do adapter permanecem inalteradas.
Integração de comissão de representantes e devolução de adiantamento de viagens
Será utilizada a mensagem MonthlyPayroll na versão 1, atualmente o Logix já utiliza esta mensagem para integrar com o RH Protheus.
Para a integração com o RM Labore serão necessárias algumas alterações:
Fin80167 – Integração de movimentos para folha de pagamento
- O objetivo é centralizar a preparação da mensagem MonthlyPayroll nesta função, para isso deverá receber um novo parâmetro que indicará a origem do movimento, onde:
- "CRE": indica que a origem é o módulo de contas a receber, então trata-se de comissão de representante;
- “CDV”: que indica que é devolução de adiantamento de viagem.
A obtenção do código da verba, pela seleção do campo "parametro_texto" da tabela "cap_par_compl" deve levar em função a origem:“CDV” parâmetro = "acerto_adiant_folha";“CRE” parâmetro = "provento_comis_folha".'
O centro de custo também será obtido do log2250 conforme a origem:“CDV” parâmetro = "centro_custo_adiant_folha";“CRE” parâmetro = "centro_custo_comis_folha".
Demais regras continuam inalteradas.
- Fin10036 – Integração de comissões A alteração consiste substituir a lógica atual da montagem da mensagem "MonthlyPayRoll" pela chamada da função fin80167_envia_mov_folha_eai(), evitando duplicidade de código.
A obrigatoriedade do representante ser cadastrado como fornecedor deixará de existir, pois para a integração com o RH basta ter o número da matrícula cadastrada no fin10020 (cadastro de representantes). - Fin80140 – Geração de evento referente a acerto de viagemAlterar a chamada da função fin80167 passando o parâmetro “CDV”.
Integração de dados de pagamentos a autônomos para compor a SEFIP
Objetivo: Efetuar a integração das informações de INSS referentes aos pagamentos realizados a fornecedores autônomos no CAP.
O RM utilizará estes dados para compor o arquivo da SEFIP juntamente com informações da folha de pagamento.
Não haverá mudança no processo de pagamento de autônomos no financeiro, ou seja, a geração das guias e pagamento dos impostos continuam sendo realizados no financeiro, o RM apenas consolidará as informações para a SEFIP.
Nesta integração será utilizada a mensagem ExternalAutonomousPayment na versão 1.000, a tabela a seguir apresenta o detalhamento de cada TAG do XML:
ExternalAutonomousPayment | Descrição | Observações | Tabela.campo Logix |
CompanyId | Empresa |
| inss_auton.cod_empresa |
BranchId | Nulo | O RM solicita que seja enviado o código da empresa nesta TAG, trata-se de um controle de coligada-filial do produto. | inss_auton.cod_empresa |
CompanyInternalId | Empresa |
| inss_auton.cod_empresa |
InternalId |
| Utilizar a chave da tabela inss_autom para controle. | chave inss_auton |
TakerId | CNPJ DO TOMADOR DO SERVIÇO | CNPJ da empresa tomadora do serviço. | empresa.num_cgc |
TakerSpecificId | CEI do Tomador de serviços, quando o tipo do tomador for Construção Civil |
| par_cap_pad.cod_parametro='num_matricula_inss' (se par_cap_pad.cod_parametro='ies_tip_iden_inss' = '2') |
TakerType | O serviço foi executado para o segmento 1 = Cessão Mão de Obra ou 2 = Construção Civil |
| se possuir CEI = 2 senão = 1 |
AutonomousName | Nome do fornecedor |
| fornecedor.raz_social |
DateOfBirth | Data de nascimento |
| sup_par_fornecedor.parametro ='dat_nascimento' |
AutonomousId | CPF do autonomo |
| fornecedor.num_cgc_cpf |
RegistrationNumber | Número de Inscrição do Trabalhador (NIT) |
| fornec_auton.num_inscr_inss |
AutonomousOcupationNationalCode | CBO - Código Brasileiro de Ocupação do Autônomo |
| fornec_auton.num_cbo |
AutonomousCategory | Categoria autonomo |
| sup_par_fornecedor.parametro='categoria_sefip' |
SefipEventCode | Código Ocorrência Sefip | sup_par_fornecedor, parametro = "grau_risco" | trata-se exposição do autonomo. |
IssueDate | Data de emissão do pagamento |
| ad_mestre ou nf sup frete_sup* |
DueDate | Data de vencimento do pagamento |
| enviar o vencimento da primeira AP. |
InitiationDate | Primeiro dia de prestação de serviço do autônomo | Data de cadastramento do fornecedor no Logix | fornecedor.dat_cadast |
ServiceNature | Natureza do serviço (Atividade Rural ou Urbana) | nulo | verificar se tem cadastro como produtor rural. |
DependentsNumber | Quantidade de Dependentes Salário família |
| cap_forn_dep_sped_social (salario familia) -fornec_depen (verificar se continua gravando) |
IRRFDependentsNumber | Quantidade de Dependentes IRRF |
| cap_forn_dep_sped_social (deduz irrf) -fornec_depen (verificar se continua gravando) |
PaymentValue | Valor bruto do pagamento |
| ad_mestre.val_tot_nf ou nf_sup.val_tot_nf_d e frete_sup.val_conhec |
INSSValue | Valor do INSS |
| cap_ret_inss_auton.val_inss |
Envio da mensagem ExternalAutonomousPayment
A integração do INSS de autônomos deve ser realizada mensalmente, para isso vamos construir um programa que fará a extração das informações contidas na tabela cap_ret_inss_auton.
Código: fin30166
Descrição: Exportação dados de INSS para sistemas de RH.
Opções de menu: Informar, Processar, Profile e Sair.
Campos: Empresa, multi-valorado, obrigatório, com zoom e descrição. Data de referência, campo obrigatório, data com o formato MM/YYYY.
Validações: Código da empresa precisa estar cadastrado na tabela de empresa do Logix. A data de referência precisa ser anterior ao mês e ano atual.
Processamento: o processamento será baseado no fin30158 processa informações para o RH protheus.
- Verificar os parâmetros de desoneração: "rhu_desoneracao_periodo_inicia" e "rhu_desoneracao_periodo_final" para cada empresa, se o período informado na tela estiver entre as datas inicial e final deve-se buscar o índice de desoneração da seguinte forma:
SELECT SUM(receita_bruta_ti_tic),
SUM(receita_bruta_outras)
INTO l_receita_ti_tic,
l_receita_outras
FROM rhu_inss_faturamento
WHERE dat_refer = mr_tela.periodo
AND empresa = l_cod_empresa
Onde o índice é: l_receita_outras / (l_receita_outras + l_receita_ti_tic)
- Caso exista índice de desoneração a função cap8882_atualiza_inss_mp563 deve ser executada para atualizar os dados baseados no índice calculado.
- Os dados para a composição da mensagem serão selecionados das tabelas "cap_ret_inss_auton" e "inss_auton", conforme o cursor:
- O arquivo xml terá uma lista contendo cada registro das tabelas "inss_auton" e "cap_ret_inss_auton".
- O valor da retenção e data de movimento será obtido da tabela "cap_ret_inss_auton":
- Vide a tabela da mensagem "ExternalAutonomousPayment" para detalhes da busca de chaves estrangeiras.
- Criaremos uma nova tabela denominada "cap_integracao_inss_auton" com a finalidade de armazenar a empresa, período e chave primaria da tabela "inss_auton" dos registros processados. Os detalhes da tabela estão na seção "Dicionário de dados" deste documento.
- Após o envio do registro para o adapter, deve-se gravar a tabela "cap_integracao_inss_auton" com a emperesa, período da tela e a chave primaria da tabela "inss_auton" (campos separados por "|").
- No retorno da mensagem o de-para do eai_deve ser gravado com o "ID" "ExternalAutonomousPaymentInternalId".
- No processamento deve-se verificar se já houve integração para a empresa e período informando na tela, através da tabela "cap_integracao_inss_auton".
Não havendo dados continuar o processo normalmente pois trata-se do primeiro processamento para o período;
Se encontrar registro, significa que já houve uma integração anteriormente. Então deve ser exibida a seguinte mensagem, com as opções SIM e NÃO , para que o usuário tome a decisão.
SIM: Os registros enviados anteriormente serão excluídos, então deve ser montada uma mensagem com o evento "DELETE" onde devem constar todos os registros da tabela "cap_integracao_inss_auton" para o período e empresa. Posteriormente enviar uma nova mensagem com o evento "UPSERT" com todos os registros selecionados da tabela "inss_auton" para o período e empresa (processo normal).
A exclusão se faz necessária para manter a integridade das bases de dados do Logix e RM.
NÃO: Finalizar o processamento, apresentando mensagem "processamento cancelado pelo usuário"
Pequenas alterações
Alteração de parâmetro:
Alterar a descrição do parâmetro: "ult_num_nf_exportacao" do log00087, atualmente a descrição indica que o parâmetro é usado somente para o processo de exportação, a ideia é deixa-lo mais genérico.
Descrição: Último número de nota fiscal para integração de títulos por EAI.
Help: Armazena o último número de nota fiscal gerado automaticamente para títulos originados de sistemas externos e integrados ao Logix através do EAI.
O incremento deste parâmetro ocorre de forma automática, portanto não é deve ser alterado.
FIn30159
Alterar a descrição do fin30159 para "Parametrização de verbas para integração com RH" retirando a palavra "Protheus" pois o programa será utilizado, também na integração com a folha RM.
O programa correspondente ao fin30159 na versão 10.02 não será alterado.
CON6067
O con6067 é responsável pela montagem dos centros de custos que serão integrados pelo EAI. Para a mensagem ListOfCostCenter deve montar o internal ID sem espaços em branco entre a empresa e o código do centro de custo.
Para isso carregar o código em uma variável char, conforme abaixo:
LET l_internalid = mr_dados.cod_empresa CLIPPED,'|',l_cc_char
.
Protótipo de Tela
Tela do fin30166 - Exportação de dados de INSS para sistemas de RH.
Dicionário de Dados
Criar uma nova tabela denominada cap_integracao_inss_auton.
Índice | Chave |
01 | cap_integracao_inss_auton.empresa + cap_integracao_inss_auton.periodo + cap_integracao_inss_auton.valor_interno |
Campo | empresa |
Tipo | CHAR |
Tamanho | 2 |
Valor Inicial | Nulo |
Mandatório | Sim (X) Não ( ) |
Descrição | Empresa |
Título | Empresa |
Picture | XX |
Help de Campo | Código da empresa para o processamento |
Campo | periodo |
Tipo | Date |
Tamanho |
|
Valor Inicial | Nulo |
Mandatório | Sim (X) Não ( ) |
Descrição | Período |
Título | Período |
Picture | dd/mm/yyyy |
Help de Campo | Período para seleção dos dados. |
Campo | Valor_interno |
Tipo | CHAR |
Tamanho | 200 |
Valor Inicial | Nulo |
Mandatório | Sim (X) Não ( ) |
Descrição | Valor interno
|
Título | Valor interno |
Picture |
|
Help de Campo | Chave da integração no Logix.
|