cancel
Showing results for 
Search instead for 
Did you mean: 

NFe de Entrada Docstat incorreto

Former Member
0 Kudos

Bom dia Senhores(a). Tudo bem?

Meu problema é que criamos algumas notas de entrada através da BAPI_J_1B_NF_CREATEFROMDATA, e o XML foi gerado com sucesso, tal como as NFe´s do processo de SD. Porém ao efetuar o retorno, apesar do monitor a NFe aparecer com Status "Completo", na tabela J_1BNFDOC o campo DOCSTAT, vem em branco. O Problema é por causa deste campo estar em branco a NFe não esta aparecendo no livro de entrada mesmo estando ok no monitor.

Nos casos de NFe´s criadas por SD (VA01) este campo vem preenchido automaticamente após o retorno realizado.

OU seja, quando a Nfe esta ok no monitor tb está ok no livro fiscal.

Espero poder ter sido claro, agradeço a ajuda de vocês.

Um abraço

Vitor Grassato

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Bom dia Fernando, como sempre você veio nos ajuda, obrigado!

Seguinte, verificamos as NFe´s e percebemos que não foi feito nenhuma rejeição anteriormente então, acreditamos que isso não se encaixa no nosso caso.

Em uma conversa junto ao abap verificamos os parametros da BAPI em questão e encontramos:

*gs_header-authcod = '999999999999999'.*

Será que isso pode ser a causa do problema? Ah! Se tirarmos essa linha, a BAPI não gera a NFe.

Grande abraço!

former_member182114
Active Contributor
0 Kudos

Bom dia Vitor,

Esta linha está comentada. Está comentada também no código ? Se tiver não fede nem cheira...

Quando você diz que não funciona, não funciona como ? Que retorno tem no RETURN ?

Na chamada da BAPI_J_1B_NF_CREATEFROMDATA tem um parâmetro NFCHECK que gerencia os checks obrigatórios é uma string preenchida com vários X e espaços, sendo o X verificar o o espaço permitir campo vazio.

No código fonte da BAPI você encontra estas informações:

*----

-


  • Positions in character 30 string NFCHECK

...

  • Following checks are executed when NF-e flag is set in the header

  • 40. Check NF-e number filled

  • 41. Check Protocol number filled

  • 42. Check XML-Version filled

  • 43. Check Sefaz code filled

*

  • A. Check if duclicate keys are existing (NF line items, NF taxes)

*

  • => e.g. NFCHECK = 'XX X XXX XXXXXXXXXX.....' will perform all checks,

  • except checks number 3, 5 and 9)

*----

-


Se o parâmetro não for preenchido, no código temos:

  IF nfcheck IS INITIAL.
*--------------12345678901234567890123456789012345678901234567890123
    nfcheck = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'.
  ENDIF.

O que quer dizer que por default apenas o NF-e number filled é verificado. Vocês estão preenchendo NFCHECK ? Que erro está dando que impede o processo ?

Editando: Outra pergunta: Quais são os valores para AUTHCOD, DOCSTAT e CODE na J_1BNFDOC logo após a criação ? E após a autorização ?

Atenciosamente, Fernando Da Rós

Edited by: Fernando Ros on Feb 4, 2010 2:57 PM

former_member182114
Active Contributor
0 Kudos

Vitor,

Talvez eu tenha cometido confusão na análise desta thread.

Reli e vi que é uma nota de entrada.

Poderia confirmar em que nota você está tendo problema ? É uma nota de entrada sua que deve ser enviada pra Sefaz para receber autorização ou é uma nota de entrada que você só está registrando e faz a consulta de status na Sefaz ?

E em que relatório não aparece ? Que transação ?

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

Opa Fernandão seguinte então...

Essa nfe criada pela BAPI é uma nota de entrada, e ela tem que chegar a sefaz para ser autorizada, esse processo esta Ok, tanto que a NFE retorna como autorizada.

O Problema acontece que o campo DOCSTAT da tabela J_1BNFDOC não é preenchido após o retorno, enquanto na na tabela J_1BNFE_ACTIVE o campo é preenchido normalmente no retorno.

No processo de SD o DOCSTAT vem preenchido como "1" de autorizada, em ambas as tabelas em questão (J_1BNFE_ACTIVE e a J_1BNFDOC).

A conseqüencia deste campo não estar preenchido na J_1BNFDOC na NFe de entrada é que no relatório * S_ALR_87012150 - Registro de Entradas (Mod.1) + Lista de Códigos de Emitentes (Mod.10) * ela não aparece, vem vazio. Descobrimos que não aparece porque este campo esta em branco após o debugge do funcional.

Abraço!

Former Member
0 Kudos

Opa Fernandão seguinte então...

Essa nfe criada pela BAPI é uma nota de entrada, e ela tem que chegar a sefaz para ser autorizada, esse processo esta Ok, tanto que a NFE retorna como autorizada.

O Problema acontece que o campo DOCSTAT da tabela J_1BNFDOC não é preenchido após o retorno, enquanto na na tabela J_1BNFE_ACTIVE o campo é preenchido normalmente no retorno.

No processo de SD o DOCSTAT vem preenchido como "1" de autorizada, em ambas as tabelas em questão (J_1BNFE_ACTIVE e a J_1BNFDOC).

A conseqüencia deste campo não estar preenchido na J_1BNFDOC na NFe de entrada é que no relatório * S_ALR_87012150 - Registro de Entradas (Mod.1) + Lista de Códigos de Emitentes (Mod.10) * ela não aparece, vem vazio. Descobrimos que não aparece porque este campo esta em branco após o debugge do funcional.

Abraço!

henrique_pinto
Active Contributor
0 Kudos

A nota é de importacao ou compra de pessoa fisica/produtor rural?

Senao, nao vejo pq precisaria ir pra SEFAZ pra validar.

Vc está colocando um Form na BAPI?? Se for nota de entrada, nao tem Form.

Abs,

Henrique.

Former Member
0 Kudos

OPA Henricão , oh segundo oq vc falou,

A nota é de importação, não de pessoa fisica, é uma de fornecedor internacional.

é uma Bapi standard não colocamos form algum dentro dela!

em todo caso obrigado pela ajuda, espero que essas informações possam esclarecer mais sobre o assunto!

former_member182114
Active Contributor
0 Kudos

Quais são os valores para AUTHCOD, DOCSTAT e CODE na J_1BNFDOC logo após a criação ? E após a autorização ?

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

Antes :

AUTHCOD - 999999999999999

DOCSTAT - Em branco

CODE- "0"

Depois:

AUTHCOD - 999999999999999

DOCSTAT - Em branco

CODE- "0"

Ou seja nos dois momentos vem da mesma maneira!

former_member182114
Active Contributor
0 Kudos

Entao é exatamente o lance da BAPI, vc nao pode mandar os valores de AUTHCODE e o status nao deve ser 0 e sim vazio.

Mande ambos vazio que vai resolver o problema inicial desta thread.

Atenciosamente, Fernando Da Ró

henrique_pinto
Active Contributor
0 Kudos

O form q eu estava falando era relacionado a range de numeracao, nao form de impressao.

Mas esquece, se é importacao tem que ir pra SEFAZ mesmo.

Tente ir na linha do que o Fernando falou.

Abs,

Henrique.

Former Member
0 Kudos

Bom dia Pessoal,

Fernando e Henrique, gostaria de agradece-los pela força, ontem devido fortes chuvas em São Paulo acabou a força por isso deixei pendente essa Thread para hj!

Indo ao que interessa, eu fiz junto ao abap as modificações de deixar os campos CODE e AUTHCODE ambos vazios, porém no Consultor de MM ( Afinal esse processo que esta dando problema é parte de MM) disse que deu erro ao gerar a NFe, e foi acusado pela BAPI o erro, extamente por esses 2 campos por estarem vazios por sua vez.

Novamente obrigado!

EDIT: Corrigindo erros

former_member182114
Active Contributor
0 Kudos

Bom dia Vitor,

Para que não seja exigido estes dois campos, as posições 41 e 43 devem conter espaço.

Passe o texto completo do NFCHECK (nesta thread) pro ABAP para entendimento e peça para ele passar este valor NFCHECK e também debug a criação, e o momento onde o erro é gerado (include LJ1BBF2G, a partir da linha 607)

Atenciosamente, Fernando Da Ró

Former Member
0 Kudos

UAU, Acerto na Lata de novo Fernandão!

Sensacional o suporte de vocês qnd precisamos de alguma coisa, espero poder um dia ter o prazer de ajuda-lo nem que seja apenas para massegear o ego.

Muito obrigado mesmo pela ajuda!

Espero que vocês tenham um bom final de semana,

Abração

Vitor Grassato

henrique_pinto
Active Contributor
0 Kudos

Vitor,

acredito que esteja faltando tratamento na chamada da BAPI.

Se for nota de importacao, entao a numeracao é feita pelo ERP (numero/serie da NFe tem que ser criados em branco) e a nota tem que ir pra SEFAZ (ou seja, CODE e AUTHCODE nao podem ser informados, pois eles vao vir da resposta da SEFAZ).

Isso acontece pois a nota de importacao, mesmo sendo incoming (J_1BNFDOC-DIRECT = '1'), tem que ter o flag de entrada (J_1BNFDOC-ENTRAD = 'X'). Isso faz com que o sistema identique que ela tenha que ir pra SEFAZ. Notas comuns de entrada (compras simples) tem o DIRECT = '1' mas ENTRAD vazio.

Entao, antes de chamar a BAPI, vc tem que saber se a nota eh de importacao (fazer um IF, baseado em algum dado ou flag que o usuario tenha setado previamente) e flagar o campo ENTRAD de acordo, setar/nao setar os checks 40, 41, 42 e 43 do NFECHECK, preencher ou nao o numero, serie, code e authcode, e determinar o NF Type correto.

Abs,

Henrique.

Answers (1)

Answers (1)

former_member182114
Active Contributor
0 Kudos

Bom dia Vitor,

Tem uma issue que se antes da aprovação da NF-e você recebeu uma rejeição e nesta rejeição chegou um numero de protocolo, você pode cair numa situação desta onde na J_1BNFDOC-DOCSTAT fica vazio.

Verifique o histórico da NF-e se teve uma rejeição antes.

Talvez o que esteja acontecendo no seu processo é que estão informando o campo de protocolo com zeros, como o campo é char dá como se a autorização estivesse preenchida daí ele não atualiza AUTHCOD,DOCSTAT e CODE da resposta da Sefaz... Mesmo comportamento da issue.

Pelo que entendi sua solução definitiva está em revisar a interface que chama a BAPI. Verifique o campo AUTHCOD.

Para o passado, atualizar AUTHCOD, DOCSTAT e CODE na mão.

Segue as notas referentes ao tratamento de rejeições pela Sefaz:

SAP Note 1350587 faz com que o GRC filtre e somente manda protocolo para as autorizações.

SAP Note 1404094 faz com que o ERP limpe estes valores na função de RESET na J1BNFE.

Atenciosamente, Fernando Da Rós

Edited by: Fernando Ros on Feb 3, 2010 8:13 PM