Árvore de páginas

Versões comparadas

Chave

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

...

Informações
titleLEGISLAÇÃO

Conforme orientações do guia prático da EFD-ICMS/IPI, o registro 1601 - Operações com Instrumentos de Pagamentos Eletrônicos (Válido a partir de 01/01/2022) deve ser informado sempre que o recurso financeiro transitar por uma instituição financeira, instituição de pagamento ou intermediador online (marketplaceMarketplace).

Este registro destina-se a identificar o valor total das operações realizadas pelo declarante por meio de instrumentos de pagamentos eletrônicos, discriminado por instituição financeira e de pagamento, integrante ou não do Sistema de Pagamentos Brasileiro – SPB (Convênio ICMS nº 134/2016).
Deve-se consultar o contrato firmado entre a instituição e o informante do arquivo, para se ratificar a existência da prestação do serviço, quando couber.
Deve ser informado o valor total destas operações, excluídos os estornos e cancelamentos. A informação desse registro é facultativa para as escriturações do exercício de 2.022. A obrigatoriedade deste registro deve ser verificada junto a cada uma das unidades federativas a partir de 2.023.

Tutorial Registro 1601 Manual/Importado

Produto:

Datasul

Versões:

A partir da 12.1.2311 com liberação nos patches 12.1.2307.6 , 12.1.2301.14 e 12.1.2209.19

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 No módulo de Contas a Receber, considerar todos os Movimentos de Liquidações com Portador diferente de Caixa e as Implantações de Antecipação Antecipações 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.

Nome Físico da API: prgfin/acr/acr575za

Esta A API será executada pelo programa Extrator das Informações (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 ICMSe retornará os Movimentos extraídos e as informações das Instituições Financeiras (quem recebeu pagamento).

O usuário poderá Consultar consultá-las para Validar ou Manipular os registros através do LF0203 - validar ou manipulá-las através da Consulta e Manutenção dos MLF Posteriormente o programa LF0501 do Fiscal irá consolidar os registros e este agrupamento que será enviado(LF0203). Posteriormente a consolidação será feita pelo programa Gerador de Arquivo LCDPR (LF0501) do Fiscal.

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, Esta API lê as informações do Contas a Receber, considerando o Estabelecimento e a Faixa de Datas .recebidos do Fiscal, extraindo:

  • Movimentos O Estabelecimento recebido é do EMS2 e serátraduzido para ser utilizado no EMS5. Extrair todos movimentos de Liquidações de títulos normais com exceção das pagas em dinheiroportador diferente de Caixa, ou seja, desconsiderar as Liquidações com Portador igual a Caixa.as que não foram pagas em dinheiro;
  • E também as Implantações de Antecipações que tem portador e este portador seja diferente de Caixa;
  • Dados da Instituição Financeira que foi realizado as liquidações.Se o movimento

Regras para extração:

  • Movimento Estornado de Liquidação ou
a
  • Antecipação
foi “Estornado”
  • não
será
  • é considerado
.
  • ; 
  • O valor "Outros" é o valor bruto das operações que não incidem "ICMS" ou "ISS", independente do meio de pagamento utilizado. Somam-se neste campo também o
Regras para extração:
  • Será gravado no campo Valor Outros a somatória do valor de movimento + valor de juros + valor de multa. Depois o programa do Faturamento irá verificar na Nota e o que for de valor ISS ou ICMS vai gravar nos respectivos específicos e diminuir do Valor Outros.
  • Ver a regra dos campos Desconto, Abatimento e Despesa Bancária
  • Os valores dos títulos implantados direto no Financeiro serão extraídos para o Valor Outros.
  • Registros de Liquidações feitas em Moeda Estrangeira ou Antecipação implantada em outra moeda será pego o valor em moeda "Corrente". O objetivo é enviar somente valores

Para títulos que geram outros títulos, exemplo Renegociação e Liquidação por Transfer de Estab:

- Renegociação – Titulo X, Estab1 realizado um Renegociação gerando o Título Y Estab2 e este for liquidado:

***Supondo que a Matriz de Tradução do Estabelecimento do EMS2 e EMS5 sejam iguais para facilitar a explicação

Quando no LF0202 passar o Estab1 não irá encontrar o título Origem, porque a liquidação foi paga no outro Estab.

Quando no LF0202 passar o Estab2, irá encontrar o Titulo Y, devemos passar os dados do titulo do EMS5/Financeiro dele com valor da liquidação dele e irá procurar o titulo origem TituloX e gravar na tabela temporária os dados da Nota que está neste titulo X, cod_estab_ems2, nr-fatura ou nr-nota-fis e Serie_fat, process_expor.

- Renegociação – outra situação que precisa ser tratada são as proporcionalidades nos valores. Exemplificando:

Tenho 3 títulos:

X = 1000 Nota 1

Y = 2000 Nota 2

Z = 3000 Nota3

Renegocio em apenas 1 título = W = 6000.

Pode ocorrer uma liquidação parcial de 3000 reais no titulo W.

Será necessário uma regra de 3, sendo que na tabela temporária terá que gravar 3 registros todos com o mesmo titulo do EMS5 novo W. E o que vai ficar diferente é são os dados de identificação da nota fiscal (cod_estab_ems2, nr-fatura ou nr-nota-fis e Serie_fat, process_export) além do valor, onde, Nota1=500, Nota2=1000 e Nota3=1500.

Tenho 1 titulo origem X=3000 e Renegocio em 3 novos títulos:

Y1 = 1000

Y2 = 1000

Y3 = 1000

Ao liquidar o titulo Y1, será gravado na tabela temporária os dados do titulo EMS5 Y1 e os dados da Nota do titulo original X.

Qual informação gravar no campo DATA (dat_pagto-eletr-movto):

 

Regra de negócio:

* O Registro pode ser informado tanto pelo regime de competência, quando ocorrer venda garantida, como por exemplo, venda no cartão de crédito e débito, venda por intermediadores eletrônicos (marketplace), ou regime de caixa (recebimento) nas demais vendas, como por exemplo: pix, boleto, e transferência. 

Por exemplo:

  • Cartão de Crédito – na data da autorização/aprovação do pagamento pela operadora do cartão. Caso a transação seja parcelada, deve-se informar o valor total da transação de pagamento, desconsiderando as parcelas;
  • Cartão de Débito – na data da autorização/aprovação do pagamento pela operadora do cartão;
  • Pix – na data da transferência;
  • TED/DOC – na data da transferência;
  • Boleto – na data da emissão/geração;
  • Cheque* – na data da compensação;
  • Adiantamento – depende de qual meio foi utilizado (conforme itens anteriores).

*Para os pagamentos realizados por meio de cheque, utilizar a data do efetivo crédito em conta, desconto ou recebimento. Resposta para Rio de Janeiro: As operações do Registro 1601 devem ser informadas pelo regime de competência, assim como o restante da EFD. 17.6.1.6 – Quando

Desenvolvimento:

No geral vamos gravar a movto_tit_acr.dat_transacao:

Quando NÃO for Liquidações de Cobrança Especial:  (Cartão de Credito ou Débito), deve ser gravado a movto_tit_acr.dat_transacao.

Mas, para Cartão de Crédito e Débito:

Se tem uma tabela de cobrança especial vinculada tit_acr_cobr_especial é Cartão de Credito e Débito, então a data deve ser pega do Tit_acr_cobr_especial.dat_compra_cartao_cr

Obs.: Qdo pago com Cartão de Credito (Cobrança Especial) o portador for do tipo Administradora, mas talvez seja possível alterar o tipo do Portador, por isto num momento inicial vamos validar pela tabela Tit_acr_cobr_especial.

Se for pago com Debito Automático também vai ter o título de cobrança especial. Aqui é preciso validar nos programas se a data a ser pega é a mesmo de quando é cartão de credito, verificar se “dat_compra_cartao_cr” é alimentada, senão enviamos a data que foi definida como padrão dat_trans. Fazer um search e ver o que grava qdo cartão de débito, mas talvez seja a própria data de transação da implantação.

Obs.: Debito automático tem a Carteira do tipo Debito Automático

As implantações das Antecipações devem pegar da Dat_transacao da Implantação.

Envolver nos testes liquidações normais, automáticas, de títulos cobrança especial, com transferências de estabelecimentos (atentar para não ter duplicidade), título renegociado (cuidar para não duplicar). Encontro de contas também não.

(Teste) Título liquidado via Encontro de Contas, precisar enviar.

  •  
    Caso o título é implantado diretamente no Contas a Receber e realizado sua liquidação, o valor da mesma é somada ao valor "Outros", pois não tem "ISS" ou "ICMS";
  • No valor "ICMS" ou "ISS" é gravado inicialmente no Contas a Receber com 0(zero) e automaticamente o sistema integra com Faturamento para atualização destes valores.
    Total "ICMS" é o valor total bruto das vendas e/ou prestações de serviços, que possuem incidência do ICMS, ainda que a venda ou prestação seja considerada imune, isenta ou não tributada, independente do meio de pagamento utilizado.
    Total "ISS" é o valor total bruto das prestações de serviços, que possuem incidência do ISS, ainda que a prestação seja considerada imune, isenta ou não tributada, independente do meio de pagamento utilizado.
  • Os valores enviados serão sempre em moeda Corrente;
  • Liquidação por Renegociação, Liquidação contra Antecipações ou por Transferência de Estabelecimento não são considerados para não ocorrer duplicidade, uma vez que é considerado a liquidação do título destino e a implantação da antecipação;
  • Para as Liquidações de Títulos Renegociados é feita uma proporcionalidade para verificar o valor em relação ao título origem. Também será enviado para Fiscal os dados deste título origem da Renegociação (Informações da Nota do Faturamento);
  • A Data de Pagamento Eletrônico é a data de transação das Liquidações e Antecipações, com exceção do pagamento com Cartão de Crédito que é utilizada a data da autorização da compra;
  • Os dados da Instituição Financeira é considerado as informações da Pessoa Jurídica do Portador. Caso estas informações estejam em branco é necessário informá-las anteriormente na Manutenção Portadores e Manutenção Pessoa Jurídica ou atualizar posteriormente no programa do Fiscal;
  • Movimentações realizadas após a Extração não serão replicadas automaticamente para o Fiscal, ou seja, a Extração deve ser refeita em casos de novas Liquidações, novas Antecipações Implantadas ou Estorno de Liquidações já existentes. 

* Quando Estrangeiro vamos gravar o campo NIF (Num ID Fisc) da pessoa no cod_participante, pois ele não tem um CNPJ ou CPF.  (v_cod_num_id_fisc       = pessoa_jurid.cod_num_id_fisc (30)– programa utb006zc)

* Na tabela do Participante terá mais informações com os detalhes do Endereço que será atualizado pela Equipe do fiscal.

Também terá que ser gravado a tabela temporária com os dados dos Participantes:

dwf-pagto-eletr-particip

Nesta tabela iremos gravar os dados das instituições financeiras (quem recebeu pagamento) e/ou dados dos intermediários (marketplace/delivery).

Para os dados da Instituição Financeira deve ser lido a tabela de portador que foi feito a liquidação ou da implantação da antecipação com portador diferente caixa.

Pegar o CNPJ do Portador ou se estiver branco pegar CNPJ da Pessoa Juridica do Portador.

- CNPJ ou CPF = cod_id_feder

Table: pessoa_jurid

cod_id_feder                char       i   x(20)

cod_num_id_fisc             char           x(30)

Pegar o campo Pessoa cadastrado no Portador e buscar os dados desta pessoa.

Neste cadastro de pessoa pegar e gravar os campos:

- Nome = nom_pessoa

- Pais = cod_pais

- Logradouro = nom_endereco (rua e numero)

* Quando a pessoa for estrangeira gravar o  campo NIF (cadastro da Pessoa).

23.701 – Mensagem

CNPJ informado está em branco!

O CNPJ do portador (instituição financeira) &1 ou da pessoa jurídica &2 do portador &1 não foi informado.

Pendência Financeiro: A princípio Augusto não quer receber tabela de Participante em Branco, isto talvez possa ocorrer caso de Portador não tenha CPF, com isto vamos planejar nova issue para alterar a nova API.

xxxx

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.