Implementando NFA-e no S/4HANA 2021

Publicado por:Renan Correa Tue, 21 December 2021
Compartilhe:
21 de December de 2021

Implementando Nota Fiscal Avulsa eletrônica no S/4HANA 2021 (On-Premise)

Recentemente a SAP lançou no S/4HANA 2021 On-Premise a funcionalidade da NFA-e (tem um blog post da SAP falando sobre a entrega https://blogs.sap.com/2021/11/25/nota-fiscal-avulsa-eletronica-nfa-e-2/) e eu resolvi testar para ver como irá funcionar nos próximos projetos.

Esse é um ponto que sempre precisava de um desenvolvimento para habilitar o lançamento correto dessas notas fiscais.

Configuração

Para atender esse cenário a SAP entregou uma view de configuração LOGBR_NFA na qual é possível atribuir os CNPJ’s e séries utilizados para NFA-e por estado.

Ein Bild, das Text, Tisch enthält.

Automatisch generierte Beschreibung
View de configuração

No caso abaixo cadastrei o CNPJ da S4CN para fazer um teste. No caso real precisa usar o CNPJ de cada SEFAZ, não achei na internet nenhuma tabela com o CNPJ de cada SEFAZ e quais as séries válidas em cada estado (aguardamos alma caridosa para recolher a informação completa):

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung
Configuração Dummy com CNPJ da S4CN

No próximo capítulo segue o teste, tanto j1b1n como MIRO.

Teste da solução (NF writer e MIRO)

O primeiro que teste que fiz foi com uma NF writer só para ver a funcionalidade sendo executada. Pelo que vi nas validações foi habilitada a NFA-e para NF Writer e para NFe criada via MIRO.

Analisando a solução tecnicamente, a SAP inseriu algumas regras para a determinação do CNPJ na chave de acesso da NF-e ( função J_1B_NFE_FILL_MONITOR_TABLE ) e na determinação do código da situação do documento fiscal ( função J_1BNF_FILL_COD_SIT ).

Então basicamente o sistema identifica o cenário, troca o CNPJ do fornecedor pelo CNPJ da SEFAZ e determina o COD_SIT = “08” para o SPED.

Essas regras estão nas classes LOGBR_NFA_CHECK_SCENARIO e LOGBR_NFA_SERIES_DA conforme prints abaixo.

No primeiro momento o sistema valida se é um documento de entrada e depois verifica se é Writer ou MIRO.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung
Validação de direção e contexto

No método abaixo o sistema faz a verificação do range da série, se aplica ou não para ser NFA-e:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung
Verificação da série

No caso da Writer essa redeterminação só acontece no momento em que a série é informada no cabeçalho da NFe, e se você informar uma série diferente do range configurado na tabelas LOGBR_NFA o sistema não irá trocar o CNPJ pelo da SEFAZ nem determinar o COD_SIT como 08.

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung
Série no cabeçalho da NF-e

Aqui está o ponto do código que chama ambas as verificações para saber se preenche ou não COD_SIT.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

No momento do preenchimento da chave de acesso o sistema faz as mesmas verificações (entrada e range da série) e daí chama uma outra classe (LOGBR_SEFAZ_CNPJ_DETERMINER) que faz a determinação de qual o CNPJ da SEFAZ baseado na região do fornecedor da nota:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung
Preenchimento da chave de acesso

Nesse momento o CNPJ do fornecedor é substituído na chave de acesso pelo CNPJ da respectiva SEFAZ (de acordo com a configuração da LOGBR_NFA):

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung
CNPJ da S4CN na chave de acesso

Refiz o teste pela MIRO e também funcionou, a diferença é que na MIRO é possível informar a série no campo referência já na primeira tela da fatura e ele é transferido para a NF-e, ou seja, se você abrir a NFA-e pelo botão “Nota Fiscal” já vai estar com o CNPJ da SEFAZ.

Tabelas e CDS views

As informações da view LOGBR_NFA ficam armazenadas em duas tabelas, a LOGBR_NFA_SERIES e a LOGBR_SEFAZ_CNPJ. Cada uma delas tem a sua respectiva CDS View também:

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung
CDS view da série

Uma CDS view para cada tabela:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung
CDS view do CNPJ

Até agora no meu teste funcionou nos dois casos bem, não cheguei a fazer um teste via GRC incoming nem pelo eDocument incoming, mas suponho que pelos pontos onde foi feita a melhoria ela deve funcionar corretamente.

Lista Dos CNPJ’s estaduais ( contribuição do Yuri Michelon de Almeida )

CE 07.954.597/0001-52
GO 01.409.655/0001-80
MA 03.526.252/0001-47
MG 16.907.746/0001-13
PA 05.054.903/0001-79
RJ 42.498.675/0001-52
RS 87.958.674/0001-81
SC 82.951.310/0001-56
TO 25.043.514/0001-55

Valeu, Gurizada!

Renan Correa

Quer ficar ligado nas novidades de localização? Entra no grupo da S4CN no Telegram e segue a gente no canal do Youtube

Mais infos sobre a localização Brasil no ERP, direto da sap, vocês podem conferir no SAP community na tag de S/4HANA logistics for Brazil

Outros posts sobre Localização você pode conferir filtrando pela categoria NFE/CTE ou Localização BR Geral.

Subscribe
Notify of
guest
3 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver Todos Comentarios
Yuri Michelon de Almeida
9 meses atrás

Obrigado por compartilhar, Renan. Realmente essa solução simples irá eliminar a necessidade de ter uma tabela Z para alimentar os CNPJs da Sefaz, uma BADI para determinar a situação 08 e um enhancement para trocar o CNPJ na chave da NFA-e.

Corroborando com o artigo, segue alguns CNPJs estaduais que tenho anotado.

CE 07.954.597/0001-52
GO 01.409.655/0001-80
MA 03.526.252/0001-47
MG 16.907.746/0001-13
PA 05.054.903/0001-79
RJ 42.498.675/0001-52
RS 87.958.674/0001-81
SC 82.951.310/0001-56
TO 25.043.514/0001-55

Derick Gomes
Derick Gomes
8 meses atrás

Muito bom Renan! Atendi recentemente uns dois desenvolvimentos para fazer exatamente isso.
Obrigado por compartilhar.

3
0
Deixa tua opinião aí!x