Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3680 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores
Postado

Boa tarde Alex,

Exatamente isso, na primeira consulta utilizo ZERO, e guardo o NSU retornado para uma nova consulta.

As consultas seguintes são feitas sempre utilizando o NSU retornado e checando o indCons, caso seja 1 uma nova consulta é realizada, se zero para.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa tarde Alex,

Exatamente isso, na primeira consulta utilizo ZERO, e guardo o NSU retornado para uma nova consulta.

As consultas seguintes são feitas sempre utilizando o NSU retornado e checando o indCons, caso seja 1 uma nova consulta é realizada, se zero para.

Agradeço ítalo pelas respostas..

única coisa é que não estou achando esse "indCons" que vc disse que checa. rs.

seria o indNFe?

Indicador de NF-e consultada:

0=Todas as NF-e;

1=Somente as NF-e que ainda não tiveram manifestação do

destinatário (Desconhecimento da operação, Operação não

Realizada ou Confirmação da Operação);

2=Idem anterior, incluindo as NF-e que também não tiveram a

Ciência da Operação.

Obrigado.

  • Consultores
Postado

Alex

Desculpa errei no nome da propriedade.

Fragmento da minha aplicação:


 case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont of

  icNaoPossuiMaisDocumentos: sTemMais := 'N';

  icPossuiMaisDocumentos:    sTemMais := 'S';

 end;


 sUltimoNSU := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU;

indCont indica se tem mais documentos ou não

ultNSU é o último Numero Sequencial Unico

Com essas duas informações determino se vou realizar uma nova consulta ou não, caso afirmativo utilizo o ultNSU.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Alex

Desculpa errei no nome da propriedade.

Fragmento da minha aplicação:


 case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont of

  icNaoPossuiMaisDocumentos: sTemMais := 'N';

  icPossuiMaisDocumentos:    sTemMais := 'S';

 end;


 sUltimoNSU := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU;

indCont indica se tem mais documentos ou não

ultNSU é o último Numero Sequencial Unico

Com essas duas informações determino se vou realizar uma nova consulta ou não, caso afirmativo utilizo o ultNSU.

Perfeito, Ítalo.

Muito obrigado pela ajuda.

Abraços

Postado

Bom dia galera.

Gostaria de saber se vocês estão conseguindo testar a manifestação do destinatário em amb. homologação...

Pois oque ocorre é o seguinte: para NF-e emitida em homologação o CNPJ do destinatário fica "99.999.999/0001-91" então na hora de transmitir a manifestação retorna o erro: "Rejeicao: O autor do evento diverge do destinatario da NF-e".

Tentei também colocar este mesmo CNPJ fictício como CNPJ do autor do evento, mas daí retorna que é diferente do CNPJ da base do certificado digital...

Neste caso não está sendo possível testar em homologação este evento?

Obrigado.

Postado

Bom dia galera.

Gostaria de saber se vocês estão conseguindo testar a manifestação do destinatário em amb. homologação...

Pois oque ocorre é o seguinte: para NF-e emitida em homologação o CNPJ do destinatário fica "99.999.999/0001-91" então na hora de transmitir a manifestação retorna o erro: "Rejeicao: O autor do evento diverge do destinatario da NF-e".

Tentei também colocar este mesmo CNPJ fictício como CNPJ do autor do evento, mas daí retorna que é diferente do CNPJ da base do certificado digital...

Neste caso não está sendo possível testar em homologação este evento?

Obrigado.

Alex , o André disse que já comitou a pcnNFeW.pas com esta modificação no SVN para emissão de NFe para Cnpj e Ie Validos , quando vc altualizou seus fontes ?

Postado

Bom dia galera.

Gostaria de saber se vocês estão conseguindo testar a manifestação do destinatário em amb. homologação...

Pois oque ocorre é o seguinte: para NF-e emitida em homologação o CNPJ do destinatário fica "99.999.999/0001-91" então na hora de transmitir a manifestação retorna o erro: "Rejeicao: O autor do evento diverge do destinatario da NF-e".

Tentei também colocar este mesmo CNPJ fictício como CNPJ do autor do evento, mas daí retorna que é diferente do CNPJ da base do certificado digital...

Neste caso não está sendo possível testar em homologação este evento?

Obrigado.

Alex , o André disse que já comitou a pcnNFeW.pas com esta modificação no SVN para emissão de NFe para Cnpj e Ie Validos , quando vc altualizou seus fontes ?

Boa tarde Marcelo.

Havia atualizado à algum tempinho, mas fiz a atualização agora para garantir.. Tentei aqui novamente mas está retornando as mesmas mensagens.. pelo demo tbm.

Como vc procede para realizar os testes?

Obrigado.

Postado

Boa tarde Marcelo.

Havia atualizado à algum tempinho, mas fiz a atualização agora para garantir.. Tentei aqui novamente mas está retornando as mesmas mensagens.. pelo demo tbm.

Como vc procede para realizar os testes?

Vc emite a nfe para vc mesmo , o emitente é o mesmo do destinatario , apos um tempo as operações NFe , CCe , CAn emitidas para o seu cnpj ja aparecem para manifestação .

1-Verifique o ambiente que vc esta pesquisando , Homologação ou Produção .

2-O Certificado Digital (Emitente) e destinatario são os mesmos para ser consultado na manifestação como dito acima .

  • 2 semanas depois ...
Postado

Ítalo, tudo certo?

 

  Estou implementando essa solução com base no exemplo do demo do ACBRNFE.

  Ocorre que consigo enviar os dados mas não consigo visualizar os retornos dentro dos "memos".

  Estou utilizando o certificado digital de um cliente, já tentei no ambiente de homologação e no de produção, e não resulta retorno.

  Vou editar abaixo parte do código fonte, quem sabe você pode me ajudar e informar onde posso estar errando.

 

  Obrigado.

Michel

 

Aplicação:

 

 

procedure Tfmmanifestacao.BitBtn1Click(Sender: TObject);
var
 CNPJ, IndNFe, IndEmi, ultNSU: string;
 ok: boolean;
begin
  CNPJ := tbnfeparam.FieldByName('NFE_CNPJ').AsString;
  if cnpj = '' then
  begin
    showmessage('Cadastre o CNPJ corretamente nos parâmetros de NF-e do sistema');
    exit;
  end;
  (*veja NT 2012/002 pág. 11 para identificar os valores possíveis
  Indicador de NF-e consultada:
  0=Todas as NF-e;
  1=Somente as NF-e que ainda não tiveram manifestação do destinatário
    (Desconhecimento da operação, Operação não Realizada ou Confirmação da Operação);
  2=Idem anterior, incluindo as NF-e que também não tiveram a Ciência da Operação.*)
  if RadioGroup1.ItemIndex = -1  then
  begin
    showmessage('Selecione um critério de consulta de Manifestação');
    RadioGroup1.SetFocus;
    exit;
  end;
  if RadioGroup1.ItemIndex = 0 then
     indNFe := '0';
  if RadioGroup1.ItemIndex = 1 then
     indNFe := '1';
  if RadioGroup1.ItemIndex = 2 then
     indNFe := '2';
 
  (*veja NT 2012/002 pág. 11 para identificar os valores possíveis
  Indicador do Emissor da NF-e:
  0=Todos os Emitentes / Remetentes;
  1=Somente as NF-e emitidas por emissores / remetentes que não tenham a mesma
    raiz do CNPJ do destinatário (para excluir as notas fiscais de transferência
    entre filiais).*)
 
  if RadioGroup2.ItemIndex = -1  then
  begin
    showmessage('Selecione um critério de Emitente para Manifestação');
    RadioGroup2.SetFocus;
    exit;
  end;
  if RadioGroup2.ItemIndex = 0 then
    IndEmi := '0';
  if RadioGroup2.ItemIndex = 1 then
    IndEmi := '1';
 
  (*veja NT 2012/002 pág. 11 para identificar os valores possíveis
   Último NSU recebido pela Empresa.
   Caso seja informado com zero, ou com um NSU muito antigo, a consulta retornará
   unicamente as notas fiscais que tenham sido recepcionadas nos últimos 15 dias.*)
  ultNSU := '0';
  if not(InputQuery('WebServices Consulta NFe Destinadas', 'Último NSU recebido pela Empresa', ultNSU)) then
     exit;
  LerConfiguracao;
  ACBRNFE1.Configuracoes.WebServices.UF := 'SP';
  ACBRNFE1.Configuracoes.WebServices.Tentativas := 2;
 //tipo do ambiente (Produção/Homologação)
  if tbnfeparam.FieldByName('NFE_TPAMB').AsString = '1' then
     ACBrNFe1.Configuracoes.WebServices.Ambiente := taProducao
   else
     ACBrNFe1.Configuracoes.WebServices.Ambiente := taHomologacao;
 
  ACBrNFe1.ConsultaNFeDest(CNPJ,
                           StrToIndicadorNFe(ok,indNFe),
                           StrToIndicadorEmissor(ok,IndEmi),
                           UltNSu);
 
//  AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest;
 
  MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.EnvEvento.RetWS);
  memo3.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.EnvEvento.RetornoWS);
//  ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0];
  LoadXML(MemoResp, WBResposta);
end;
 
  • Consultores
Postado

Bom dia Michel,

 

Estude esse fragmento de código da minha aplicação, que realiza a consulta de NFe destinadas.

 

 


procedure TfrmMovManifestacao.btnLocalizarClick(Sender: TObject);
var
 CNPJ, Impresso, sChave, sEmissao, sCNPJ, sNome, sNumero, sSerie,
 sIEst, sNSU, sTipoNFe: String;
 Valor: Double;
 i, j: integer;
begin
 // ======== Dados da Empresa (Destinatario) =============================================
 DM_CTA.Empresa.Close;
 DM_CTA.Empresa.SQL.Clear;
 DM_CTA.Empresa.SQL.Add('Select * From Sis_Empresa');
 DM_CTA.Empresa.SQL.Add('Where Codigo = :xCodigo');
 DM_CTA.Empresa.Params[0].AsString:=DM_VEN.ParametrosEmitente.AsString;
 DM_CTA.Empresa.Active:=True;
 DM_CTA.Empresa.Open;

 if copy(DM_CTA.EmpresaCNPJ.AsString,10,4) <> '0000'
  then CNPJ := Copy(DM_CTA.EmpresaCNPJ.AsString, 2, 14)
  else CNPJ := Copy(DM_CTA.EmpresaCNPJ.AsString, 1, 9) +
               Copy(DM_CTA.EmpresaCNPJ.AsString, 14, 2);

 MemoStatus.Lines.Add('------------------------------------------------------');
 MemoStatus.Lines.Add(' =>  Consultando NFe Destinadas');
 MemoStatus.Lines.Add('------------------------------------------------------');

 // TpcnIndicadorNFe = (inTodas, inSemManifestacaoComCiencia, inSemManifestacaoSemCiencia);
 // TpcnIndicadorEmissor = (ieTodos, ieRaizCNPJDiferente);
 DMNFe.NFe.ConsultaNFeDest( CNPJ,
                            inSemManifestacaoSemCiencia,
                            ieTodos,
                            edtUltNSU.Text );

 sStat   := IntToStr(DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.cStat);
 sMotivo := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.xMotivo;

 case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont of
  icNaoPossuiMaisDocumentos: sTemMais := 'N';
  icPossuiMaisDocumentos:    sTemMais := 'S';
 end;

 sUltimoNSU := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU;

 GravaUltimaConsulta;

 // TpcnIndicadorContinuacao = (icNaoPossuiMaisDocumentos, icPossuiMaisDocumentos);
 // TpcnSituacaoNFe = (snAutorizado, snDenegado, snCancelada);
 // TpcnSituacaoManifDest = (smdSemManifestacao, smdConfirmada, smdDesconhecida, smdOperacaoNaoRealizada, smdCiencia);
 // TpcnTipoNFe = (tnEntrada, tnSaida);

 if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.cStat = 138
  then begin
   // Documentos Localizados para o Destinatário
   if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont = icPossuiMaisDocumentos
    then begin
     edtUltNSU.Text := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU;
     MemoStatus.Lines.Add(' Documento Localizado para o Destinatário');
     MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU');
     MemoStatus.Lines.Add(' Para uma nova pesquisa.');
     MemoStatus.Lines.Add(' ');
    end
    else begin
     edtUltNSU.Text := '0';
     MemoStatus.Lines.Add(' Documento Localizado para o Destinatário');
     MemoStatus.Lines.Add(' ');
    end;

   j := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Count -1;
   lstChave1.Clear;
   chkListaNotas.Clear;

   for i := 0 to j do
    begin
     sSerie   := '';
     sNumero  := '';
     sCNPJ    := '';
     sNome    := '';
     sIEst    := '';
     sNSU     := '';
     sEmissao := '';
     sTipoNFe := '';
     Valor    := 0.0;
     Impresso := ' ';

     if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.chNFe <> ''
      then begin
       // Conjunto de informações resumo da NF-e localizadas.
       // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada.

       sChave := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.chNFe;

       sSerie  := Copy(sChave, 23, 3);
       sNumero := Copy(sChave, 26, 9);
       sCNPJ := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.CNPJCPF;
       sNome := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.xNome;
       sIEst := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.IE;
       case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.tpNF of
        tnEntrada: sTipoNFe := 'E';
        tnSaida:   sTipoNFe := 'S';
       end;
       sNSU  := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.NSU;
       sEmissao := DateToStr(DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.dEmi);
       Valor := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.vNF;

       case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resNFe.cSitNFe of
        snAutorizado: Impresso := 'A';
        snDenegado:   Impresso := 'D';
        snCancelada:  Impresso := 'C';
       end;
      end;

     if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.chNFe <> ''
      then begin
       // Conjunto de informações resumo da NF-e localizadas.
       // Este conjunto de informação será gerado quando o Cancelamento da NF-e for homologado.

       sChave := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.chNFe;

       sSerie  := Copy(sChave, 23, 3);
       sNumero := Copy(sChave, 26, 9);
       sCNPJ := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.CNPJCPF;
       sNome := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.xNome;
       sIEst := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.IE;
       case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.tpNF of
        tnEntrada: sTipoNFe := 'E';
        tnSaida:   sTipoNFe := 'S';
       end;
       sNSU  := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.NSU;
       sEmissao := DateToStr(DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.dEmi);
       Valor := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.vNF;

       case DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ret.Items.resCanc.cSitNFe of
        snAutorizado: Impresso := 'A';
        snDenegado:   Impresso := 'D';
        snCancelada:  Impresso := 'C';
       end;
      end;

     // Registra no Banco de Dados as Notas Retornadas pela Consulta
     DM_VEN.Manifestacao.Close;
     DM_VEN.Manifestacao.SQL.Clear;
     DM_VEN.Manifestacao.SQL.Add('Select * From Eve_Manifestacao');
     DM_VEN.Manifestacao.SQL.Add('Where Empresa = :xEmpresa');
     DM_VEN.Manifestacao.SQL.Add('and Chave = :xChave');
     DM_VEN.Manifestacao.Params[0].AsString:=DM_CTA.xCodEmpresa;
     DM_VEN.Manifestacao.Params[1].AsString:=sChave;
     DM_VEN.Manifestacao.Active:=True;
     DM_VEN.Manifestacao.Open;

     if not ((DM_VEN.ManifestacaoEmpresa.AsString = DM_CTA.xCodEmpresa) and
             (DM_VEN.ManifestacaoChave.AsString = sChave))
      then begin
       DM_VEN.IncAltDel.SQL.Clear;
       DM_VEN.IncAltDel.SQL.Add('Insert into Eve_Manifestacao');
       DM_VEN.IncAltDel.SQL.Add('(Empresa, Chave, CNPJ, Nome, IE, Emissao, Tipo, Valor,');
       DM_VEN.IncAltDel.SQL.Add('Situacao, Confirmacao, NSU, DataEvento, Protocolo)');
       DM_VEN.IncAltDel.SQL.Add('Values (:xEmpresa, :xChave, :xCNPJ, :xNome, :xIE, :xEmissao, :xTipo,');
       DM_VEN.IncAltDel.SQL.Add(':xValor, :xSituacao, :xConfirmacao, :xNSU, :xDataEve, :xProtocolo)');
       DM_VEN.IncAltDel.Params[0].AsString:=DM_CTA.xCodEmpresa;
       DM_VEN.IncAltDel.Params[1].AsString:=sChave;
       DM_VEN.IncAltDel.Params[2].AsString:=sCNPJ;
       DM_VEN.IncAltDel.Params[3].AsString:=sNome;
       DM_VEN.IncAltDel.Params[4].AsString:=sIEst;
       DM_VEN.IncAltDel.Params[5].AsDateTime:=StrToDate(sEmissao);
       DM_VEN.IncAltDel.Params[6].AsString:=sTipoNFe;
       DM_VEN.IncAltDel.Params[7].AsFloat:=Valor;
       DM_VEN.IncAltDel.Params[8].AsString:=Impresso;
       DM_VEN.IncAltDel.Params[9].AsInteger:=-1;
       DM_VEN.IncAltDel.Params[10].AsString:=sNSU;
       DM_VEN.IncAltDel.Params[11].AsDateTime:=0;
       DM_VEN.IncAltDel.Params[12].AsString:='';
       DM_VEN.IncAltDel.ExecSQL;
      end;

    end; // Fim do For
  end
  else begin
   // Nenhum Documento Localizado para o Destinatário
   if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.cStat = 137
    then begin
     if DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.indCont = icPossuiMaisDocumentos
      then begin
       edtUltNSU.Text := DMNFe.NFe.WebServices.ConsNFeDest.retConsNFeDest.ultNSU;
       MemoStatus.Lines.Add(' Nenhum Documento Localizado para o Destinatário');
       MemoStatus.Lines.Add(' Utilizar o número que esta no campo: Último NSU');
       MemoStatus.Lines.Add(' Para uma nova pesquisa.');
       MemoStatus.Lines.Add(' ');
      end
      else begin
       edtUltNSU.Text := '0';
       MemoStatus.Lines.Add(' Nenhum Documento Localizado para o Destinatário');
       MemoStatus.Lines.Add(' ');
      end;
    end
    else begin
     MemoStatus.Lines.Add(' Falha ao realizar a consulta.');
     MemoStatus.Lines.Add('  ' + sStat + ' - ' + sMotivo);
     MemoStatus.Lines.Add(' ');
    end;
  end;

 MontaChkLista;

 AtivaBotao;
end;

 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Italo, bom dia....

 

Estive lendo as posts do forum e ficaram várias dúvidas!

 

Com relação a "Manifestação do Destinatário", esta funcionalidade deve ser implementada em paralelo a NFe.

 

Ex: Tenho uma tela para emissão de NFe uma outra tela para a carta de correção eletrônica! Devo ter uma outra tela para realizar as operações de Manifestação do destinatário?

 

Muito obrigado pela atenção...

  • Consultores
Postado

Bom dia Jocimar,

 

Como o proprio nome diz: "Manifestação do Destinatário" se refere ao destinatário da mercadoria e não o Emitinte da NFe.

 

Vamos a um exemplo:

 

Você é o fornecedor ou seja o emitente da NFe e eu sou o cliente ou seja o destinatário.

 

Você emite a NFe referente a uma mercadoria que eu comprei.

Recebo por e-mail o XML assinado e protocolado e o DANFE em PDF (procedimento este que todos os emitente devem realizar).

 

Na meu controle de estoque, tenho um form que me permite consultar as NFe que foram emitidas (consultar NFe destinadas), ou seja as minhas compras.

 

De posse dessa lista de NFe vou me manifestar sobre cada uma delas, informando a SEFAZ se eu tenho ciência da operação ou não, se recebi o material ou não.

 

Tipos de Manifestação:

-----------------------------

Ciência da Operação => é quando eu afirmo que comprei, ou seja existe uma relação comercial entre o emitente (você) e o destinatário (eu).

Desconhecimento da Operação => é quando eu nego que comprei.

Confirmação da Operação => é quando eu afirmo que comprei e recebi o material.

Operação não Realizada => é quando eu afirmo que comprei e não recebi o material.

 

Você como emitente da NFe ou seja fornecedor, tem também os seus fornecedores, ou seja você também compra, logo no seu controle de estoque  tem que ter um form para realizar a consulta das NFe destinadas a você e posteriormente se manifestar sobre elas.

 

Lembre-se que a Manifestação do Destinatário tem varias serventias:

1. A SEFAZ fica sabendo que o ciclo fechou ou seja eu comprei o material de você e recebi (por exemplo);

2. O você descobre se alguem está emitindo NFe sem você ter comprado nada dele;

3. A Manifestação do Destinatário é nada mai do que o canhoto eletrônico confirmando que você recebeu o material;

4. Uma NFe que tenha sido manifestada (Operação realizada ou Ciência da Operação) esta liberada para ser baixada através do webservice: Download, caso seja necessário.

 

Atenção não confundir a Manifestação do Destinatário com o Manifesto Eletrônico de Documentos Fiscais - MDF-e, isso já é outro assunto.

 

O MDF-e já esta em funcionamento e algumas empresas vão ser obrigadas a emiti-lo no primeiro semestre de 2013.

 

Espero ter ajudado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Italo....

 

Emiti uma NFe normalmente, "Autorizado uso NFe", agora estopu testando a manifestação do destinatario, porém esta dando rejeição!

MSG: 

 
tpAmb: 2
verAplic: AN_1.0.0
cOrgao: 91
cStat: 213
xMotivo: Rejeicao: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital
chNFe: 43121287847711000184550010004577341000013238
tpEvento: 210200
xEvento: 
nSeqEvento: 1
CNPJDest: 
emailDest: 
dhRegEvento: 18/12/2012 11:16:00
nProt: 
 
 
O que pode ter ocasionado este erro?
  • Consultores
Postado

Boa tarde Jocimar,

 

Acredito que você não entendeu aindo o espirito da coisa.

 

Você não manifesta sobre as notas que você emitiu e sim sobre as notas que foram emitidas e você aparece como destinatário e não emitente.

 

Segundo você deve esta informando o CNPJ do fornecedor (emitente da NFe) em algum lugar e sendo que o correto é o CNPJ do destinatário ou seja o seu CNPJ.

 

Por favor leia com atenção a NT 2012/002 e estude o programa exemplo, mais precisamente o botão que se refere a Manifestação do Destinatário.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Bom Dia Italo....

 

Com relação aos tipos de manifestação, quem recebe  o XML poderá se manifestar várias vezes tendo em vista que ele tem quatro opções de manifestação (ter um combobox onde ele escolhe o tipo) ou ele só poderá se manifestar uma única vez?

 

Obrigado.

  • Consultores
Postado

Bom dia Jocimar,

 

No primeiro momento você pode se manifestar como: Ciência da Operação e depois Operação Realizada para uma mesma NFe.

Ou seja primeiro você diz que comprou mesmo a mercadoria do fornecedor que emitiu a NFe e quando a mercadoria chegar você diz que recebeu (operação realizada).

 

Para mais detalhes leia a NT 2012/002.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado (editado)

Italo.

Boa Tarde...

 

Até que enfim consegui fazer funcionar esta Manifestação do destinatário.

Só tenho uma dúvida: No retorno vem a seguinte mensagem: "Evento registrado, mas nao vinculado a NF-e" ;

Isso é correto?

Obrigado.

Editado por jocimar
  • Consultores
Postado

Boa tarde Juliomar,

 

O programa exemplo não contem o botão para realizar o tão sonhado Download de uma NFe completa com assinatura e protocolo de autorização.

 

Eu particularmente não implementei na minha aplicação por diversas razões já discutidas no fórum.

 

Me parece que o seu programa exemplo contem o botão de Download, se possível disponibilize no SVN os fontes para que todos possam estudar e implementar em suas aplicações.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 3680 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...