Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

Datasul

Versões:

A partir da 12.1.2311

Ocorrência:

Extrair os registros de liquidação e antecipação dos Pagamentos Eletrônicos para enviar no SPED 1601

Passo a passo:

Contexto Geral

Vamos considerar todos os Movimentos de Liquidações com Portador diferente de Caixa e as Implantações de Antecipação que tem Portador informado e que este Portador seja diferente de Caixa.

Esta API será executada por um programa da Equipe Fiscal e retornará duas tabelas temporárias, sendo uma com os Movimentos extraídos e a outra com as informações dos Participantes , depois o mesmo programa do Fiscal irá chamar o Faturamento para identificar na Nota qual valor é ISS ou ICMS.

API: prgfin/acr/acr575za

Esta API será executada pelo programa LF0202 do Fiscal, onde será informando a Faixa de Estabelecimento EMS2 e Faixa de Data. O Financeiro irá extrair os registros e devolver esta informação a equipe do Fiscal e depois eles irão verificar no Faturamento quais valores são referente a ISS e ICMS.

O usuário poderá Consultar para Validar ou Manipular os registros através do LF0203 - Consulta e Manutenção dos MLF

Posteriormente o programa LF0501 do Fiscal irá consolidar os registros e este agrupamento que será enviado.


Financeiro (ACR)

API deve receber 6 parâmetros:

- Input: 1 Estabelecimento  (no LF0202 EMS2 é faixa, mas vai passar para API um Estab de cada vez)                                               

- Input: Data Inicial

- Input: Data Final

- Output: Tabela Temporária tt_dwf_pagto_eletr_particip 

- Output: Tabela Temporária tt_dwf_pagto_eletr_movto

- Output: Tabela Temporária tt_log_erros_extracao


Regra geral: Extrair todos os Movimentos de Liquidações com Portador diferente de Caixa e as Implantações de Antecipação que tem Portador informado e que este Portador seja diferente de Caixa.

   

Esta API irá ler a base de dados, considerando os parâmetros de input recebidos, ou seja, o Estabelecimento e a Faixa de Datas.

  • O Estabelecimento recebido é do EMS2 e serátraduzido para ser utilizado no EMS5. 
  • E extrair todos tipos de liquidações com exceção das pagas em dinheiro, ou seja, desconsiderar as Liquidações com Portador igual a Caixa.
  • E mais as Antecipações que tem portador e este portador seja diferente de Caixa.


Regras para as Liquidações que serão enviada:

Ler todos Movimentos de liquidações de títulos Normais (tit_acr.ind_tip_espec_docto = Normal) desconsiderando Portador Caixa (movto_tit_acr.cod_portador, verificar na tabela portador.ind_tip_portad <> Caixa).

Ler também as Implantações de Antecipação (tit_acr.ind_tip_espec_docto = "Antecipação") com Portador (tit_acr.cod_portador <> “”), desconsiderando Portador Caixa.

Se o movimento de Liquidação ou a Antecipação foi “Estornada” não deve ser considerado!

Os campos da tt serão gravados com as informações da Movto_tit_acr.




xxxx


Somente os títulos que atendem as regras abaixo serão considerados para envio ao REINF:


  • Somente cliente Pessoa Jurídica;
  • Somente para quando a empresa do usuário logado for da localidade ‘BRA’;
  • Títulos com origem somente do ACR;
  • Espécie do Documento do tipo "Normal".
  • O campo 'log_mdo_emptda' precisa estar marcado;

Informações necessárias:
  • Mão de Obra/Empreitada (log_mdo_emptda): Indica se o título representa uma receita relacionado à mão-de-obra ou empreitada. Valores aceitos 'yes', 'no'.
  • Tipo Serviço Mão-de-Obra (num_tip_serv_mdo ): Número correspondente ao tipo de serviço prestado. Esse campo é obrigatório quando o campo "Mão de Obra/Empreitada" for 'yes'. O código deverá estar cadastrado no programa de Código de Serviço do INSS (CD1050). 
  • As informações de "mão de obra/empreitada" e "Tipo Serviço Mão de Obra" são inicialmente carregadas no título com as informações cadastradas no Cliente Financeiro (UFN011aa), podendo ser alterada diretamente no título.
  • Tipo Inscrição Obra (num_tip_obra): Caso a obra esteja vinculada a um CNPJ deverá ser informado '1', caso esteja vinculada a um CNO deverá ser informado '4'. Valor padrão desse campo é sempre '1';
  • Código da Obra (cod_obra): Esse campo é opcional. Porém, caso informado deverá estar cadastrado no programa Códigos de obras (CD2023);
  • Processo: Cadastro de processo (CD2021) já existente, apenas foram alteradas as rotinas do ACR para apresentarem o zoom desse cadastro no campo "Processo". Foram incluídos os campos "Número do processo" e "Valor não retido" de INSS na tela de crédito de imposto para pessoa jurídica.





Funcionamento

1. No programa chamador da API  devem ser declaradas as temp-tables tt_dwf_pagto_eletr_particip, tt_dwf_pagto_eletr_movto e tt_log_erros_extracao. Informar nos parâmetros de entrada os campos código do estabelecimento do EMS2, a data inicial e a data final para extrair os dados. Informar nos parâmetros de saída a tabela temporárias tt_dwf_pagto_eletr_particip, tt_dwf_pagto_eletr_movto e tt_log_erros_extracao.

2. Executar o programa API conforme exemplo de código a seguir:

def var v_hdl_programa as handle no-undo.

run prgfin/acr/acr575za.py persistent set v_hdl_programa.

run pi_extrair_pagto_eletronico in v_hdl_programa (input v_cod_estab_ems2, input v_dat_inicial, input param v_dat_final, output table tt_dwf_pagto_eletr_particip, output table tt_dwf_pagto_eletr_movto, output table tt_log_erros_extracao).

delete procedure v_hdl_programa.

3.Após a execução do programa, pode ser verificada se retornou algum erro durante o processo de importação através da temp-table tt_log_erros_extracao.

Parâmetros de entrada

v_cod_estab_ems2: Determina para qual Estabelecimento EMS2 será extraído os dados.

v_dat_inicial: Determina a data inicial que irá extrair os dados.

v_dat_final: Determina a data final que irá extrair os dados.

Tabelas Temporárias

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

...

tt_dwf_pagto_eletr_particip

...

Conterá as informações do participante do pagamento eletrônico que será gerada, podendo ser da Instituição Financeira ou do Marketplace

...

Entrada/Saída

...

def temp-table tt_dwf_pagto_eletr_particip no-undo
    field ttv_cod_particip_instit_financ   as character format "x(30)" label "Cód. Participante"
    field tta_nom_pessoa                   as character format "x(40)" label "Nome" column-label "Nome"
    field tta_cod_pais                     as character format "x(3)" label "País" column-label "País"
    field tta_nom_endereco                 as character format "x(40)" label "Endereço" column-label "Endereço"
    index tt_dwf_pagto_partic              is primary unique
          ttv_cod_particip_instit_financ   ascending
    .

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

...

tt_dwf_pagto_eletr_movto

...

Conterá as informações dos movimentos de liquidação e antecipação extraídos.

...

Saída

...

Atributo

...

Tipo

...

Formato

...

Descrição

...

tta_cod_empresa

...

character

...

x(3)

...

Empresa

...

tta_num_id_tit_acr

...

integer

...

999999999

...

Token Cta Receber

...

tta_num_id_movto_tit_acr

...

integer

...

999999999

...

Token Movto Tit  ACR

...

Série Documento

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

...

tt_log_erros_extracao

...

Conterá as informações de erros na extração dos dados.

...

Saída

...

Atributo

...

Tipo

...

Formato

...

Descrição

...

ttv_num_mensagem

...

integer

...

>>>>,>>9

...

Número

...

ttv_des_msg_erro

...

character

...

x(60)

...

Mensagem Erro

...

ttv_des_msg_ajuda 

...

character

...

x(40)

...

Mensagem Ajuda

def temp-table tt_log_erros_extracao no-undo
    field ttv_num_mensagem                 as integer format ">>>>,>>9" label "N£mero" column-label "Número Mensagem"
    field ttv_des_msg_erro                 as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"
    field ttv_des_msg_ajuda                as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"
    .