Consulta de Nota Fiscal Eletrônica

Pessoal, é o seguinte.

Temos um sistema que pega as informações da NFe da receita. Só que ele não depende de certificados digitais… Eu utilizo HttpClient da Apache pra pegar as páginas. Até aí tudo bem… Consigo pegar os htmls. O problema está em parsear os malditos… Não é simplesmente usar uma API de XML ou HTML ou algum parser que existe pronto (tipo o Bison), porque o HTML vem TODO desformatado.

Depois de longas horas examinando uns HTMLs muito ruins de ler, encontrei um pequeno padrão. Depois disso, com auxílio da lib HttpParser, eu consegui separar as coisas que eu realmente preciso. O problema é que ainda assim está extremamente complexo de dar manutenção, porque é um algoritmo que é muito ruim de acompanhar (pense numa nota com 20 itens, pegando cada propriedade dele… é muito extenso). Sem contar que alguns dados vem com as propriedades diferentes… Por exemplo… Na seção de produtos, as vezes o título da base de cálculo vem assim:

E as vezes vem assim:

São ambos a mesma coisa no site. Esse último geralmente aparece quando tem ICMS ST junto, mas existem VÁRIAS regras pra isso… Que eu fui descobrindo só testando o algoritmo em cima dos htmls. Dá pra ver que é MUITO… ‘volátil’, digamos assim (uma hora tá de um jeito, outra hora tá de outro). Isso geralmente acontece na seção de produtos, que é totalmente bagunçada… Várias notas dão certo, mas peguei umas chaves de acesso que estou me batendo pra descobrir a maneira de arrumar.

E o ‘parseamento’ foi feito dessa forma… Pega uma chave, testa, compara e gera um arquivo dizendo as propriedades do mesmo (pros testes automatizados). Vocês podem até dizer “aaah, mas é muito fácil… já tem uns testes automatizados, qual a dificuldade disso?”. Certo. O problema é que depois de algum tempo a nota sai do site… E aí vários testes quebram.

Bom… está MUITO custoso dar manutenção pra ele… Eu tenho que debugar com muita cautela pra verificar cada campo, se eles ‘pularam’ alguma coisa ou algo do gênero. Eu seeeeeeeeeeeei que posso usar o certificado pra consumir o WS do governo, mas quero procurar outras alternativas, pra não precisar gastar a graninha do certificado.

Vocês saberiam me dizer se existe algo mais simples a se fazer? Algum WS que faz isso ou coisa do tipo? Ou melhor, alguma coisa free que faça isso?

Pô, mas aí você tá de sacanagem… é óbvio que vai quebrar, sites HTML não são feitos para serem consumidos por aplicações, mas sim, pra serem vistos por seres humanos. E um ser humano sabe muito bem que “base de cálculo” é igual a “base de cálculo do ICMS” (e coisas assim).

Se você precisa TANTO assim usar esse sistema, e está custoso pra dar manutenção, será que a grana do certificado não compensa??

[]´s

Existem poréns. Pelo que entendi você ou sua empresa pretendem vender um serviço, e para adquirir o certificado a empresa tem que ser emissora de NFe coisa que você não vai fazer pois você não ta interessado em Emitir NF-e. Até quando trabalhei com projeto nfe não existia certificados para software houses.

[quote=asaudate]Pô, mas aí você tá de sacanagem… é óbvio que vai quebrar, sites HTML não são feitos para serem consumidos por aplicações, mas sim, pra serem vistos por seres humanos. E um ser humano sabe muito bem que “base de cálculo” é igual a “base de cálculo do ICMS” (e coisas assim).

Se você precisa TANTO assim usar esse sistema, e está custoso pra dar manutenção, será que a grana do certificado não compensa??

[]´s[/quote]
Pois é… acho que vou ter que optar pelo certificado mesmo.

Valeu pelas respostas, pessoal.

kara vc ta tentando recuperar a nota direto do site da receita utilizando somente a chave da NFe ?

se sim, vc teve algum sucesso a mais, como vc fez, tambem estou tentando fazer isto.

UP UP…
e ai amigo, você conseguiu fazer isso?
estou com o mesmo problema preciso pegar essas informações do site da receita…
como você conseguiu fazer isso?

Pessoal, tem um tópico específico sobre NFe, com mais de 800 participações,
comecem por lá.

Esse sistema foi tão bem construído, com xml e schemas que são fáceis de
fazer marshalling e un usando JAXB, tudo validado e assinado.

E vocês querem garimpar as notas em HTMLs??? kkkkkk

Tão de brincadeira, isso é trabalhar na contramão da história.

Vão no google e digitem:

“Nfe Certificados para teste”

Vão encontrar formas de solicitar certificados para serem usados em testes de software houses.