Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 2271 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.tefip.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!

 

 

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

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á 2271 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...