Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Bom dia. leufmt e quem mais estiver com a duvida, sim tem como baixar os xml da NF-e.

Como o  Juliomar Marchetti 

citou informou acima, inclusive nesse link abaixo, do Isaque Pinheiro, tem até um projeto dele, pronto, que faz todo esse processo de forma muito ágil e eficiente.

"Tu pode usar o downloadDFe para baixar após a nota após manifestada!"

 

Editado por Fernando Henrique
  • Moderadores
Postado
4 minutos atrás, Fernando Henrique disse:

Bom dia. leufmt e quem mais estiver com a duvida, sim tem como baixar os xml da NF-e.

Como o  Juliomar Marchetti 

citou informou acima, inclusive nesse link abaixo, do Isaque Pinheiro, tem até um projeto dele, pronto, que faz todo esse processo de forma muito ágil e eficiente.

"Tu pode usar o downloadDFe para baixar após a nota após manifestada!"

 

Isso serve para NFe recebidas, não as emitidas.

  • Curtir 1
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
  • 4 semanas depois ...
Postado
Em 2017-4-18 at 12:25, geanjesus disse:

Ola Srs do ACBR, estou utilizando o AcbrNfe1.consultar , mas quando grava o xml ele vem com data e hora atual e nao a data e hora do xml original que esta na sefaz, como faço para resolver isso...

Acho que seria algo como:

Oi,  AcbrNFE1.Consultar,  quando voce consultar o xml la da sefaz , altere pra mim os dados do xml que mandei , com os dados que estao la na sefaz,  blz?, para quando eu gravar a nota que esta duplicada e autorizada na sefaz, o xml ficar correto, com os dados que estao la na sefaz....por ex; data e hora da emissao...

Alias eu precisaria checar o valor, o cnpj, etc... para ver se realmente se trata da mesma nota....

 

 

Veja se consegue algo com isso que usamos aqui. São ideias... Porem, fazemos isso usando o XML baixado manualmente do site do sefaz. Pois não encontramos uma forma de atualizar o XML local baseado somente no meotodo:    ACBrNFe1.NotasFiscais.Clear;
    ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML, False);
    ACBrNFe1.Consultar;

ACBrNFe1.NotasFiscais.Clear;
      ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML);

      for n := 0 to ACBrNFe1.NotasFiscais.Count - 1 do
      begin

        with ACBrNFe1.NotasFiscais.Items[n].NFe do
        begin
          Application.ProcessMessages;
          NFeNumeroXML := IntToStr(Ide.nNF);
          SerieXML := IntToStr(Ide.serie);
          CNPJRemXML := Emit.CNPJCPF;
          RemXML := Emit.xNome;
          ValorXML := FormatFloat('###,###,##0.00', total.ICMSTot.vNF);
          ValorTotalNF := FormatFloat('###,###,##0.00',
            MyQrNFevalor_total_nota.AsFloat);
          CNPJDestXML := Dest.CNPJCPF;
          DestXML := Dest.xNome;

          Application.ProcessMessages;

          // informar o numero caso ainda não estiver postado no banco de dados - ADEMIR 05/01/2016
          InputQuery('NÚMERO NF', 'Informe o Número da NF a ser corrigido:',
            NumeroEsperado);

          if NFeNumeroXML <> NumeroEsperado then
          begin
            ShowMessage('Número da NFe no XML incompatível' + #13 +
              'Número XML: ' + NFeNumeroXML + #13 + 'Número NF: ' +
              NumeroEsperado);
            abort;
          end
          else
          begin
            ShowMessage('Número da NFe OK');
          end;

          Application.ProcessMessages;
          if SerieXML <> MyQrNFeserie.AsString then
          begin
            ShowMessage('Série da NFe no XML incompatível' + #13 + 'Série XML: '
              + SerieXML + #13 + 'Série NF: ' + MyQrNFeserie.AsString);
            abort;
          end
          else
          begin
            ShowMessage('Série da NFe OK');
          end;

          Application.ProcessMessages;
          if CNPJRemXML <> SomenteNumeros(MyQrNFeemit_cnpj.AsString) then
          begin
            ShowMessage('CNPJ do Emitente da NFe no XML incompatível' + #13 +
              'CNPJ Emitente XML: ' + CNPJRemXML + #13 + 'CNPJ Emitente NF: ' +
              MyQrNFeemit_cnpj.AsString);
            if Application.MessageBox
              ('Pode conter erro de codificação de caractéres ' + #13 +
              'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO',
              MB_YESNO + MB_ICONQUESTION) = IDYES then
            begin
              ShowMessage('CNPJ do Emitente da NFe confirmado pelo Usuário');
            end
            else
            begin
              abort;
            end;
          end
          else
          begin
            ShowMessage('CNPJ do Emitente da NFe OK');
          end;

          Application.ProcessMessages;
          if RemXML <> MyQrNFeemit_nome.AsString then
          begin
            ShowMessage('Emitente da NFe no XML incompatível' + #13 +
              'Emitente XML: ' + RemXML + #13 + 'Emitente NF: ' +
              MyQrNFeemit_nome.AsString);
            if Application.MessageBox
              ('Pode conter erro de codificação de caractéres ' + #13 +
              'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO',
              MB_YESNO + MB_ICONQUESTION) = IDYES then
            begin
              ShowMessage('Emitente da NFe confirmado pelo Usuário');
            end
            else
            begin
              abort;
            end;
          end
          else
          begin
            ShowMessage('Emitente da NFe OK');
          end;

          Application.ProcessMessages;
          if ValorXML <> ValorTotalNF then
          begin
            ShowMessage('Valor Total da NFe no XML incompatível' + #13 +
              'Valor Total XML: ' + ValorXML + #13 + 'Valor Total NF: ' +
              MyQrNFevalor_total_nota.AsString);
            if Application.MessageBox
              ('Pode conter erro de codificação de caractéres ' + #13 +
              'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO',
              MB_YESNO + MB_ICONQUESTION) = IDYES then
            begin
              ShowMessage('Valor Total da NFe confirmado pelo Usuário');
            end
            else
            begin
              abort;
            end;
          end
          else
          begin
            ShowMessage('Valor Total da NFe OK');
          end;

          Application.ProcessMessages;
          if CNPJDestXML <> SomenteNumeros(MyQrNFedest_cnpj.AsString) then
          begin
            ShowMessage('CNPJ do Destinatário da NFe no XML incompatível' + #13
              + 'CNPJ Desttinatário XML: ' + CNPJDestXML + #13 +
              'CNPJ Desttinatário NF: ' + MyQrNFedest_cnpj.AsString);
            if Application.MessageBox
              ('Pode conter erro de codificação de caractéres ' + #13 +
              'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO',
              MB_YESNO + MB_ICONQUESTION) = IDYES then
            begin
              ShowMessage
                ('CNPJ do Destinatário da NFe confirmado pelo Usuário');
            end
            else
            begin
              abort;
            end;
          end
          else
          begin
            ShowMessage('CNPJ do Destinatário da NFe OK');
          end;

          Application.ProcessMessages;
          if (DestXML <> MyQrNFedest_nome.AsString) and
            (DestXML <> 'NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL')
          then
          begin
            ShowMessage('Destinatário da NFe no XML incompatível' + #13 +
              'Destinatário XML: ' + DestXML + #13 + 'Destinatário NF: ' +
              MyQrNFedest_nome.AsString);
            // Em alguns casos os nomes são aparentemente iguais
            // por isso coloquei o Application.MessageBox para poder prosseguir
            // isso se o nome for igual - ADEMIR 17/11/2016
            if Application.MessageBox
              ('Pode conter erro de codificação de caractéres ' + #13 +
              'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO',
              MB_YESNO + MB_ICONQUESTION) = IDYES then
            begin
              ShowMessage('Destinatário da NFe confirmado pelo Usuário');
            end
            else
            begin
              abort;
            end;

          end
          else
          begin
            ShowMessage('Destinatário da NFe OK');
          end;

        end;
      end;
    end
    else
    begin

      Application.ProcessMessages;
      ShowMessage('Arquivo: ' + ArquivoXML + #13 + ' não encontrado!');
      abort;

    end;

    // caso ocorram bem as validações, sistema continua -  ADEMIR 08/09/2016

    ACBrNFe1.NotasFiscais.Clear;
    ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML, False);
    ACBrNFe1.Consultar;

    MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetornoWS);
    memoRespWS.Lines.Text :=
      UTF8Encode(ACBrNFe1.WebServices.Consulta.RetornoWS);
    LoadXML(MemoResp, WBResposta);
    LoadConsulta201(ACBrNFe1.WebServices.Consulta.RetornoWS);

    memoLog.Lines.Add('');
    memoLog.Lines.Add('CONSULTA DE NFe');
    memoLog.Lines.Add(' ');
    memoLog.Lines.Add('Versão da Aplicação Sefaz: ' +
      ACBrNFe1.WebServices.Consulta.verAplic);
    memoLog.Lines.Add('UF NFe: ' + IntToStr(ACBrNFe1.WebServices.Consulta.cUF));
    memoLog.Lines.Add('Código do Status: ' +
      IntToStr(ACBrNFe1.WebServices.Consulta.cStat));
    memoLog.Lines.Add('Descrição do Motivo: ' +
      ACBrNFe1.WebServices.Consulta.xMotivo);
    memoLog.Lines.Add('Protocolo: ' + ACBrNFe1.WebServices.Consulta.Protocolo);
    memoLog.Lines.Add('Chave: ' + ACBrNFe1.WebServices.Consulta.NFeChave);
    memoLog.Lines.Add('Recebimento: ' +
      DateToStr(ACBrNFe1.WebServices.Consulta.dhRecbto));

    if Copy(ACBrNFe1.WebServices.Consulta.NFeChave, 26, 9)
      = FormatFloat('000000000', ProximoNumero) then
    begin

      if (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat = 100) then
      begin
        conteudoXML := TStringList.Create;
        MyTbStatus.Active := True;
        MyTbStatus.Insert;

        MyTbStatusnotasfiscais_id.AsString := MyQrNFeid.AsString;
        MyTbStatuscod_status.AsString :=
          IntToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat);
        MyTbStatusrecibo.AsString := ACBrNFe1.WebServices.Retorno.Recibo;
        MyTbStatusprotocolo.AsString := ACBrNFe1.NotasFiscais.Items[0]
          .NFe.procNFe.nProt;
        MyTbStatuschave.AsString := ACBrNFe1.NotasFiscais.Items[0]
          .NFe.procNFe.chNFe;
        MyTbStatusdata.AsDateTime := ACBrNFe1.NotasFiscais.Items[0]
          .NFe.procNFe.dhRecbto;
        MyTbStatusdescr_status.AsString := ACBrNFe1.NotasFiscais.Items[0]
          .NFe.procNFe.xMotivo;
        MyTbStatuslote.Value := vNumLote;
        MyTbStatususuario_id.AsInteger :=
          frmSenha.MyQrUsuariosusu_sis_id.AsInteger;

        Ano := IntToStr(YearOf(date));
        mesinteiro := MonthOf(date);
        mes := FormatFloat('00', mesinteiro);
        anomes := Ano + mes;

        if FilesExists(ArquivoXML) then
        begin

          conteudoXML.LoadFromFile(ArquivoXML);
          MyTbStatusxml.AsString := conteudoXML.Text;

        end
        else
        begin

          ShowMessage('Arquivo: ' + ArquivoXML + ' não encontrado!');

        end;

        // apaga arquivo temp XML  -ADEMIR 30/06/2015
        if FilesExists(PathWithDelim(ExtractFileDir(Application.ExeName)) +
          NomeArquivoXMLTemp + '.xml') then
        begin

          DeleteFile(PathWithDelim(ExtractFileDir(Application.ExeName)) +
            NomeArquivoXMLTemp + '.xml');

        end;

        NomeArquivoXMLTemp := '';

        MyTbStatus.Post;

        MyQrStatus.Active := False;
        MyQrStatus.Params.ParamValues['pNotaFiscal'] := MyQrNFeid.AsInteger;
        MyQrStatus.Active := True;

        conteudoXML.Free;
        MyTbStatus.Active := False;

      end
      else
      begin

        ShowMessage('Status não está confirmado como Autorização de uso!');
        PostMessage(Self.handle, WM_CLOSE, 0, 0);
        abort;

      end;

 

  • 1 mês depois ...
Postado

De repente, no estado do MS, começou a acontecer isso em raras vezes, mas muito incômodo para o cliente emissor, que emite a nfe, valida, envia, o SEFAZ autoriza mas não responde corretamente e perde-se o xml de retorno com os dados. O cliente acha que não enviou, tenta novamente, dá duplicidade. Depois disso, somente indo no site manualmente, consultando e baixando o xml, O software e banco de dados ficam errados, gerando insatisfação geral. Baixei os dados utilizando webservices, downloadnfe e DistribuicaoDFePorChaveNFe, mas ficam incompletos pois não baixam a xml completamente, apenas informações. Também não encontro o numero do recibo da xml. Seria muito mais fácil, sendo o dono do certificado e o emissor, ter a autorização de baixar o xml completo novamente por conta de falhas de terceiros (sefaz, internet, computador, etc)

Triste isso!

 

 

  • Membros Pro
Postado
Em 19/04/2017 at 08:21, leufmt disse:

Bom dia senhores.

Então resumindo, não existe nenhum método disponibilizado pela sefaz para a realização do download do XML da NFe e NFCe?

Pelo que eu entendi, não tem nenhum método !!!!

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Consultores
Postado

Boa noite,

Você quer realizar o Download da NF-e ou NFC-e emitido contra o seu CNPJ ou que você emitiu?

Se se refere as NF-e ou NFC-e que você emitiu, lembre-se que quem emiti tem por obrigação legal possuir o XML da nota emitida sendo assim não existe um Web Services e consequentemente não existe um método no componente para realizar o Download.

Por outro lado se se trata de nota emitidas contra o seu CNPJ existe o DistribuicaoDFe.

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

  • Membros Pro
Postado
Em 08/07/2017 at 22:46, Italo Jurisato Junior disse:

Boa noite,

Você quer realizar o Download da NF-e ou NFC-e emitido contra o seu CNPJ ou que você emitiu?

Se se refere as NF-e ou NFC-e que você emitiu, lembre-se que quem emiti tem por obrigação legal possuir o XML da nota emitida sendo assim não existe um Web Services e consequentemente não existe um método no componente para realizar o Download.

Por outro lado se se trata de nota emitidas contra o seu CNPJ existe o DistribuicaoDFe.

Amigão se ler as mensagens anteriores verificará que é exatamente esse o problema e sua resposta é redundante. Se eu fui efetuar a assinatura da nota e o retorno do sefaz não chega por problemas na conexão da internet, por exemplo, a nota fica como EMITIDA no site da sefaz e eu NÃO TENHO o .XML entendeu ?

Sei que é de obrigação de quem emite ter o XML, o problema é quando acontece algum erro no momento do retorno do SEFAZ. Aí não tenho a nota e por ter a necessidade de ter o .XML da nfe, de acordo com a lei, é que preciso fazer o download do arquivo, pois atualmente o cliente o faz manualmente....

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

  • Consultores
Postado

Boa noite Edevair,

Primeiramente desculpe por não ler todo o tópico uma vez que o mesmo já contem 2 páginas.

Vai ai um procedimento que acredito que vai resolver o seu problema.

Configure o componente para salvar os XMLs dos documentos (Configuracoes.Arquivos.Salvar := True).

1. Alimentar o componente com os dados pertinentes a venda.

2. Executar os métodos: Assinar/Validar/Enviar ou somente o Enviar, pois este internamente executa os dois primeiros.

3. Se ocorrer erro e o protocolo não for retornado execute o método Consultar (não execute o Clear no componente, pois este vai apagar os dados da nota).

4. Ao realizar a consulta se for retornado a Rejeição: Nota não consta na base de dados, isso significa que o erro ocorreu no envio, neste caso devemos enviar novamente a nota.

5. Se o erro ocorreu no retorno, ao realizar a consulta com o componente ainda carregado com os dados da nota, o componente automaticamente ira anexar o protocolo ao XML que esta assinado e será salvo em disco.

Espero ter ajudado.

  • Curtir 2
  • Obrigado 1
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

  • 3 meses depois ...
Postado

Alguém consegue baixar o xml do portal nacional usando recursos do componente Acbr?

Usei ACBrNFe1.Download, mas dá a  mensagem que esse serviço está paralisado por tempo indeterminado.

 

  • Moderadores
Postado
Em 10/24/2017 at 14:00, aloisiofs disse:

Alguém consegue baixar o xml do portal nacional usando recursos do componente Acbr?

Usei ACBrNFe1.Download, mas dá a  mensagem que esse serviço está paralisado por tempo indeterminado.

 

Provável estar parado mesmo. 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Moderadores
Postado
Em 24/10/2017 at 12:00, aloisiofs disse:

Usei ACBrNFe1.Download, mas dá a  mensagem que esse serviço está paralisado por tempo indeterminado.

Esse serviço foi descontinuado.

Pesquise no fórum por DistribuicaoDFe.

E leia a NT 2014.002 v1.02b.

http://www.nfe.fazenda.gov.br/POrtal/exibirArquivo.aspx?conteudo=s/plBMpQotg=

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • 5 meses depois ...
Postado

Bom dia, existe esse site que podemos fazer a consulta e o download do XML das NFe e NFCe:

https://www.sefaz.rs.gov.br/SSL_Client/NFE-CER-CON.aspx

É necessário o certificado do emissor para acessar.

  • 1 ano depois...
  • Moderadores
Postado
Em 07/05/2019 at 18:07, rodrigo_sanmac disse:

Só que por esse link, as notas de Pernambuco dá que não existe. Já consultando pelo portal nacional mostra a nota normalmente. Alguém já pegou isso?

mais de um ano do último post. sugiro criar um tópico novo. estou fechando esse

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Este tópico foi criado há 2032 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.