Boa tarde,
Nas duas empresas em que trabalhei, na anterior e na atual, a mentalidade é a mesma seguida por vocês, ou seja, se o cliente quer a gente passa por cima de leis ou seja lá o que for, simplesmente pra satisfazer um cliente apenas e este recurso do download do XML foi um pelo qual briguei bastante aqui, chegamos a utilizar o download antigo através do parse do html (gambiarra dos diacho), e confesso que dava um trabalho desgraçado pra ficar monitorando e uma correria pra refazer quando parava de funcionar, mas enfim, isso não importa, o que eu quero dizer é que vc deve sim fornecer ferramentas adequandas para suprir a necessidade dos seu clientes porém, tem que saber definir o que realmente o cliente quer e se isto agrega valor ao seu sistema e trabalhar numa forma que satisfaça os dois requisitos, o do seu cliente e o do seu sistema.
A seguir vou lhes fornecer algumas dicas de como fazer um implementação que vai agradar seu cliente sem no entanto criar "curvas" no seu sistema utilizando a maneira correta. Mas não sem antes discorrer sobre as dificuldades e beneficios de um ou de outro, deste modo vocês compreendem o por que de não ser implementado a maneira sugerida por alguns acima dentro do proprio acbr.
1º (Incorreto)- para fazer o download através da maneira que vcs estão propondo, acessar o site da receita e fazer o download, vocês terão que ter em mãos a chave de acesso cuja deve ser informada pelo fornecedor, você terá que implementar um sistema para acessar o site utilizando a chave, terá que decodificar o captcha ou informa-lo(se decodifica-lo já está errado pois o captcha já é obrigatorio informar para impedir o acesso mecanico a estas informações) e então fazer o parse de todo o html e encontrar as informações que você precisa e por fim montar o XMl. Viram quanto trabalho, e acredite, no final de 1 ano terá dado pelo menos outro tanto de trabalho só para manter funcionando.
2º (correto) - Este é o modo correto, possui web services e já esta disponivel a muito tempo no acbr, ou seja, utilizando a consulta de NF-e destinadas, manifestação e download através do web service.
- primeiro passo é efetuar uma consulta das NF-e destinadas ao seu cliente, esta consulta irá retornar as notas que foram emitidas para o cnpj da empresa retornando um xml contendo-as (estou anexando um xml do retorno da consulta): ex:
<ret>
<resNFe NSU="121466964">
<chNFe>22130633009911006501550110002838071374095400</chNFe>
<CNPJ>33009911006501</CNPJ>
<xNome>SOUZA CRUZ S.A</xNome>
<IE>194016315</IE>
<dEmi>2013-06-25</dEmi>
<tpNF>1</tpNF>
<vNF>481.82</vNF>
<digVal>zK2lnlmFXlu27pNT8Y9MBgdZaQ8=</digVal>
<dhRecbto>2013-06-25T09:11:19</dhRecbto>
<cSitNFe>1</cSitNFe>
<cSitConf>1</cSitConf>
</resNFe>
</ret>
<ret>
Notem que tem todas as informações necessárias pra identificar a nf-e emitida, com os dados em mãos você apresenta-as em um grid.
2º passo é disponibilizar uma maneira facil e eficiente do seu cliente efetuar a manifestação e a melhor forma é na mesma tela onde você apresentou as notas já disponibilizar um botão para cada uma das operações de manifestação disponivel (ver figura em anexo).
3 º passo e ultimo, disponibilizar um botão onde o cliente pode selecionar a NF-e no grid e efetuar o download do mesmo (ver figura em anexo).
Em anexo estou enviando um XML com download de várias NF-e's e um print da tela que desenvolvi para o cliente efetuar estas operações em pouquissimos segundos.
Se precisarem de alguma dica estou a disposição.
Espero que tenha sido de alguma ajuda.
20130710090336-nfe-dest.rar