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:
- 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);
- Tu pega o TNFe preenchido e faz o marshaller dele, transformando ele em XML;
- 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;
- Assina a conexao, acho que nao é bem assinar a conexao, mas a conexao tera que ser aberta em