Skip to content

Instantly share code, notes, and snippets.

@jrdalpra
Forked from rponte/Nf-e.md
Last active August 29, 2015 14:07
Show Gist options
  • Save jrdalpra/d6224b0d1214d1f01352 to your computer and use it in GitHub Desktop.
Save jrdalpra/d6224b0d1214d1f01352 to your computer and use it in GitHub Desktop.

Primeira coisa a se fazer é baixar o Manual do Contribuinte, leia de ponta a ponta!

Baixa os esquemas XML e usando alguma ferramenta gere as classes java a partir dele, eu fiz usando o JAXB, atualmente o jaxb ja vem junto com o java, nas pasta bin tem um executavel chamado XJC, este carinha pega os .xsd e te gera todas as classes da NFe.

Agora é implementar o app, basicamente seria o seguinte:

  1. Usuario insere os dados, onde tu vai preenchendo o objeto TNFe, considerando o que é obrigatorio e tals(leia o manual, e o tenha sempre ao lado);
  2. Tu pega o TNFe preenchido e faz o marshaller dele, transformando ele em XML;
  3. Assina o XML com o certificado digital do cliente, aqui é onde varias pessoas encontram dificuldades, aqui no GUJ tem umas 3 ou 4 thread sobre NFe, com varias paginas e varios exemplos de assinatura e certificado digital;
  4. Assina a conexao, acho que nao é bem assinar a conexao, mas a conexao tera que ser aberta em https, e o certificado digital do cliente vai ter que ser setado nela. Novamente tem os exemplos nas threads aqui do GUJ.
  5. Envia a NFe pelos webservices especificos, claro antes tu tem que ter criado os webservices usando Axis, CXF ou JAX-WS.
  6. Pega o retorno do webservice(um XML) e faz o unmarshaller dele tranformando ele em um objeto, verifique o resultado.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment