Implementando NFA-e no S/4HANA 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.
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):
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.
No método abaixo o sistema faz a verificação do range da série, se aplica ou não para ser NFA-e:
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.
Aqui está o ponto do código que chama ambas as verificações para saber se preenche ou não COD_SIT.
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:
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):
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:
Uma CDS view para cada tabela:
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!
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.
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
Valeu Yuri, vou editar o post e adicionar uma tabela ali e te mencionar. OK?
Muito bom Renan! Atendi recentemente uns dois desenvolvimentos para fazer exatamente isso.
Obrigado por compartilhar.
Bom dia,
Na nota Whriter a tabela para cadastros dos CNPJ é outra? Recebemos uma devolução com nota avulsa.
Oi Wellington,
A tabela é a mesma para cadastro dos CNPJ’s.
att,
Renan Correa