cancel
Showing results for 
Search instead for 
Did you mean: 

Inutilização de NFe Rejeitada (sem GRC)

Former Member
0 Kudos

Olá a todos,

Estamos implementando o SAP NF-e (sem GRC, utilizaremos uma mensageria externa) e nos deparamos com o seguinte problema:

Como é feita a inutilização de uma NFe Rejeitada?

Entendo que após recebermos a rejeição de autorização de uma NF-e, podemos:

- OU consertar a NF-e e reenviá-la;

- OU inutilizá-la (usando o schema XML leiauteInutNFe_v2.00.xsd).

A "chave de acesso" do XML de inutilização possui somente 41 dígitos. Não tenho problemas no envio, só duplico o NFNUM9 nas tags NFini e NFFin; não informo o NFMONTH e o CDV. Porém como executo o retorno deste xml?

Irei receber um XML da SEFAZ com os mesmos 41 dígitos:

- Se eu processar a RFC J_1B_NFE_XML_IN sem os campos I_ACCKEY-NFMONTH, I_ACCKEY-DOCNUM9 e I_ACCKEY-CDV ela não encontrará nenhum registro na tabela J_1BNFE_ACTIVE.

- Se eu processar a RFC J_1BNFENUMGAP_STATUS_RFC com o ID de 41 dígitos ela não encontrará nenhum registro na tabela J_1BNFENUMGAP.

Existe alguma RFC standard do SAP R/3 (não usamos GRC) que verifica se o xml é de uma inutilização de nota rejeitada ou de pulo de numeração? E de acordo com o resultado processa a RFC correta?

Caso não tenham entendido posso dar mais detalhes.

Obrigado!

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

O retorno de inutilizacao para gaps pro ERP deve ser feito pela RFC J_1BNFENUMGAP_STATUS_RFC ao invés da J_1B_NFE_XML_IN_TAB.

E quanto à chave de acesso, no caso da IN_TAB, vc poderia fazer o retorno com o DOCNUM da nota original, que daí vc garante a amarração. A chave de acesso dessa RFC que ele considera é apenas a da nota, nao de inutilizacao.

Former Member
0 Kudos

Obrigado pelo rápido retorno Henrique, mas minha mensageria não acessará o SAP para verificar se a nota se trata de uma inutilização de gap ou de rejeição. Como a mensageria poderá tomar a decisão de qual RFC usar?

Outro ponto que ainda não ficou claro pra mim: Irei receber um XML com o mesmo layout - tanto para inutilização de gap quanto de rejeição - com uma chave de 41 dígitos. Essa chave não possui o DOCNUM, como irei processar a IN_TAB?

De fato precisarei desenvolver uma RFC no SAP R/3 para isso? O SAP standard não atende?

Obrigado!

former_member182114
Active Contributor
0 Kudos

Bom dia Felipe,

Na parte ERP tá tudo desenvolvido e sim, como a sua mensageria não é SAP você precisará fazer adaptações de forma a ela saber corretamente interfacear com o ERP. Não apenas que função deve ser chamada mas também que parâmetros utilizar.

Exemplo: Ao enviar para autorização o ERP irá esperar pela função IN_TAB com os dados conforme a resposta da Sefaz (protocolos, status, o msgtyp não vem da Sefaz você que determina baseado na resposta da Sefaz)... Outra informação é o DOCNUM que é interna ao ERP e seria bom a mensageria guardar para utilizar na resposta...

Quanto a inutilização, o ERP tem duas formas de solicitar inutilização. basicamente se ele pedir com a inutilização com a chave de 44 posições ele está pedindo para inutilizar uma NF-e que foi rejeitada, observe que a chave de 44 posições não é o que será efetivamente enviado à Sefaz, neste caso na mensageria você tem que "criar" esta chave de 41 posições. Já para gap o ERP solicita já com a chave de 41 posições que você envia pra Sefaz e neste caso não tem DOCNUM. A mensageria também terá que ter esta "memória" do que se trata para poder chamar a função correta no retorno (além de preencher os parâmetros adequadamente).

Atenciosamente, Fernando Da Ros

henrique_pinto
Active Contributor
0 Kudos

O standard atende perfeitamente, é tanto que a mensageria standard funciona com as RFCs existentes. Cabe à empresa que está desenvolvendo a mensageria conseguir fazer funcionar.

Former Member
0 Kudos

Obrigado Fernando e Henrique,

Como nossa mensageria não possui funcionalidades como "guardar o DOCNUM" de envio, verificar informações dentro de tabelas do SAP, etc. Vou criar uma nova RFC no SAP R/3 para que seja chamada pela mensageria, assim poderemos decidir dentro do SAP (verificando ambas tabelas) qual RFC standard deverá ser executada e com quais parâmetros.

Dúvida respondida. Obrigado!

henrique_pinto
Active Contributor
0 Kudos

O ideal seria persistir a informação, eliminaria comunicação. Mas funciona também.

Answers (0)